Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[realm-core-10.6.0] Assertion failed: err == EEXIST with (err) = [22] #5126

Closed
kjhk8516 opened this issue Dec 27, 2021 · 2 comments
Closed
Assignees
Labels
O-Community Waiting-For-Reporter Waiting for more information from the reporter before we can proceed

Comments

@kjhk8516
Copy link

SDK and version

SDK : Cocoa (Cocoa, Java, etc)
Version: 10.7.3

Observations

  • How frequent do the crash occur?
    -> about 10% reproduced

  • Does it happen in production or during dev/test?
    -> in production

  • Can the crash be reproduced by you?
    -> can reproduce often in multi-threading circumstance

  • Can you provide instructions for how we can reproduce it?

Crash log / stacktrace

#0 0x00000001bbe01334 in __pthread_kill ()
#1 0x00000001d9885a9c in pthread_kill ()
#2 0x0000000196e6eb84 in abort ()
#3 0x000000010549fd98 in please_report_this_issue_in_github_realm_realm_core ()
#4 0x00000001054a00a4 in realm::util::terminate_internal(std::__1::basic_stringstream<char, std::__1::char_traits, std::__1::allocator >&) ()
#5 0x00000001054a0414 in realm::util::terminate_with_info(char const*, char const*, long, char const*, std::initializer_listrealm::util::Printable&&) ()
#6 0x00000001048c94c0 in void realm::util::terminate_with_info<int&>(char const*, int, char const*, char const*, int&) at /Users/jaykim/Library/Developer/Xcode/DerivedData/Smart_ThinQ-bpocbzhnfrigridyxnlbwqrxafvp/Build/Products/Debug-iphoneos/XCFrameworkIntermediates/realm-monorepo/Headers/realm/util/terminate.hpp:52
#7 0x00000001054907b4 in realm::util::File::lock(bool, bool) ()
#8 0x000000010532d930 in std::__1::lock_guardrealm::util::InterprocessMutex::lock_guard(realm::util::InterprocessMutex&) ()
#9 0x000000010532ecb8 in realm::DB::get_number_of_versions() ()
#10 0x00000001055e9524 in check_can_create_write_transaction(realm::Realm const*) ()
#11 0x00000001055e97fc in realm::Realm::commit_transaction() ()
#12 0x0000000104a75478 in -[RLMRealm commitWriteTransactionWithoutNotifying:error:] at /Users/jaykim/1222/smart-thinq-next/ios/Pods/Realm/Realm/RLMRealm.mm:634
#13 0x0000000104a757c4 in -[RLMRealm transactionWithoutNotifying:block:error:] at /Users/jaykim/1222/smart-thinq-next/ios/Pods/Realm/Realm/RLMRealm.mm:659
#14 0x0000000104a75630 in -[RLMRealm transactionWithBlock:error:] at /Users/jaykim/1222/smart-thinq-next/ios/Pods/Realm/Realm/RLMRealm.mm:648
#15 0x0000000104a755a0 in -[RLMRealm transactionWithBlock:] at /Users/jaykim/1222/smart-thinq-next/ios/Pods/Realm/Realm/RLMRealm.mm:644
#16 0x0000000102ee84cc in -[RLMRealm(MemoryManagement) preTransactionWithBlock:] at /Users/jaykim/1222/smart-thinq-next/ios/Smart ThinQ/App/Realm/Synchronize/RLMRealm+MemoryManagement.m:73
#17 0x0000000102c517fc in -[CloudAPI(Main) getCommonLangPack] at /Users/jaykim/1222/smart-thinq-next/ios/Smart ThinQ/App/Networking/CloudAPI+Main.m:745
#18 0x0000000102d8de54 in -[LocalizationManager reloadCommonLanguagePack] at /Users/jaykim/1222/smart-thinq-next/ios/Smart ThinQ/App/Manager/LocalizationManager.m:101
#19 0x0000000102b6573c in __41-[InitialManager processWithLoadingImage]_block_invoke_13 at /Users/jaykim/1222/smart-thinq-next/ios/Smart ThinQ/App/Manager/InitialManager.m:193
#20 0x00000001040b4ca0 in __37+[BFTask taskFromExecutor:withBlock:]_block_invoke at /Users/jaykim/1222/smart-thinq-next/ios/Pods/Bolts/Bolts/Common/BFTask.m:228
#21 0x00000001040b5920 in __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke at /Users/jaykim/1222/smart-thinq-next/ios/Pods/Bolts/Bolts/Common/BFTask.m:331
#22 0x000000010fba80b4 in _dispatch_call_block_and_release ()
#23 0x000000010fba9de0 in _dispatch_client_callout ()
#24 0x000000010fbac918 in _dispatch_queue_override_invoke ()
#25 0x000000010fbbde30 in _dispatch_root_queue_drain ()
#26 0x000000010fbbe7ec in _dispatch_worker_thread2 ()
#27 0x00000001d9886768 in _pthread_wqthread ()
Enqueued from com.apple.main-thread (Thread 1) Queue : com.apple.main-thread (serial)
#0 0x000000010fbaeb70 in dispatch_async ()
#1 0x00000001040b2bac in __40+[BFExecutor executorWithDispatchQueue:]_block_invoke at /Users/jaykim/1222/smart-thinq-next/ios/Pods/Bolts/Bolts/Common/BFExecutor.m:107
#2 0x00000001040b2e70 in -[BFExecutor execute:] at /Users/jaykim/1222/smart-thinq-next/ios/Pods/Bolts/Bolts/Common/BFExecutor.m:131
#3 0x00000001040b5818 in -[BFTask continueWithExecutor:block:cancellationToken:] at /Users/jaykim/1222/smart-thinq-next/ios/Pods/Bolts/Bolts/Common/BFTask.m:368
#4 0x00000001040b5548 in -[BFTask continueWithExecutor:withBlock:] at /Users/jaykim/1222/smart-thinq-next/ios/Pods/Bolts/Bolts/Common/BFTask.m:316
#5 0x00000001040b4c14 in +[BFTask taskFromExecutor:withBlock:] at /Users/jaykim/1222/smart-thinq-next/ios/Pods/Bolts/Bolts/Common/BFTask.m:227
#6 0x0000000102b644bc in -[InitialManager processWithLoadingImage] at /Users/jaykim/1222/smart-thinq-next/ios/Smart ThinQ/App/Manager/InitialManager.m:192
#7 0x0000000102875248 in -[SplashViewController viewDidLoad] at /Users/jaykim/1222/smart-thinq-next/ios/Smart ThinQ/App/Scene/Login/SplashViewController.m:94
#8 0x0000000104898454 in __42+[NSObject(ReactorKit) swizzleViewDidLoad]_block_invoke at /Users/jaykim/1222/smart-thinq-next/ios/Pods/ReactorKit/Sources/ReactorKitRuntime/ReactorKitRuntime.m:49
#9 0x000000018fd6b58c in -[UIViewController _sendViewDidLoadWithAppearanceProxyObjectTaggingEnabled] ()
#10 0x000000018fd6fdb4 in -[UIViewController loadViewIfRequired] ()
#11 0x000000018fcaed00 in -[UINavigationController _updateScrollViewFromViewController:toViewController:] ()
#12 0x000000018fcaf020 in -[UINavigationController _startTransition:fromViewController:toViewController:] ()
#13 0x000000018fcafea8 in -[UINavigationController _startDeferredTransitionIfNeeded:] ()
#14 0x000000018fcb1288 in -[UINavigationController __viewWillLayoutSubviews] ()
#15 0x000000018fc92e58 in -[UILayoutContainerView layoutSubviews] ()
#16 0x00000001909d9be4 in -[UIView(CALayerDelegate) layoutSublayersOfLayer:] ()
#17 0x0000000190e60670 in -[CALayer layoutSublayers] ()
#18 0x0000000190e60b54 in CA::Layer::layout_if_needed(CA::Transaction*) ()
#19 0x0000000190e7578c in CA::Layer::layout_and_display_if_needed(CA::Transaction*) ()
#20 0x0000000190db75e4 in CA::Context::commit_transaction(CA::Transaction*, double, double*) ()
#21 0x0000000190de37f4 in CA::Transaction::commit() ()
#22 0x00000001904b7684 in __34-[UIApplication _firstCommitBlock]_block_invoke_2 ()
#23 0x000000018da20dac in CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK ()
#24 0x000000018da20000 in __CFRunLoopDoBlocks ()
#25 0x000000018da1a270 in __CFRunLoopRun ()
#26 0x000000018da199f4 in CFRunLoopRunSpecific ()
#27 0x00000001a50ef734 in GSEventRunModal ()
#28 0x000000019049875c in -[UIApplication _run] ()
#29 0x000000019049dfcc in UIApplicationMain ()
#30 0x00000001028940a4 in main
#31 0x000000018d6d5cf8 in start ()

