text:
Crash when opening Realm

How frequently does the bug occur?
Sometimes
Description
We have a crash in live app when access to Realm Database in this function:
private func getDatabase() -> Realm? {
        return queue.sync {
            do {
                fixRealmBackgroundCrash(config: appConf)
                let db = try Realm(configuration: appConf)

                return db
            } catch {
                logError(err: error)

                let databaseConfiguration = Realm.Configuration(
                    schemaVersion: DatabaseManager.currentSchemaVersion,
                    migrationBlock: DatabaseManager.migrationBlock
                )
                fixRealmBackgroundCrash(config: databaseConfiguration)
                let db = try? Realm(configuration: databaseConfiguration)

                return db
            }
        }
    }

func fixRealmBackgroundCrash(config: Realm.Configuration) {
        // Source: https://github.com/realm/realm-cocoa/issues/7112#issuecomment-778218878
        let folderPath = config.fileURL!.deletingLastPathComponent().path
        do {
            let attributes = try FileManager.default.attributesOfItem(atPath: folderPath)
            let protectionType = attributes[.protectionKey] as? FileProtectionType
            if protectionType != .some(FileProtectionType.none) {
                try FileManager.default.setAttributes([.protectionKey: FileProtectionType.none], ofItemAtPath: folderPath)
            }
        } catch {
            log("Unable to set protection attributes for realm folder: \(error)")
        }
    }

Stacktrace & log output
Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib        	0x00000001bb916bbc __pthread_kill + 8
1   libsystem_pthread.dylib       	0x00000001dc3a4854 pthread_kill + 208 (pthread.c:1668)
2   libsystem_c.dylib             	0x000000018b7820b0 __abort + 124 (abort.c:155)
3   libsystem_c.dylib             	0x000000018b72d6b8 abort + 136 (abort.c:126)
4   Realm                         	0x0000000106bf3604 please_report_this_issue_in_github_realm_realm_core + 12
5   Realm                         	0x0000000106bf3904 realm::util::terminate_internal(std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) + 328
6   Realm                         	0x0000000106bf3c68 realm::util::terminate_with_info(char const*, char const*, long, char const*, std::initializer_list<realm::util::Printable>&&) + 388
7   Realm                         	0x0000000106ae0aa0 void realm::util::terminate_with_info<unsigned long&, unsigned long&>(char const*, int, char const*, char const*, unsigned long&, unsigned long&) + 68
8   Realm                         	0x0000000106bd7c30 realm::util::EncryptedFileMapping::read_barrier(void const*, unsigned long, unsigned long (*)(char const*)) + 508
9   Realm                         	0x0000000106936634 realm::util::do_encryption_read_barrier(void const*, unsigned long, unsigned long (*)(char const*), realm::util::EncryptedFileMapping*) + 84 (file_mapper.hpp:132)
10  Realm                         	0x0000000106a96898 realm::Cluster::init(realm::MemRef) + 332
11  Realm                         	0x0000000106aa5530 realm::ClusterTree::create_root_from_parent(realm::ArrayParent*, unsigned long) + 508
12  Realm                         	0x0000000106aa5884 realm::ClusterTree::init_from_parent() + 36
13  Realm                         	0x0000000106babdcc realm::Table::init(unsigned long, realm::ArrayParent*, unsigned long, bool, bool) + 204
14  Realm                         	0x0000000106accd80 realm::Group::create_table_accessor(unsigned long) + 804
15  Realm                         	0x0000000106acca00 realm::Group::do_get_table(unsigned long) + 96
16  Realm                         	0x0000000106cdfa70 realm::ObjectSchema::ObjectSchema(realm::Group const&, realm::StringData, realm::TableKey) + 284
17  Realm                         	0x0000000106ce865c realm::ObjectStore::schema_from_group(realm::Group const&) + 120
18  Realm                         	0x0000000106d449c8 realm::Realm::read_schema_from_group_if_needed() + 132
19  Realm                         	0x0000000106d446d4 realm::Realm::Realm(realm::Realm::Config, realm::util::Optional<realm::VersionID>, std::__1::shared_ptr<realm::_impl::RealmCoordinator>, realm::Realm::MakeSharedTag) + 424
20  Realm                         	0x0000000106cb5fec realm::Realm::make_shared_realm(realm::Realm::Config, realm::util::Optional<realm::VersionID>, std::__1::shared_ptr<realm::_impl::RealmCoordinator>) + 180
21  Realm                         	0x0000000106cb5178 realm::_impl::RealmCoordinator::do_get_realm(realm::Realm::Config, std::__1::shared_ptr<realm::Realm>&, realm::util::Optional<realm::VersionID>, realm::util::CheckedUniqueLock&) + 436
22  Realm                         	0x0000000106cb4e30 realm::_impl::RealmCoordinator::get_realm(realm::Realm::Config, realm::util::Optional<realm::VersionID>) + 400
23  Realm                         	0x0000000106d455ec realm::Realm::get_shared_realm(realm::Realm::Config) + 120
24  Realm                         	0x0000000106a4646c +[RLMRealm realmWithConfiguration:queue:error:] + 1152 (RLMRealm.mm:496)
25  RealmSwift                    	0x00000001062f6d24 $sSo8RLMRealmC13configuration5queueABSo0A13ConfigurationC_So012OS_dispatch_C0CSgtKcfCTOTf4ggn_n + 40 (<compiler-generated>:0)
26  RealmSwift                    	0x00000001062f6d24 $sSo8RLMRealmC13configuration5queueABSo0A13ConfigurationC_So012OS_dispatch_C0CSgtKcfCTO + 40 (<compiler-generated>:0)
27  RealmSwift                    	0x00000001062f6d24 Realm.init(configuration:queue:) + 92 (Realm.swift:92)
28  IT                            	0x000000010321a4d0 closure #1 in DatabaseManager.getDatabase() + 524
...
31  libswiftDispatch.dylib        	0x000000019960283c partial apply for thunk for @callee_guaranteed () -> (@out A, @error @owned Error) + 20 (<compiler-generated>:0)
32  libswiftDispatch.dylib        	0x0000000199602854 thunk for @callee_guaranteed () -> (@out A, @error @owned Error)partial apply + 12
33  libswiftDispatch.dylib        	0x00000001996039ac closure #1 in closure #1 in OS_dispatch_queue._syncHelper<A>(fn:execute:rescue:) + 120 (Queue.swift:319)
34  libswiftDispatch.dylib        	0x0000000199603a74 partial apply for thunk for @callee_guaranteed () -> () + 20 (<compiler-generated>:0)
35  libswiftDispatch.dylib        	0x0000000199603478 thunk for @escaping @callee_guaranteed () -> () + 20 (<compiler-generated>:0)
36  libdispatch.dylib             	0x0000000180d04094 _dispatch_client_callout + 16 (object.m:560)
37  libdispatch.dylib             	0x0000000180cb1964 _dispatch_lane_barrier_sync_invoke_and_complete + 52 (queue.c:1028)
38  libswiftDispatch.dylib        	0x0000000199602e18 implicit closure #2 in implicit closure #1 in OS_dispatch_queue.sync<A>(execute:) + 152
39  libswiftDispatch.dylib        	0x00000001996020ac partial apply for implicit closure #2 in implicit closure #1 in OS_dispatch_queue.sync<A>(execute:) + 40 (<compiler-generated>:0)
40  libswiftDispatch.dylib        	0x0000000199602bb0 OS_dispatch_queue._syncHelper<A>(fn:execute:rescue:) + 256 (Queue.swift:317)
41  libswiftDispatch.dylib        	0x0000000199602140 OS_dispatch_queue.sync<A>(execute:) + 140 (Queue.swift:369)
....
50  libdispatch.dylib             	0x0000000180d04094 _dispatch_client_callout + 16 (object.m:560)
51  libdispatch.dylib             	0x0000000180ca5acc _dispatch_once_callout + 28 (once.c:52)
...
57  UIKitCore                     	0x00000001835f35d0 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 336 (UIApplication.m:2334)
58  UIKitCore                     	0x00000001837c7da4 -[UIApplication _callInitializationDelegatesWithActions:forCanvas:payload:fromOriginatingProcess:] + 3508 (UIApplication.m:2754)
59  UIKitCore                     	0x00000001837b14c8 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1176 (UIApplication.m:4491)
60  UIKitCore                     	0x000000018361f2e0 -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] + 148 (_UISceneLifecycleMultiplexer.m:450)
61  UIKitCore                     	0x0000000183486004 _UIScenePerformActionsWithLifecycleActionMask + 96 (_UISceneLifecycleState.m:109)
62  UIKitCore                     	0x00000001835a8a38 __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke + 188 (_UISceneLifecycleMultiplexer.m:563)
63  UIKitCore                     	0x00000001836be094 -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 368 (_UISceneLifecycleMultiplexer.m:515)
64  UIKitCore                     	0x00000001838e6440 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 744 (_UISceneLifecycleMultiplexer.m:562)
65  UIKitCore                     	0x0000000183876180 -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 336 (_UISceneLifecycleMultiplexer.m:468)
66  UIKitCore                     	0x0000000183486d50 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block... + 188 (_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction.m:73)
67  UIKitCore                     	0x0000000183542940 +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:actions:completion:] + 812 (BSAnimationSettings+UIKit.m:50)
68  UIKitCore                     	0x0000000183488ae0 _UISceneSettingsDiffActionPerformChangesWithTransitionContext + 248 (_UISceneSettingsDiffAction.m:23)
69  UIKitCore                     	0x000000018356d190 -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 356 (_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction.m:58)
70  UIKitCore                     	0x00000001839c2f44 __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.578 + 772 (UIScene.m:1825)
71  UIKitCore                     	0x00000001834b6788 -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 248 (UIScene.m:1526)
72  UIKitCore                     	0x00000001834f8528 -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 264 (UIScene.m:1792)
73  UIKitCore                     	0x0000000183623d48 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 560 (UIApplication.m:3955)
74  UIKitCore                     	0x000000018356b5ac -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 360 (UIApplicationSceneClientAgent.m:45)
75  FrontBoardServices            	0x00000001921c3c50 -[FBSScene _callOutQueue_agent_didCreateWithTransitionContext:completion:] + 412 (FBSScene.m:439)
76  FrontBoardServices            	0x00000001921e5f98 __94-[FBSWorkspaceScenesClient createWithSceneID:groupID:parameters:transitionContext:completion:]_block_invoke.180 + 100 (FBSWorkspaceScenesClient.m:384)
77  FrontBoardServices            	0x00000001921a6bdc -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 232 (FBSWorkspace.m:352)
78  FrontBoardServices            	0x00000001921a7fd4 __94-[FBSWorkspaceScenesClient createWithSceneID:groupID:parameters:transitionContext:completion:]_block_invoke + 312 (FBSWorkspaceScenesClient.m:383)
79  libdispatch.dylib             	0x0000000180d04094 _dispatch_client_callout + 16 (object.m:560)
80  libdispatch.dylib             	0x0000000180ca7150 _dispatch_block_invoke_direct$VARIANT$mp + 220 (queue.c:501)
81  FrontBoardServices            	0x00000001921a82ac __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 40 (FBSSerialQueue.m:157)
82  FrontBoardServices            	0x00000001921a77c0 -[FBSSerialQueue _targetQueue_performNextIfPossible] + 176 (FBSSerialQueue.m:181)
83  FrontBoardServices            	0x00000001921ab960 -[FBSSerialQueue _performNextFromRunLoopSource] + 24 (FBSSerialQueue.m:194)
84  CoreFoundation                	0x00000001810644fc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 (CFRunLoop.c:1972)
85  CoreFoundation                	0x000000018107462c __CFRunLoopDoSource0 + 204 (CFRunLoop.c:2016)
86  CoreFoundation                	0x0000000180fb6834 __CFRunLoopDoSources0 + 256 (CFRunLoop.c:2053)
87  CoreFoundation                	0x0000000180fbbf08 __CFRunLoopRun + 768 (CFRunLoop.c:2951)
88  CoreFoundation                	0x0000000180fcf250 CFRunLoopRunSpecific + 572 (CFRunLoop.c:3268)
89  GraphicsServices              	0x00000001a1b02988 GSEventRunModal + 160 (GSEvent.c:2200)
90  UIKitCore                     	0x00000001837cfa94 -[UIApplication _run] + 1080 (UIApplication.m:3511)
91  UIKitCore                     	0x0000000183568fd4 UIApplicationMain + 336 (UIApplication.m:5064)
93  dyld                          	0x00000001049b44d0 start + 444 (dyldMain.cpp:879)

Can you reproduce the bug?
Not yet
Reproduction Steps
No response
Version
10.28.0
What SDK flavour are you using?
Local Database only
Are you using encryption?
Yes, using encryption
Platform OS and version(s)
iOS 15.4.1 ~ 15.6.1 - multiple iPhone
Build environment
No response

Hi @mmar001, Are you able to reproduce this issue?, this happens all the time or something that happens randomly?, Do you know if this error started in a specific version of realm. This seems related to this https://github.com/realm/realm-swift/issues/6308, but a fix for this issue was merged a long time ago.
This probably been caused by the file permission not been set to none before trying to open the realm.
I'm a little bit confused by the code below, do you have two realm with different configuration? What is the difference between databaseConfiguration and appConfig

appConfig is the configuration of the encrypted DB, if it cannot be opened than it use databaseConfiguration (not encrypted).
We cannot reproduce this issue it is reported in crashlytics only on live app.

Hello, we are also seeing a lot of similar crashes on our production apps, the stack traces are not always the same, but they all always end up in terminate function. Do you guys have any hint? In our case these crashes started happening when we updated our RealmSwift from version 3.18 to 10.28.0.

Hi @rserentill do you have any stack traces, terminate function is our internal function when there is an undefined behaviour in our side, but this could mean many things which could be related to this issue error or not.

Hi @dianaafanador3! Thank you for your answer, yes I do, I'm pasting some of them here.
We are accessing Realm from different threads, but all Realm instances are always created and accessed from the same thread.
Crashed: com.apple.main-thread
0  libsystem_kernel.dylib         0x7b38 __pthread_kill + 8
1  libsystem_pthread.dylib        0x73bc pthread_kill + 268
2  libsystem_c.dylib              0x20524 abort + 168
3  myapp                          0x9fedd4 realm::util::terminate(char const*, char const*, long, std::initializer_list<realm::util::Printable>&&) + 128 (terminate.cpp:128)
4  myapp                          0x9ff114 realm::util::terminate_internal(std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) + 123 (terminate.cpp:123)
5  myapp                          0x9fee90 realm::util::terminate(char const*, char const*, long, std::initializer_list<realm::util::Printable>&&) + 133 (terminate.cpp:133)
6  myapp                          0x597208 void realm::util::terminate_with_info<char const&, unsigned long&>(char const*, int, char const*, char const*, char const&, unsigned long&) + 51 (terminate.hpp:51)
7  myapp                          0x7378c0 realm::Array::set_as_ref(unsigned long, unsigned long) + 389 (array.cpp:389)
8  myapp                          0x7d6050 realm::Obj& realm::Obj::set<bool>(realm::ColKey, bool, bool) + 159 (node.hpp:159)
9  myapp                          0x53caa4 void (anonymous namespace)::kvoSetValue<bool, bool>(RLMObjectBase*, unsigned long, bool) + 405 (RLMAccessor.mm:405)
10 myapp                          0x33976c closure #1 in IssueDownloadMetadataDatabaseRepositoryRealm.markAsCompleted(_:) + 260 (<compiler-generated>:260)