Steps & Code to Reproduce

/Users/realm/workspace/realm_realm-core_release_10.6.0/src/realm/util/file.cpp:1097: [realm-core-10.6.0] Assertion failed: err == EEXIST with (err) = [22]
0 LG ThinQ 0x000000010549ff78 _ZN5realm4utilL18terminate_internalERNSt3__118basic_stringstreamIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE + 28
1 LG ThinQ 0x00000001054a0414 _ZN5realm4util19terminate_with_infoEPKcS2_lS2_OSt16initializer_listINS0_9PrintableEE + 388
2 LG ThinQ 0x00000001048c94c0 ZN5realm4util19terminate_with_infoIJRiEEEvPKciS4_S4_DpOT + 120
3 LG ThinQ 0x00000001054907b4 _ZN5realm4util4File4lockEbb + 1020
4 LG ThinQ 0x000000010532d930 ZNSt3__110lock_guardIN5realm4util17InterprocessMutexEEC1ERS3 + 68
5 LG ThinQ 0x000000010532ecb8 _ZN5realm2DB22get_number_of_versionsEv + 32
6 LG ThinQ 0x00000001055e9524 _ZL34check_can_create_write_transactionPKN5realm5RealmE + 100
7 LG ThinQ 0x00000001055e97fc _ZN5realm5Realm18commit_transactionEv + 28
8 LG ThinQ 0x0000000104a75478 -[RLMRealm commitWriteTransactionWithoutNotifying:error:] + 496
9 LG ThinQ 0x0000000104a757c4 -[RLMRealm transactionWithoutNotifying:block:error:] + 148
10 LG ThinQ 0x0000000104a75630 -[RLMRealm transactionWithBlock:error:] + 88
11 LG ThinQ 0x0000000104a755a0 -[RLMRealm transactionWithBlock:] + 72
12 LG ThinQ 0x0000000102ee84cc -[RLMRealm(MemoryManagement) preTransactionWithBlock:] + 208
13 LG ThinQ 0x0000000102c517fc -[CloudAPI(Main) getCommonLangPack] + 592
14 LG ThinQ 0x0000000102d8de54 -[LocalizationManager reloadCommonLanguagePack] + 112
15 LG ThinQ 0x0000000102b6573c __41-[InitialManager processWithLoadingImage]_block_invoke_13 + 64
16 LG ThinQ 0x00000001040b4ca0 __37+[BFTask taskFromExecutor:withBlock:]_block_invoke + 64
17 LG ThinQ 0x00000001040b5920 __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke + 88
18 libdispatch.dylib 0x000000010fba80b4 _dispatch_call_block_and_release + 32
19 libdispatch.dylib 0x000000010fba9de0 _dispatch_client_callout + 20
20 libdispatch.dylib 0x000000010fbac918 _dispatch_queue_override_invoke + 1008
21 libdispatch.dylib 0x000000010fbbde30 _dispatch_root_queue_drain + 396
22 libdispatch.dylib 0x000000010fbbe7ec _dispatch_worker_thread2 + 136
23 libsystem_pthread.dylib 0x00000001d9886768 _pthread_wqthread + 216
24 libsystem_pthread.dylib 0x00000001d988d74c start_wqthread + 8!!! IMPORTANT: Please report this at https://github.com/realm/realm-core/issues/new/choose2021-12-27 12:10:37.902485+0900 LG ThinQ[23215:13241930] /Users/realm/workspace/realm_realm-core_release_10.6.0/src/realm/util/file.cpp:1097: [realm-core-10.6.0] Assertion failed: err == EEXIST with (err) = [22]
0 LG ThinQ 0x000000010549ff78 _ZN5realm4utilL18terminate_internalERNSt3__118basic_stringstreamIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE + 28
1 LG ThinQ 0x00000001054a0414 _ZN5realm4util19terminate_with_infoEPKcS2_lS2_OSt16initializer_listINS0_9PrintableEE + 388
2 LG ThinQ 0x00000001048c94c0 ZN5realm4util19terminate_with_infoIJRiEEEvPKciS4_S4_DpOT + 120
3 LG ThinQ 0x00000001054907b4 _ZN5realm4util4File4lockEbb + 1020
4 LG ThinQ 0x000000010532d930 ZNSt3__110lock_guardIN5realm4util17InterprocessMutexEEC1ERS3 + 68
5 LG ThinQ 0x000000010532ecb8 _ZN5realm2DB22get_number_of_versionsEv + 32
6 LG ThinQ 0x00000001055e9524 _ZL34check_can_create_write_transactionPKN5realm5RealmE + 100
7 LG ThinQ 0x00000001055e97fc _ZN5realm5Realm18commit_transactionEv + 28
8 LG ThinQ 0x0000000104a75478 -[RLMRealm commitWriteTransactionWithoutNotifying:error:] + 496
9 LG ThinQ 0x0000000104a757c4 -[RLMRealm transactionWithoutNotifying:block:error:] + 148
10 LG ThinQ 0x0000000104a75630 -[RLMRealm transactionWithBlock:error:] + 88
11 LG ThinQ 0x0000000104a755a0 -[RLMRealm transactionWithBlock:] + 72
12 LG ThinQ 0x0000000102ee84cc -[RLMRealm(MemoryManagement) preTransactionWithBlock:] + 208
13 LG ThinQ 0x0000000102c517fc -[CloudAPI(Main) getCommonLangPack] + 592
14 LG ThinQ 0x0000000102d8de54 -[LocalizationManager reloadCommonLanguagePack] + 112
15 LG ThinQ 0x0000000102b6573c __41-[InitialManager processWithLoadingImage]_block_invoke_13 + 64
16 LG ThinQ 0x00000001040b4ca0 __37+[BFTask taskFromExecutor:withBlock:]_block_invoke + 64
17 LG ThinQ 0x00000001040b5920 __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke + 88
18 libdispatch.dylib 0x000000010fba80b4 _dispatch_call_block_and_release + 32
19 libdispatch.dylib 0x000000010fba9de0 _dispatch_client_callout + 20
20 libdispatch.dylib 0x000000010fbac918 _dispatch_queue_override_invoke + 1008
21 libdispatch.dylib 0x000000010fbbde30 _dispatch_root_queue_drain + 396
22 libdispatch.dylib 0x000000010fbbe7ec _dispatch_worker_thread2 + 136
23 libsystem_pthread.dylib 0x00000001d9886768 _pthread_wqthread + 216
24 libsystem_pthread.dylib 0x00000001d988d74c start_wqthread + 8!!! IMPORTANT: Please report this at https://github.com/realm/realm-core/issues/new/choose

@fealebenpae
Copy link
Member

Hey @kjhk8516, thanks for submitting this issue! Unfortunately there is little we can glean from just the stack trace alone - could you please help us reproduce the crash by making a small repro project or at least describe the steps necessary?

@sync-by-unito sync-by-unito bot added the Waiting-For-Reporter Waiting for more information from the reporter before we can proceed label Jan 4, 2022
@bmunkholm bmunkholm changed the title meet crash [realm-core-10.6.0] Assertion failed: err == EEXIST with (err) = [22] Jan 6, 2022
@ironage
Copy link
Contributor

ironage commented Jan 31, 2022

Given the location of the assertion in the code and this information:

can reproduce often in multi-threading circumstance
about 10% reproduced

I suspect that this issue has been fixed by #4768 which was released in core v11.0.4 (cocoa v10.9.0 or later). Please try upgrading the Realm SDK to confirm if it solves your crashes. I will close this issue under the assumption that it has been fixed, but if it still doesn't work for you, please let us know more information about the problem and we can reopen this.

@ironage ironage closed this as completed Jan 31, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 21, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
O-Community Waiting-For-Reporter Waiting for more information from the reporter before we can proceed
Projects
None yet
Development

No branches or pull requests

3 participants