Crashed: com.apple.NSURLSession-delegate
0  libsystem_kernel.dylib         0x7b38 __pthread_kill + 8
1  libsystem_pthread.dylib        0x73bc pthread_kill + 268
2  libsystem_c.dylib              0x20524 abort + 168
3  myapp                          0x9fedd4 realm::util::terminate(char const*, char const*, long, std::initializer_list<realm::util::Printable>&&) + 128 (terminate.cpp:128)
4  myapp                          0x9ff114 realm::util::terminate_internal(std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) + 123 (terminate.cpp:123)
5  myapp                          0x9fee90 realm::util::terminate(char const*, char const*, long, std::initializer_list<realm::util::Printable>&&) + 133 (terminate.cpp:133)
6  myapp                          0x5bcb50 std::__1::__vector_base<double, std::__1::allocator<double> >::__throw_length_error() const + 396 (vector:396)
7  myapp                          0x7d5a3c realm::Node::calc_item_count(unsigned long, unsigned long) const + 61 (node.cpp:61)
8  myapp                          0x7d5a90 realm::Node::alloc(unsigned long, unsigned long) + 76 (node.cpp:76)
9  myapp                          0x7376ac realm::Array::alloc(unsigned long, unsigned long) + 207 (array.hpp:207)
10 myapp                          0x737b74 realm::Array::insert(unsigned long, long long) + 447 (array.cpp:447)
11 myapp                          0x75a170 void realm::Cluster::do_insert_row<realm::ArrayInteger>(unsigned long, realm::ColKey, realm::Mixed, bool) + 275 (cluster.cpp:275)
12 myapp                          0x759f18 realm::util::FunctionRef<bool (realm::ColKey)>::FunctionRef<realm::Cluster::insert_row(unsigned long, realm::ObjKey, realm::FieldValues const&)::$_1&>(realm::Cluster::insert_row(unsigned long, realm::ObjKey, realm::FieldValues const&)::$_1&)::'lambda'(void*, realm::ColKey)::__invoke(void*, realm::ColKey) + 386 (cluster.cpp:386)
13 myapp                          0x9cb26c realm::TableClusterTree::for_each_and_every_column(realm::util::FunctionRef<bool (realm::ColKey)>) const + 68 (table.hpp:68)
14 myapp                          0x755044 realm::Cluster::insert_row(unsigned long, realm::ObjKey, realm::FieldValues const&) + 440 (cluster.cpp:440)
15 myapp                          0x756ce0 realm::Cluster::insert(realm::ObjKey, realm::FieldValues const&, realm::ClusterNode::State&) + 703 (cluster.cpp:703)
16 myapp                          0x765a18 realm::ClusterTree::insert_fast(realm::ObjKey, realm::FieldValues const&, realm::ClusterNode::State&) + 882 (cluster_tree.cpp:882)
17 myapp                          0x765b8c realm::ClusterTree::insert(realm::ObjKey, realm::FieldValues const&) + 900 (cluster_tree.cpp:900)
18 myapp                          0x9cae14 realm::TableClusterTree::insert(realm::ObjKey, realm::FieldValues const&) + 47 (table_cluster_tree.cpp:47)
19 myapp                          0x9bf8a8 realm::Table::create_object_with_primary_key(realm::Mixed const&, realm::FieldValues&&, realm::Table::UpdateMode, bool*) + 3067 (table.cpp:3067)
20 myapp                          0x54b95c realm::Table::create_object_with_primary_key(realm::Mixed const&, bool*) + 485 (vector:485)
21 myapp                          0x540dd4 realm::Object realm::Object::create<objc_object* __strong, RLMAccessorContext>(RLMAccessorContext&, std::__1::shared_ptr<realm::Realm> const&, realm::ObjectSchema const&, objc_object* __strong, realm::CreatePolicy, realm::ObjKey, realm::Obj*) + 305 (object_accessor.hpp:305)
22 myapp                          0x540774 RLMAccessorContext::createObject(objc_object*, realm::CreatePolicy, bool, realm::ObjKey) + 1102 (RLMAccessor.mm:1102)
23 myapp                          0x595d5c RLMAddObjectToRealm + 120 (RLMObjectStore.mm:120)
24 myapp                          0x33651c closure #1 in IssueDatabaseRepositoryRealm.createOrUpdate(_:) + 61 (IssueDatabaseRepositoryRealm.swift:61)
25 myapp                          0x340f58 thunk for @callee_guaranteed () -> (@error @owned Error) + 20 (<compiler-generated>:20)
26 myapp                          0x3388a4 partial apply for thunk for @callee_guaranteed () -> (@error @owned Error) + 16 (<compiler-generated>:16)
27 myapp                          0x6facc8 Realm.write<A>(withoutNotifying:_:) + 258 (Realm.swift:258)
28 myapp                          0x335c40 IssueDatabaseRepositoryRealm.createOrUpdate(_:) + 552 (<compiler-generated>:552)

Crashed: com.apple.NSURLSession-delegate
0  libsystem_kernel.dylib         0x7b38 __pthread_kill + 8
1  libsystem_pthread.dylib        0x73bc pthread_kill + 268
2  libsystem_c.dylib              0x20524 abort + 168
3  myapp                          0x7b0ab4 realm::util::terminate(char const*, char const*, long, std::initializer_list<realm::util::Printable>&&) + 128 (terminate.cpp:128)
4  myapp                          0x7b0df4 realm::util::terminate_internal(std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) + 123 (terminate.cpp:123)
5  myapp                          0x7b0b70 realm::util::terminate(char const*, char const*, long, std::initializer_list<realm::util::Printable>&&) + 133 (terminate.cpp:133)
6  myapp                          0x5911d0 realm::StringData realm::Obj::_get<realm::StringData>(realm::ColKey::Idx) const + 156 (array_string_short.hpp:156)
7  myapp                          0x5926b0 realm::Obj::get_any(realm::ColKey) const + 395 (mixed.hpp:395)
8  myapp                          0x550d88 long long realm::IndexArray::index_string<(realm::IndexMethod)0>(realm::Mixed, realm::InternalFindResult&, realm::ClusterColumn const&) const + 215 (mixed.hpp:215)
9  myapp                          0x5507d4 realm::IndexArray::index_string_find_first(realm::Mixed, realm::ClusterColumn const&) const + 585 (index_string.cpp:585)
10 myapp                          0x76f400 realm::ObjKey realm::Table::find_first<realm::StringData>(realm::ColKey, realm::StringData) const + 464 (index_string.hpp:464)
11 myapp                          0x6d6340 realm::StringNode<realm::Equal>::_search_index_init() + 346 (query_engine.cpp:346)
12 myapp                          0x6a8c04 realm::Query::init() const + 459 (vector:459)
13 myapp                          0x6a8c8c realm::Query::do_find_all(realm::TableView&, unsigned long) const + 680 (vector:680)
14 myapp                          0x782c0c realm::TableView::do_sync() + 603 (table_view.cpp:603)
15 myapp                          0x6a8f80 realm::Query::find_all(unsigned long) + 1528 (query.cpp:1528)
16 myapp                          0x5f5338 realm::Results::ensure_up_to_date(realm::Results::EvaluateMode) + 275 (results.cpp:275)
17 myapp                          0x5f4d50 realm::util::Optional<realm::Obj> realm::Results::try_get<realm::Obj>(unsigned long) + 368 (results.cpp:368)
18 myapp                          0x5f5058 realm::util::Optional<realm::Obj> realm::Results::first<realm::Obj>() + 139 (__mutex_base:139)
19 myapp                          0x423a3c RLMAccessorContext realm::Results::dispatch<auto realm::Results::first<RLMAccessorContext>(RLMAccessorContext&)::'lambda'(RLMAccessorContext&)>(RLMAccessorContext&) const + 404 (optional.hpp:404)
20 myapp                          0x42388c auto realm::Results::first<RLMAccessorContext>(RLMAccessorContext&) + 420 (results.hpp:420)
21 myapp                          0x421668 -[RLMResults firstObject] + 248 (RLMResults.mm:248)
22 myapp                          0x47c7cc RealmCollectionImpl.first.getter + 72
23 myapp                          0x47fa74 protocol witness for RealmCollection.first.getter in conformance Results<A> + 80 (<compiler-generated>:80)
24 myapp                          0x81b69c IssueDatabaseRepositoryRealm.createOrUpdate(_:) + 27 (IssueDatabaseRepositoryRealm.swift:27)

Crashed: com.apple.main-thread
0  libsystem_kernel.dylib         0x7b38 __pthread_kill + 8
1  libsystem_pthread.dylib        0x73bc pthread_kill + 268
2  libsystem_c.dylib              0x20524 abort + 168
3  myapp                          0x9fedd4 realm::util::terminate(char const*, char const*, long, std::initializer_list<realm::util::Printable>&&) + 128 (terminate.cpp:128)
4  myapp                          0x9ff114 realm::util::terminate_internal(std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) + 123 (terminate.cpp:123)
5  myapp                          0x9fee90 realm::util::terminate(char const*, char const*, long, std::initializer_list<realm::util::Printable>&&) + 133 (terminate.cpp:133)
6  myapp                          0x76dea8 realm::DB::do_end_write() + 2291 (db.cpp:2291)
7  myapp                          0x77026c realm::Transaction::rollback() + 2790 (db.cpp:2790)
8  myapp                          0x76cd18 realm::Transaction::close() + 2693 (db.cpp:2693)
9  myapp                          0x777c00 std::__1::__shared_ptr_pointer<realm::Transaction*, (anonymous namespace)::$_8, std::__1::allocator<realm::Transaction> >::__on_zero_shared() + 393 (db.cpp:393)
10 myapp                          0x54f3c8 std::__1::shared_ptr<realm::app::App>::~shared_ptr() + 220 (shared_ptr.h:220)
11 myapp                          0x887238 realm::Realm::~Realm() + 104 (shared_realm.cpp:104)
12 myapp                          0x54f3c8 std::__1::shared_ptr<realm::app::App>::~shared_ptr() + 220 (shared_ptr.h:220)
13 libobjc.A.dylib                0x8380 object_cxxDestructFromClass(objc_object*, objc_class*) + 116
14 libobjc.A.dylib                0x51b4 objc_destructInstance + 80
15 libobjc.A.dylib                0xea00 _objc_rootDealloc + 80
16 myapp                          0x65ebe4 -[RLMRealm dealloc] + 941 (RLMRealm.mm:941)
17 libobjc.A.dylib                0x7b14 AutoreleasePoolPage::releaseUntil(objc_object**) + 196
18 libobjc.A.dylib                0x3e54 objc_autoreleasePoolPop + 212
19 CoreFoundation                 0x13dd4 _CFAutoreleasePoolPop + 32
20 CoreFoundation                 0xcaf4 __CFRunLoopPerCalloutARPEnd + 48
21 CoreFoundation                 0xb748 __CFRunLoopRun + 2600
22 CoreFoundation                 0x1ebc8 CFRunLoopRunSpecific + 600
23 GraphicsServices               0x1374 GSEventRunModal + 164
24 UIKitCore                      0x514b58 -[UIApplication _run] + 1100
25 UIKitCore                      0x296098 UIApplicationMain + 364
26 myapp                          0x7418 main + 164 (<compiler-generated>:164)
27 ???                            0x107d61da4 (Missing)

Crashed: com.apple.main-thread
0  libsystem_kernel.dylib         0x6bbc __pthread_kill + 8
1  libsystem_pthread.dylib        0xd854 pthread_kill + 208
2  libsystem_c.dylib              0x1f6ac abort + 124
3  myapp                          0x7b0ab4 realm::util::terminate(char const*, char const*, long, std::initializer_list<realm::util::Printable>&&) + 128 (terminate.cpp:128)
4  myapp                          0x7b0df4 realm::util::terminate_internal(std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) + 123 (terminate.cpp:123)
5  myapp                          0x7b0b70 realm::util::terminate(char const*, char const*, long, std::initializer_list<realm::util::Printable>&&) + 133 (terminate.cpp:133)
6  myapp                          0x4f35e8 realm::Array::get(char const*, unsigned long) + 1355 (array.cpp:1355)
7  myapp                          0x6d59e4 realm::ParentNode::aggregate_local(realm::QueryStateBase*, unsigned long, unsigned long, unsigned long, realm::ArrayPayload*) + 119 (query_engine.cpp:119)
8  myapp                          0x6a67f4 realm::Query::aggregate_internal(realm::ParentNode*, realm::QueryStateBase*, unsigned long, unsigned long, realm::ArrayPayload*) const + 1041 (query.cpp:1041)
9  myapp                          0x6ac3f8 realm::util::FunctionRef<bool (realm::Cluster const*)>::FunctionRef<realm::Query::do_count(unsigned long) const::$_4&>(realm::Query::do_count(unsigned long) const::$_4&)::'lambda'(void*, realm::Cluster const*)::__invoke(void*, realm::Cluster const*) + 1596 (query.cpp:1596)
10 myapp                          0x51d830 realm::ClusterNodeInner::traverse(realm::util::FunctionRef<bool (realm::Cluster const*)>, long long) const + 416 (cluster_tree.cpp:416)
11 myapp                          0x51ee30 realm::ClusterTree::traverse(realm::util::FunctionRef<bool (realm::Cluster const*)>) const + 1002 (cluster_tree.cpp:1002)
12 myapp                          0x6a91b8 realm::Query::do_count(unsigned long) const + 93 (query_state.hpp:93)
13 myapp                          0x6a942c realm::Query::count(realm::DescriptorOrdering const&) + 1664 (query.cpp:1664)
14 myapp                          0x5fc010 realm::Results::size() + 136 (results.cpp:136)
15 myapp                          0x42101c -[RLMResults count] + 148 (RLMResults.mm:148)
16 myapp                          0x47c6c0 RealmCollectionImpl.count.getter + 37 (RealmCollectionImpl.swift:37)
17 myapp                          0x81fea8 IssueDownloadMetadataDatabaseRepositoryRealm.countPendingDownloads(_:) + 114 (IssueDownloadMetadataDatabaseRepositoryRealm.swift:114)

@rserentill can you open a new issue, the stack traces indicates that the errors are different from the one in this issue.
It does seem like this errors may be cause for different reasons. Fill out the form so we can take a closer look into this.

Can you potentially provide the realm file from an affected user? This issue looks so well known to me, it would be great to see if the file is corrupted in similar ways than mine were.

No unfortunately it happens only in live app :(

@mmar001 Can you pass the queue you are using to the queue parameter when opening the Realm and let us know if that helps?

@mmar001 did the above suggestion yield any success?

Closing this as there is no response from the user.


text:
firstIndex behavior different on List of EmbeddedObjects

How frequently does the bug occur?
Always
Description
We are attempting to find the index of an object in a RealmSwift.List of embedded objects using firstIndex and it's returning nil, whereas the same code works correctly on a RealmSwift.List of non-embedded objects.
Stacktrace & log output
No response
Can you reproduce the bug?
Always
Reproduction Steps
Two illustrate the behavior we are seeing, start with a PersonClass object that contains two lists; a List of embedded CatClassEmbedded objects and a List of DogClass (which are not embedded)
class PersonClass: Object {
    @Persisted var embeddedCatList = RealmSwift.List<CatClassEmbedded>()
    @Persisted var dogList = RealmSwift.List<DogClass>()
}

and then the two classes which are populated with some objects and added to the PersonClass
class CatClassEmbedded: EmbeddedObject {
    @Persisted var catName = ""
}

class DogClass: Object {
    @Persisted var dogName = ""
}

all of the above is written to Realm.
To keep it simple, there's a single person object, a single embedded cat and a single persisted dog. See the comments on each line
let person = realm.objects(PersonClass.self).}.first!  //get the only person

let dogList = person dogList //the list of persons dog objects
let firstDog = dogList[0] //get the first one
let dogIndex = dogList.firstIndex(of: firstDog)  //then find it in the list
print(dogIndex) //outputs index of 0, which is correct

//now lets do the same process for the embedded cat List

let catList = person.embeddedCatList //get the list of embedded cats
let firstCat = catList[0] //and get the first one
let catIndex = catList.firstIndex(of: firstCat) // find it's index
print(catIndex) //outputs nil

 //try a different method

let catIndex2 = catList.firstIndex(where: { $0 == firstCat })
print(catIndex2) //also outputs nil

This crashes
let thisCrashes = catList.where { $0 == firstCat }
These are all false
if firstCat == catList[0]
if firstCat === catList[0]
if firstCat.isEqual(catList[0])

This seems to work and may be a solution
if firstCat.isSameObject(as: catList[0) )
My guess is the overall  is EmbeddedObjects are not equatable?
Version
10.39.1
What Atlas Services are you using?
Local Database only
Are you using encryption?
No
Platform OS and version(s)
macOS 13.4
Build environment
Xcode version:  XCode 14.3.1
Dependency manager and version: CocoaPods 1.12.1 (also tried it with SPM, same thing)

Is there any plan or progress on this?

source: gharchive/issue

repo: realm/realm-swift

license_type: permissive

license_source: github-api


text:
Folding Code Elements

Hello, thank you for this plugin. I have not noticed code folding feature in this plugin, is that hard to implement it?
https://www.jetbrains.com/help/idea/code-folding.html
https://www.jetbrains.org/intellij/sdk/docs/tutorials/custom_language_support/folding_builder.html

Hi,
folding is already implemented for some elements, like module, types.
you should list here the patterns that you are missing and I'll try to implement them.

yes, the code need to be updated

authors: giraud svsool

repo: reasonml-editor/reasonml-idea-plugin

license: mit

license_source: bigquery


text:
Incorrect syntax highlighting on identifiers starting with "let"

The extension incorrectly highlights identifiers starting with "let", such as letter in this screenshot, as if they contained the let keyword.

Highlighting for |> operator also broken when value with let occurs before it:

without letter in function name:

authors: aidan-fitz fotonmoton

repo: reasonml-editor/vscode-reasonml


text:
Update jobs.md

JavaScript Engineer(Full time, 40h/week)
Responsibilities
Build high-quality web applications and electron-based desktop applications;
Keep optimizing code and applications in codebase, performance and user interface;
Build dev-tools/libs for the whole ecosystem of nervos network CKB project and godwoken project;
Minimum Qualifications
Comp. Sci or Comp. Eng degree or demonstrable skill and equivalent experience;
Experienced in Front-end development, familiar with HTML, CSS and TypeScript, have a clear understanding of Web standards(Accessibility, Security);
Have worked on generic front-end scope such as Node.js app, electron app;
Proficient in utilities of front-end, such as scaffold, css pretreats, and template engines;
Prefer React and TypeScript;
Have knowledge of Blockchain and have participated in related products design;
Fluently in English reading and writing.
Preferred Qualifications
Live in open source community;
Have GitHub or Blog

Product/Project Manager(Full time, 40h/week)
Responsibilities
Build and manage robust, scalable and delightful products that are aligned with the company's mission;
Clearly define product goals, value propositions, milestones and success metrics. Document requirements and acceptance criteria to ship the right product;
Use good product thinking and judgment to manage product development and lifecycle, coordinating teams and resources to follow through from conception, development, testing, release management, and promotion;
Own and track product success metrics and manage product feedback loops to drive improvements.
Minimum Qualifications
3+ years of experience working as a product manager in the software development or internet industry;
Strong understanding of product and design thinking methodologies;
Experience managing all aspects of a successful product throughout its lifecycle;
Proven experience in developing product and marketing strategies and effectively communicating recommendations to executive management;
Strong problem solving skills and a high level of accountability;
Passion, knowledge and activity in the blockchain ecosystem;
Hold cryptocurrency assets in a decentralized blockchain and be an active user of DeFi;
Honest, clear-headed, self-driven, a team player and always eager to learn;
Fluent in English reading and writing.
Preferred Qualifications
None
Ruby Engineer(Full time, 40h/week)
Responsibilities
Understanding business requirements and being responsible for product design and development;
Being responsible for the performance optimization of existing products;
Maintaining blockchain related tools;
Collaborate with Ops to deploy and maintain projects.
Minimum Qualifications
Comp. Sci or Comp. Eng degree or demonstrable skill and equivalent experience;
3+ years of practical experience working with Ruby, Ruby on Rails;
Experience with daily database design and development as well as optimization (MySQL, PostgreSQL);
Familiarity with Git/GitHub and RESTful standards;
Familiarity with underlying middleware, distributed technologies (including redis caching, messaging systems, etc.);
Fluently in English reading and writing.
Preferred Qualifications
A proven track record of open source projects or open source community contributions;
Experience with database tuning;
Experience with system performance optimization;
Experience with blockchain product development;
Experience with full-stack development;

Junior Tester(Full time, 40h/week)
Responsibilities
Particiate in product and technical design to bring better products to nervos community;
Test the full application stack using a range of testing approcches from automation to exploratory;
Respond to, and support, issues from community;
Constantly learn and expand knownledge about blockchain and nervos CKB.
Minimum Qualifications
Drive to support continuous improvement in testing practices;
Experienced with system testing, integration testing;
Experienced building or executing test automation across layers of the software stack;
Have knownledge on Blockchain and have particiated in related products;
Fluently in English.
Preferred Qualifications
Live in open source community;
Have GitHub or Blog

Hi @fangqiao1 , could you submit the JD through github issue? Since we have actions to process the new added issues automatically, and the new add issue will be published in our WeChat Official Account and our website.

source: gharchive/pull-request

repo: rebase-network/who-is-hiring


text:
Initial index not working with select(index: Int)

Hello,
After migration to 2.0.1 I realized that starting paging view controller with initial index not working.
Please see the code: https://gist.github.com/rocxteady/a731d40a939e9f8a295326ef12d50984
Thank you.

This is the commit that made the problem occurred: https://github.com/rechsteiner/Parchment/commit/15a8ba95ff70bc86a81ffa4f872101aa38266e79
But I don't know what caused it exactly.

Same problem. We are waiting for the situation to be corrected

Thanks for the report! I’ll try to get this fixed later today

This should be fixed now. I need to do a bit more testing before creating a new release, so you need to target the master for now. Let me know if you find any issues!

Thank you @rechsteiner 🙏

I just tested it with the latest master and it still doesn't seem to work.
pagingViewController.select(index: 3) -> go to index 4
But in viewDidAppear it works fine.

authors: Haeuncs esatgozcu rechsteiner rocxteady

repo: rechsteiner/Parchment


text:
How to setup multiple inboxes?

How do we setup multiple inboxes? or An API to create inbox/users?

Just send emails using another SMTP login (inbox) and password. After that it will be available through API

authors: reclosedev taggy

repo: reclosedev/lathermail


text:
Logo added to README

Closing #86
@Amelie-V requested these changes.
Testing out a little bit ...

I think it's cool now, I'm merging.

repo: recognai/rubrix


text:
Your mum's hairy legs

Are stopping me from climaxing.  Please address this.

This is a non-issue. They are beautiful

authors: TheRealBluesun recursivesmelting

license: MIT


text:
Update to rhods applications networkpolicy for ocp 4.10

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[x] For commits that came from upstream, [UPSTREAM] has been prepended to the commit message
[x] JIRA link(s): https://issues.redhat.com/browse/RHODS-2743
[x] The Jira story is acked
[ ] An entry has been added to the latest build document in Build Announcements Folder.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious)

I've tested this on an OCP 4.10 cluster and with these changes, the installation is successful and functional.

live build image:  quay.io/croberts/rhods-operator-live-catalog:croberts-live-jira-issue

repo: red-hat-data-services/odh-deployer


text:
build: add nameprefix to the controller manager

Signed-off-by: Nitin Goyal nigoyal@redhat.com
https://bugzilla.redhat.com/show_bug.cgi?id=2047173

I suppose you mean the controller-manager service account
If that's the case we may need to write a patch file targeting only this serviceAccount and corresponding roles/roleBindings/deployment as I believe we can't set this via kustomize cli
Needs to be investigated further

This works for the controller-manager deployment and pod. Is there any way to do this for the serviceaccount as well?

We could do that, But eventually, it will bring much more complexity in the kustomize and makefile because of rbacs and all, I would suggest that we just change the name of the service account to something appropriate so that it won't conflict with something else.

/lgtm

authors: iamniting leelavg nbalacha

repo: red-hat-storage/lvm-operator


text:
Add dependabot config

Signed-off-by: Alfonso Martínez almartin@redhat.com

/approve
/lgtm

authors: SanjalKatiyar alfonsomthd

repo: red-hat-storage/mcg-ms-console


text:
Bug 2239802: external: update healthchecker caps for rbd command

when creating networkFence CR, it requires IP's to block which we get from running rbd status ... command. But, the client.healthchecker user didn't had the right caps to run hence it was giving error. Now, adding the required caps profile rbd-read-only to osd so that rbd command can be executed.
(cherry picked from commit c78bd1cbc61b885ae4a2385ec6432b121dd21f1c) (cherry picked from commit 9ac3442847f2c31bb71ff842c1636dcc25687eb5)

Description of your changes:
Which issue is resolved by this Pull Request:
Resolves #
Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide).
[ ] Skip Tests for Docs: If this is only a documentation change, add the label skip-ci on the PR.
[ ] Reviewed the developer guide on Submitting a Pull Request
[ ] Pending release notes updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

@travisn @parth-gr ^^ there was some conflicts in the docs regarding --cluster-name with --k8s-cluster-name.

@travisn @parth-gr ^^ there was some conflicts in the docs regarding --cluster-name with --k8s-cluster-name.

@parth-gr Was that rename also intended to be in 4.14? Or it can wait for 4.15?
@subhamkrai Please also cherry-pick the CI fixes for the disk cleanup action in this PR so we can fix the downstream CI at the same time.

@travisn ready to merge

/approve
/lgtm

authors: subhamkrai travisn

repo: red-hat-storage/rook


text:
Add codecov support.

I've tested codecov on https://github.com/redboltz/codecov_test.
It can't detect inline functions but I think that it is worth to have.

Implemented by #273.


text:
Update Js-sdsl to 4.1.3

Hey！I'm the developer of Js-sdsl.
Now, we published the version 4.1.3.
This version not only supports bidirectional iterators, but also doubles the performance compared to the 2.x version.
I think update it to 4.1.3 is a good choice to improve your package.
Office website: https://js-sdsl.github.io/

Thank you @ZLY201 ! It is a great improvement.
I tried it and got error. See #30.
https://github.com/redboltz/number-allocator/blob/9bcfebf68cc9e15b58627faac1081f4bc111286a/lib/number-allocator.js#L99-L103
This is the first trial to use iterator.
I compared the return value of lowerBound() to this.ss.end()
Then got the following error:
https://github.com/redboltz/number-allocator/runs/8057549850?check_suite_focus=true#step:5:19
/home/runner/work/number-allocator/number-allocator/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/TreeIterator.js:42
            throw new TypeError(`Obj's constructor is not ${this.constructor.name}!`);
            ^

TypeError: Obj's constructor is not OrderedSetIterator!
    at OrderedSetIterator.equals (/home/runner/work/number-allocator/number-allocator/node_modules/js-sdsl/dist/cjs/container/TreeContainer/Base/TreeIterator.js:42:[19](https://github.com/redboltz/number-allocator/runs/8057549850?check_suite_focus=true#step:5:20))
    at NumberAllocator.use (/home/runner/work/number-allocator/number-allocator/lib/number-allocator.js:103:12)
    at Object.<anonymous> (/home/runner/work/number-allocator/number-allocator/test/typescript/test.js:9:13)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    at startup (internal/bootstrap/node.js:[28](https://github.com/redboltz/number-allocator/runs/8057549850?check_suite_focus=true#step:5:29)3:19)

It seems that the error means iterators type mismatch.
I added debug print to the following line (actually transpiled JS code)
https://github.com/js-sdsl/js-sdsl/blob/v4.1.3/src/container/TreeContainer/Base/TreeIterator.ts#L44-L46
    equals(obj) {
        if (obj.constructor.name !== this.constructor.name) {
            console.log(obj.constructor.name);
            console.log(this.constructor.name);
            throw new TypeError(`Obj's constructor is not ${this.constructor.name}!`);
        }

The result is as follows:
obj.constructor.name is Interval
this.constructor.name is OrderedSetIterator
I guess that I misuse end() function. Could you help me?

Please see https://js-sdsl.github.io/#/start/iterator?id=bidirectional-iterator first.
Because js does not provide overloading of == operator, we use equals function to instead it.
Iterator.equals must have a param with the same iterator type.
For example:
const key = new Interval(num, num);
const it = this.ss.lowerBound(key);
const end = this.ss.end();
if (it.equals(end) === false) {
    this.ss.eraseElementByIterator(it);  // faster than eraseElementByValue
    return true;
}

Hope this will help you!

Thank you! I will fix the PR based on your information.

I forgot to tell you eraseElementByIterator will change the iterator to the next.
For example:
I have a container like [1, 2, 3].
I erase a iterator (named It) pointer to 2. Then container becomes [1, 3].
And It will pointer to 3.
Design ideas come from C++.

Ok. thanks.
I have one more question.
Is there any recommended way to (deep) copy iterator ?
let prev = it;
prev.pre();

When I do that, not only prev but also it is updated.
It is JS object copy behavior, but I want to deep copy.
Should I use deep copy package such as https://www.npmjs.com/package/rfdc

This design is in order to prevent iterator invalidation.
In your case, I think you can just save the value of low and high of pre iterator.
And when you erase an iterator, it will move to next, it's pre will not be invalid.
mp = [0, 2, 3];
const it = mp.lowerBound(2);
mp.eraseElementBy(it);
// it pointer to 3.
// it.pre pointer to 0.

If you want to add 1 to mp, you can just use setElement.
Anyway, we don't suggest change the iterator.pointer directly.

Finally, I updated my code and works fine. Thansk you for your support !
Stored only required high and low values.
https://github.com/redboltz/number-allocator/blob/542a6a5adfd853d310962a6d748f0db38cb9b382/lib/number-allocator.js#L195-L197
And move back to the next iterator as follows:
https://github.com/redboltz/number-allocator/blob/542a6a5adfd853d310962a6d748f0db38cb9b382/lib/number-allocator.js#L217
In this case, I need to update the low value of the next element without erase current element.

If you want to add 1 to mp, you can just use setElement.
Anyway, we don't suggest change the iterator.pointer directly.

IIUC, setElement is only for OrderedMap.
https://github.com/js-sdsl/js-sdsl/blob/main/src/container/TreeContainer/OrderedMap.ts#L129
OrderedSet doesn't have it.
I think that if I want to update (e.g. increment) the element of OrderedSet, I should do as follows:

Get the target element iterator
Get the value of the pointed element
Create the new value of the pointed element + 1
Erase the iterator
Insert the new value element

Pros:
If the new value should be inserted different position from the erased element, it works fine.
Cons:
Step 5 requires O(logN)
My approach is

Get the target element iterator
Increment the pointed element via it.pointer

Pros:
If the new value should be inserted different position from the erased element, the container would be invalid state (UB)
Cons:
Efficient. No extra O(logN) required.
I use this approach I know 100% sure the element position never change by value updating.

That's unsafe to Increment the pointed element via it.pointer, if you really want do that maybe you can use Iterator.node (that's a private member) and change node.key.
It may cause error in IDE, use @ts-ignore to ignore it.

Oh, really.
Ok I removed all unsafe accesses.
https://github.com/redboltz/number-allocator/pull/30/commits/b15e038565a31d9e3823008b3217292cadbbccea

repo: redboltz/number-allocator


text:
experiments: Fix tests

When checking expected error message, we should also fail the test when
err is nil.

How did you find that?

I was trying to deliberately fail some tests to make sure bazel test works, remembered these 2 tests needed to be changed with the error message prefix change, and noticed the bug 😅


text:
create context.metrics even when request is not sampled

Fixup to this pr:
https://github.com/reddit/baseplate.py/pull/400
Many applications access context.metrics directly, which currently throws an error because context.metrics is not assigned if the request is not sampled.

👓 @spladug

💇


text:
Appstudio update test-component-pac-ivgt

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-ivgt-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
12 seconds
init

✅ Succeeded
19 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
24 seconds
inspect-image

✅ Succeeded
23 seconds
deprecated-base-image-check

✅ Succeeded
3 minutes
clair-scan

✅ Succeeded
38 seconds
clamav-scan

✅ Succeeded
9 seconds
sbom-json-check

✅ Succeeded
9 seconds
label-check

✅ Succeeded
6 seconds
show-summary

✅ Succeeded
6 seconds
show-sbom

Pipelines as Code CI/test-component-pac-ivgt-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
19 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
13 seconds
inspect-image

✅ Succeeded
11 seconds
deprecated-base-image-check

✅ Succeeded
11 seconds
clair-scan

✅ Succeeded
35 seconds
clamav-scan

✅ Succeeded
9 seconds
sbom-json-check

✅ Succeeded
13 seconds
label-check

✅ Succeeded
5 seconds
show-sbom

✅ Succeeded
7 seconds
show-summary


text:
GitOps Service: Set GitOps Service replicas to 0 (GITOPSRVCE-801)

JIRA:
https://issues.redhat.com/browse/GITOPSRVCE-801

/retest

/retest

Removed production, and rebased to laster from main branch.

/retest

replaced by https://github.com/redhat-appstudio/infra-deployments/pull/3760

authors: gbenhaim jgwest

repo: redhat-appstudio/infra-deployments


text:
BUG OCPBUGS-7441: Match the O-RAN specification for the ocloudNotifications URI

Adds the o in front of cloudNotifications
OCPBUGS-7441

/refresh jira

/ok-to-test

/cherry-pick release-4.12

authors: aneeshkp mrVectorz

repo: redhat-cne/cloud-event-proxy


text:
Oauth replace htpass with htpasswd

This is a replacement of the current htpass overlay in oauth with htpasswd.
It generates the secret from the kustomization using secretGenerator based on the htpasswd found in the files directory. Therefore the existent htpass-secret.yaml was removed.
The default htpasswd file contains a single user admin with password redhat.
The README file was created to start documenting the providers.

Closing this  as it still looks for the old overlay.

repo: redhat-cop/gitops-catalog


text:
check_leapp_analysis_results not behaving as expected?

When using upgrade role with check_leapp_analysis_results set to false, the play is failing here...
TASK [infra.leapp.parse_leapp_report : Collect human readable report results] ***
fatal: [pretty8mouse]: FAILED! => {"changed": false, "msg": "file not found: /var/log/leapp/leapp-report.txt"}
Tuesday 09 July 2024  16:16:17 +0000 (0:00:00.771)       0:00:05.870 **********

As I understand the expected behavior with check_leapp_analysis_results set to false, the role should continue to run the leapp upgrade even if the leapp-report.txt file is absent, i.e., even when an analysis job has not been run and/or a pre-upgrade report has not been generated.
Using latest infra.leapp 1.3.0 release.
I will fix this.

Hi @swapdisk,
My use case was to run analysis once and assert that no unknown inhibitors exist before going straight into remediate and upgrade without running analysis a second time.
We can add another when check_leapp_analysis_results at https://github.com/redhat-cop/infra.leapp/blob/main/roles/upgrade/tasks/leapp-upgrade.yml#L5 but the leapp RPM install also happens during analysis.
-Jeff

@jeffmcutter - right, I figured out the scenario you explained was the intended use case. To make this work so that an analysis job would not be needed first at all, the upgrade role would have to install the packages. Also, saving the ansible facts under the /etc/ansible/facts.d directory for validation after upgrade would need to be moved out of the analysis role and done early in the upgrade role. There are a couple more little things I discovered while trying to make this work. See work in progress at my dev branch here.
Reading this comment at #203, it seems like there is interest in making a single upgrade play work without doing analysis first. As long as we don't break anything with the existing "analysis first, then upgrade" behavior, I can see the value of having an upgrade run only option.
Thoughts?

IMO analysis should be run first and that is what we should support and promote. if people want to make it work without running analysis that should be on them to make it work.

It would seem like they should be at least running analysis and checking for unknown inhibitors.
I sent a couple PR's that have justification beyond this use case.  With them a user would be able to self install the packages and go straight into upgrade.
https://github.com/redhat-cop/infra.leapp/pull/210
https://github.com/redhat-cop/infra.leapp/pull/211

I merged those PR's can we close this issue now?

authors: djdanielsson jeffmcutter swapdisk


text:
Updated gatekeeper deploy to only validate non control based namespaces

What is this PR About?
Adds a label to all control-plane based namespaces so OPA doesn't audit / deny them.
Create a unique namespace for the tests to be deployed into
CC @springdo @ckavili
How do we test this?
Run the integration tests:
_test/deploy-gatekeeper.sh
bats _test/gatekeeper-integrationtests.sh

cc: @redhat-cop/rego-policies

Closes: https://github.com/redhat-cop/rego-policies/issues/73

Helps with: https://github.com/redhat-cop/rego-policies/issues/81

This PR should make the testing via prow easier, as it splits out the current deployment script into several options:

deploy_gatekeeper - requires cluster-admin; deploys gatekeeper
patch_namespaceselector - requires cluster-admin; patches gatekeeper to only watch namespaces with a certain label set (i.e.: good for when gatekeeper is deployed onto a shared cluster and you only want it to watch certain namespaces)
deploy_constraints - requires self-provisioner and gatekeeper-constraintsmanager-role (new role in this PR); allows a normal user to deploy constraints but not deploy/change core gatekeeper

CC @pabrahamsson

/lgtm

authors: garethahealy springdo

repo: redhat-cop/rego-policies


text:
rhoas service-registry create missing description flag

Description
rhoas service-registry describe/rhoas service-registry create - missing description field?

Example of the issue that were reported by PM

I have moved that issue to jira

Moved to jira.

repo: redhat-developer/app-services-cli


text:
Provide an odo init -o json command

odo init command should provide a -o json flag for non interactive mode, to return details about the downloaded devfile. The output should contain the path of the devfile and its content (the Data part of the devfileObj structure).
{
  "devfile-path": "/path/to/new/devfile.yaml",
  "devfile-data": { [... ] }
}

The caller will use the exit status of the command to get the error status. 0=> OK and (not 0) => Error
In case of error, the json output will be:
{
  message: "..."
}

"devfile-data": { [... ] }

Could we use component instead of devfile-data and make the structure match the structure of the component field in odo list -o json?

the devfile data should haev the same format as the output of odo registry --detail --devfile -o json (see https://github.com/redhat-developer/odo/issues/5644)

authors: feloy kadel

repo: redhat-developer/odo


text:
Add oc client binary to microshift-aio, set KUBECONFIG

Which issue(s) this PR addresses:
Closes #474 #477
This oc 4.8.9 to the microshift-aio image from here
Also, sets KUBECONFIG within the microshift-aio image

/lgtm

good to close

This is hardcoded to use amd64, it needs to be changed to use $ARCH. Also need to use newer OCP_VERSION that is available for aarch64
-RUN export OCP_VERSION=4.8.9 && \
-    curl -o oc.tar.gz https://mirror2.openshift.com/pub/openshift-v4/amd64/clients/ocp/$OCP_VERSION/openshift-client-linux-$OCP_VERSION.tar.gz && \
+RUN export OCP_VERSION=4.9.11 && \
+    curl -o oc.tar.gz https://mirror2.openshift.com/pub/openshift-v4/$ARCH/clients/ocp/$OCP_VERSION/openshift-client-linux-$OCP_VERSION.tar.gz && \

@thinkahead thanks for that! I've opened a PR, although, would also accept a PR from you. https://github.com/redhat-et/microshift/pull/512

authors: cooktheryan fzdarsky sallyom thinkahead

repo: redhat-et/microshift


text:
operators flux (0.28.4)

Signed-off-by: Chanwit Kaewkasi chanwit@gmail.com
Thanks submitting your Operator. Please check below list before you create your Pull Request.
Updates to existing Operators

[x] Did you create a ci.yaml file according to the update instructions?
[x] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[x] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[x] Have you tested an update to your Operator when deployed via OLM?
[x] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

/merge possible

/retest

/merge possible

authors: chanwit framework-automation


text:
operators [N] [CI] ibm-security-verify-access-operator (21.10.0)

Signed-off-by: SCOTT A. EXTON scotte@au1.ibm.com
Thanks submitting your Operator. Please check below list before you create your Pull Request.
New Submissions

[x] Are you familiar with our contribution guidelines?
[x] Have you packaged and deployed your Operator for Operator Framework?
[x] Have you tested your Operator with all Custom Resource Definitions?
[x] Have you tested your Operator in all supported installation modes?
[x] Have you considered whether you want use semantic versioning order?
[x] Is your submission signed?
[x] Is operator icon set?

Updates to existing Operators

[ ] Did you create a ci.yaml file according to the update instructions?
[ ] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[ ] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[ ] Have you tested an update to your Operator when deployed via OLM?
[ ] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

/merge possible

authors: framework-automation scottexton


text:
updating documentation URLs

Partner certification documentation has been updated to use the current year as the version number.  This simplifies and creates annual static links.
I believe this also solves the https://github.com/redhat-openshift-ecosystem/openshift-preflight/issues/1083

@aksaswadkar Are you saying that the docs folks have changed their URL scheme, and it will change based on the year now? Do you know if they'll ever offer a /latest route? Also, Can you rebase off of main? That will fix the test failure. Thanks for the PR.

Hi @acornett21 Yes, the docs URLs are based on the year now. Not sure about the /latest though.

/ok-to-test


text:
Connector version always reports the Kafka Connect version

Hi, I downloaded the 7.2 release of this connector, but when I called GET /connector-plugins it reported that the version of the connector was 3.4.0 (the version of Kafka Connect).
I would have expected the version to be either null/undefined, or 7.2.
I think this is because the connectors are using the AppInfoParser: https://github.com/redis-field-engineering/redis-kafka-connect/blob/a6c99de8e686d813463293b7acab69d147e403bc/src/main/java/com/redis/kafka/connect/RedisSinkConnector.java#L61 which always gets the version of the containing Kafka Connect worker.

🎉 This issue has been resolved in v0.7.5 (Release Notes)


text:
export RedisClientMultiCommandType

Issue description is in #1989

Should we try this if it works the problem #1989 (comment)

This workaround working like a charm. Thanks

repo: redis/node-redis


text:
perf: boost DoMulti/Cache of the cluster by grouping cmds to conns, not slots

related to https://github.com/redis/rueidis/issues/278
The old implementation of clusterclient.DoMulti() and clusterclient.DoMultiCache() performs poorly when the number of commands passed in is large. That is because those commands will be grouped into their key slots, resulting in many small chunks being parallelly fired. If one's CPU has limited concurrency, then the performance of these functions degrades significantly.
The new implementation grouping commands into their underlying connections, resulting in a minimum number of chunks to be parallelly fired. Even with limited concurrency, this implementation will have a better performance.
Before:
Benchmark
Benchmark/GET_DoMulti
Benchmark/GET_DoMulti-10         	     144	   8138918 ns/op	  484360 B/op	    5015 allocs/op
Benchmark/GET_DoMultiCache
Benchmark/GET_DoMultiCache-10    	    6067	    187792 ns/op	  440528 B/op	    4926 allocs/op
PASS

After:
Benchmark
Benchmark/GET_DoMulti
Benchmark/GET_DoMulti-10         	    2194	    491935 ns/op	  363532 B/op	    1100 allocs/op
Benchmark/GET_DoMultiCache
Benchmark/GET_DoMultiCache-10    	   13555	     88418 ns/op	  349316 B/op	     104 allocs/op
PASS

Codecov Report
Patch coverage: 73.68% and project coverage change: -0.17 :warning:

Comparison is base (62f2ced) 97.68% compared to head (1323607) 97.51%.

:exclamation: Current head 1323607 differs from pull request most recent head 3ba46ff. Consider uploading reports for the commit 3ba46ff to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #280      +/-   ##
==========================================
- Coverage   97.68%   97.51%   -0.17%
==========================================
  Files          69       69
  Lines       29365    29461      +96
==========================================
+ Hits        28685    28729      +44
- Misses        577      622      +45
- Partials      103      110       +7

Impacted Files
Coverage Δ

cluster.go
91.56% <68.75%> (-7.90%)
:arrow_down:

pipe.go
99.68% <100.00%> (-0.01%)
:arrow_down:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Hi @smf8, if you are interested in this, please help review the change.

Hey @rueian, the changes looks great to me. There is one minor improvement, the implementation of mux.DoMultiCache uses the ParallelKeys util function. Having only 1 CPU core will limit the client to execute only 1 command at a time which I believe is limiting. Although it can be modified with GOMAXPROCS, but changing this env for this single purpose might not be a good idea.
Can we increase the lower bound of concurrency in closeThenParallel? for my usage, increasing it to runtime.GOMAXPROCS(0) * 4 resulted in around 20% improvement in benchmarks But I think it can increase even more for high latency networks and slow commands.

Hey @rueian, the changes looks great to me. There is one minor improvement, the implementation of mux.DoMultiCache uses the ParallelKeys util function. Having only 1 CPU core will limit the client to execute only 1 command at a time which I believe is limiting. Although it can be modified with GOMAXPROCS, but changing this env for this single purpose might not be a good idea.
Can we increase the lower bound of concurrency in closeThenParallel? for my usage, increasing it to runtime.GOMAXPROCS(0) * 4 resulted in around 20% improvement in benchmarks But I think it can increase even more for high latency networks and slow commands.

Sure, I think runtime.GOMAXPROCS(0) * 4 is good in most case.

authors: codecov-commenter rueian smf8

repo: redis/rueidis


text:
NullPointerException in ClusterConnectionManager

Redis version
6.2.6
Redisson version
3.32.0
Redisson configuration
        Config config = new Config();

        // Codec for json <-> java object serialization/deserialization
        config.setCodec(new JsonJacksonCodec(objectMapper));

        // Only one node of cluster configuration endpoint need to be specified - all other nodes are auto detected
        // SLAVE - Read from slave nodes, uses MASTER if no SLAVES are available.
        // MASTER - Read from master node,
        // MASTER_SLAVE - Read from master and slave nodes
        config.useClusterServers()
                .setReadMode(ReadMode.MASTER_SLAVE)
                .addNodeAddress(redisUrl)
                .setTimeout(500)
                .setRetryAttempts(2)
                .setRetryInterval(50)
                .setConnectTimeout(10000);

        return Redisson.create(config);

What is the Expected behavior?
No response
What is the Actual behavior?
A NullPointerException is thrown by Redisson:
23 Jul 2024 22:13:18,296 [ERROR]  (redisson-netty-5-7) org.redisson.cluster.ClusterConnectionManager: null java.lang.NullPointerException: null|
   at java.util.Objects.requireNonNull(Objects.java:209 undefined) ~[?:?]|
   at java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:180 undefined) ~[?:?]|
   at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169 undefined) ~[?:?]|
   at java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1779 undefined) ~[?:?]|
   at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509 undefined) ~[?:?]|
   at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499 undefined) ~[?:?]|
   at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921 undefined) ~[?:?]|
   at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234 undefined) ~[?:?]|
   at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682 undefined) ~[?:?]|
   at org.redisson.cluster.ClusterConnectionManager.checkSlotsMigration(ClusterConnectionManager.java:750 undefined) ~[redisson-3.32.0.jar:?]|
   at org.redisson.cluster.ClusterConnectionManager.lambda$updateClusterState$18(ClusterConnectionManager.java:500 undefined) ~[redisson-3.32.0.jar:?]|
   at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863 undefined) ~[?:?]|
   at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841 undefined) ~[?:?]|
   at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510 undefined) ~[?:?]|
   at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147 undefined) ~[?:?]|
   at org.redisson.connection.ServiceManager.lambda$resolveAll$1(ServiceManager.java:313 undefined) ~[redisson-3.32.0.jar:?]|
   at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:625 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.setSuccess(DefaultPromise.java:97 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.resolver.InetSocketAddressResolver$2.operationComplete(InetSocketAddressResolver.java:84 undefined) [netty-resolver-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:625 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:105 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.resolver.dns.DnsResolveContext$1.operationComplete(DnsResolveContext.java:263 undefined) [netty-resolver-dns-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:557 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:625 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:105 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.resolver.dns.DnsNameResolver.trySuccess(DnsNameResolver.java:1028 undefined) [netty-resolver-dns-4.1.jar:4.1.111.Final]|
   at io.netty.resolver.dns.DnsResolveContext.finishResolve(DnsResolveContext.java:1121 undefined) [netty-resolver-dns-4.1.jar:4.1.111.Final]|
   at io.netty.resolver.dns.DnsResolveContext.tryToFinishResolve(DnsResolveContext.java:1098 undefined) [netty-resolver-dns-4.1.jar:4.1.111.Final]|
   at io.netty.resolver.dns.DnsResolveContext.access$800(DnsResolveContext.java:69 undefined) [netty-resolver-dns-4.1.jar:4.1.111.Final]|
   at io.netty.resolver.dns.DnsResolveContext$2.operationComplete(DnsResolveContext.java:530 undefined) [netty-resolver-dns-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:625 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:105 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.resolver.dns.DnsQueryContext.trySuccess(DnsQueryContext.java:345 undefined) [netty-resolver-dns-4.1.jar:4.1.111.Final]|
   at io.netty.resolver.dns.DnsQueryContext.finishSuccess(DnsQueryContext.java:336 undefined) [netty-resolver-dns-4.1.jar:4.1.111.Final]|
   at io.netty.resolver.dns.DnsNameResolver$DnsResponseHandler.channelRead(DnsNameResolver.java:1384 undefined) [netty-resolver-dns-4.1.jar:4.1.111.Final]|
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103 undefined) [netty-codec-4.1.jar:4.1.111.Final]|
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1407 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.nio.AbstractNioMessageChannel$NioMessageUnsafe.read(AbstractNioMessageChannel.java:97 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562 undefined) [netty-transport-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:994 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30 undefined) [netty-common-4.1.jar:4.1.111.Final]|
   at java.lang.Thread.run(Thread.java:840 undefined)

Seems to be happening in this line:
        // https://github.com/redisson/redisson/issues/3635
        Map<String, MasterSlaveEntry> nodeEntries = clusterLastPartitions.stream().collect(Collectors.toMap(p -> p.getNodeId(),
                                                                                p -> getEntry(p.getSlotRanges().iterator().next().getStartSlot())));

But not sure exactly where the NPE is happening or how...
Additional information
Redis Cluster hosted in AWS ElastiCache. Service is running on AWS ECS with a Private VPC.

Fixed in https://github.com/redisson/redisson/issues/6048

Hi @mrniko, the fix didn't seem to resolve our actual issue. The NPE is "fixed", but there is some other issue affecting DNS failures for the master node in single-shard clusters.
I'll open a different issue with more stack traces; this other "bug" was introduced in 3.32.0 (3.31.0 is fine).

Sorry, didn't see any words regarding DNS failures in the issue.

@mrniko sorry about that. We saw the NPE originally on Tuesday investigating the issue, but it was last night when we were able to actually isolate the issue and reproduce. See #6061, it has the steps to reproduce it.

Fixed in https://github.com/redisson/redisson/issues/6061

authors: barreeeiroo mrniko

repo: redisson/redisson


text:
Directory disappeared - version 2015-11-01.1203H

I just pulled 2015-11-01.1203H and now I cannot see any channels on the Directory page, not local nor global.

I found some directory servers no work the server is shut-down like zotid.net try this go to your install folder and execute:
util/config system https://blablanet.com
after look again if now show the directory page

If you can't wait: util/config system directory_server https://hubzilla.site
or any other dir server of your choice.
If you can wait - it will repair itself...

Changed to https://blablanet.com - fixed.

authors: HaakonME git-marijus royalterra

repo: redmatrix/hubzilla


text:
IDE not requesting for schema when schema refresh button is clicked

Title is pretty descriptive. Why would the IDE skip requesting the schema at all, and just going straight into the reducing step without even requesting the server for it?
The reducing step then receives null for the schemaResponse field.

I have faced the same problem. A workaround for this is to export your project as a json file, delete the project and import the project again.

authors: felipellrocha yasser-sobhy

repo: redound/graphql-ide


text:
React-router v4.0.0

There are some docs available:
https://github.com/ReactTraining/react-router/releases/tag/v4.0.0-0
https://react-router-website-uxmsaeusnn.now.sh/quick-start
We should try to use:
npm install react-router@next

This is blocking the history upgrade but we need to wait until 4.0 becomes production-ready.

repo: redux-bootstrap/redux-bootstrap


text:
Update examples (upgrade react/webpack version)

Q
A

Fixed Issues?
None

Patch: Bug Fix?
None

Major: Breaking Change?
None

Minor: New Feature?
None

Tests Added + Pass?
Passed

Documentation

Any Dependency Changes?
See below

In this PR, I update react and webpack versions in our examples. I simplify some webpack config files by using webpack-dev-server and html-webpack-plugin. And I fix up most of the errors reported by ESLint in the examples. (Since lint-staged is configured to check examples/ in #1521).
Update list:

UPDATE react and react-dom  -->  ^16.4.1

UPDATE react-redux  -->  ^5.0.7

UPDATE react-router  -->  ^3.2.1

UPDATE webpack  -->  ^4.15.1

ADD prop-types, because react16 does not support React.PropTypes anymore

ADD webpack-cli, which is required if we use webpack4

ADD webpack-dev-server and html-webpack-plugin, which results much simpler webpack configs

Use .jsx file extension when using JSX in that file

Simplify webpack config

About example/real-world
This example is big and contains more code than other examples. I have not fix all the ESLint errors in example/real-world for now, so I insert some eslint-disable to pass the lint-stage check. I will make another PR to update this example.

All examples run correctly in my PC, but it is better to test the examples again in your computers (remember to install the new dependencies 😉 )

Just some nitpicking around import style & file extension. Other than that - ready to merge.

I've added lerna bootstrap to postinstall. No longer need to run lerna bootstrap manually.

authors: Andarist shinima

repo: redux-saga/redux-saga