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

Multiple crashes: realm::Node::do_copy_on_write(unsigned long) #5800

Closed
NZQN23 opened this issue Aug 31, 2022 · 4 comments
Closed

Multiple crashes: realm::Node::do_copy_on_write(unsigned long) #5800

NZQN23 opened this issue Aug 31, 2022 · 4 comments

Comments

@NZQN23
Copy link

NZQN23 commented Aug 31, 2022

Hi,

I am currently experiencing multiple crashes with Realm 10.28.6. They are all happening on iOS 16.

Crash stack is mostly similar to his one:

0   libsystem_platform.dylib      	0x0000000224941930 _platform_memmove + 96
1   Realm                         	0x000000010355f4bc realm::Node::do_copy_on_write(unsigned long) + 152
2   Realm                         	0x00000001034e3bc4 realm::BasicArrayNull<double>::insert(unsigned long, std::__1::optional<double>) + 76
3   Realm                         	0x00000001034e28dc void realm::Cluster::do_insert_row<realm::BasicArrayNull<double> >(unsigned long, realm::ColKey, realm::Mixed, bool) + 164
4   Realm                         	0x00000001034e21d8 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, real... + 676
5   Realm                         	0x0000000103621cfc realm::TableClusterTree::for_each_and_every_column(realm::util::FunctionRef<bool (realm::ColKey)>) const + 84
6   Realm                         	0x00000001034dd74c realm::Cluster::insert_row(unsigned long, realm::ObjKey, realm::FieldValues const&) + 208
7   Realm                         	0x00000001034df70c realm::Cluster::insert(realm::ObjKey, realm::FieldValues const&, realm::ClusterNode::State&) + 240
8   Realm                         	0x00000001034ef86c realm::ClusterNodeInner::insert(realm::ObjKey, realm::FieldValues const&, realm::ClusterNode::State&)::$_1::operator()(realm::ClusterNode*, realm::ClusterNodeInner::ChildInfo&) const + 72
9   Realm                         	0x00000001034eab00 realm::ClusterNodeInner::insert(realm::ObjKey, realm::FieldValues const&, realm::ClusterNode::State&) + 232
10  Realm                         	0x00000001034ee350 realm::ClusterTree::insert_fast(realm::ObjKey, realm::FieldValues const&, realm::ClusterNode::State&) + 48
11  Realm                         	0x00000001034ee5ac realm::ClusterTree::insert(realm::ObjKey, realm::FieldValues const&) + 48
12  Realm                         	0x0000000103621848 realm::TableClusterTree::insert(realm::ObjKey, realm::FieldValues const&) + 52
13  Realm                         	0x0000000103614e94 realm::Table::create_object_with_primary_key(realm::Mixed const&, realm::FieldValues&&, realm::Table::UpdateMode, bool*) + 860
14  Realm                         	0x00000001033734e0 realm::Table::create_object_with_primary_key(realm::Mixed const&, bool*) + 80 (table.hpp:260)
15  Realm                         	0x00000001033686cc realm::Object realm::Object::create<objc_object* __strong, RLMAccessorContext>(RLMAccessorContext&, std::__1::shared_ptr<realm::Realm> const&, realm::ObjectSchema const&, objc_object* __strong, rea... + 616 (object_accessor.hpp:305)
16  Realm                         	0x0000000103368068 RLMAccessorContext::createObject(objc_object*, realm::CreatePolicy, bool, realm::ObjKey) + 940 (RLMAccessor.mm:1102)
17  Realm                         	0x00000001033c08c0 RLMAddObjectToRealm + 200 (RLMObjectStore.mm:119)
18  RealmSwift                    	0x0000000103ad99d4 add + 16 (Realm.swift:540)
19  RealmSwift                    	0x0000000103ad99d4 Realm.add<A>(_:update:) + 284 (Realm.swift:564)
20  Geory                         	0x0000000102e48348 partial apply for closure #1 in closure #1 in closure #1 in writeObjectsToDatabase(qos:objectsToWrite:completion:) + 96 (DatabaseManagement.swift:52)
21  Geory                         	0x0000000102dfe458 thunk for @callee_guaranteed () -> (@error @owned Error) + 20 (<compiler-generated>:0)
22  Geory                         	0x0000000102e482e0 partial apply for thunk for @callee_guaranteed () -> (@error @owned Error) + 16 (<compiler-generated>:0)
23  Geory                         	0x0000000102e4ac24 thunk for @callee_guaranteed () -> (@error @owned Error)partial apply + 12
24  RealmSwift                    	0x0000000103ad8dec Realm.write<A>(withoutNotifying:_:) + 180 (Realm.swift:258)
25  Geory                         	0x0000000102e47e28 closure #1 in closure #1 in writeObjectsToDatabase(qos:objectsToWrite:completion:) + 916 (DatabaseManagement.swift:50)
26  Geory                         	0x0000000102dfe458 thunk for @callee_guaranteed () -> (@error @owned Error) + 20 (<compiler-generated>:0)
27  Geory                         	0x0000000102e482e0 partial apply for thunk for @callee_guaranteed () -> (@error @owned Error) + 16 (<compiler-generated>:0)
28  libswiftObjectiveC.dylib      	0x00000001feab7308 autoreleasepool<A>(invoking:) + 64 (ObjectiveC.swift:184)
29  Geory                         	0x0000000102e4a7e8 partial apply for closure #1 in writeObjectsToDatabase(qos:objectsToWrite:completion:) + 72
30  Geory                         	0x0000000102dfe164 thunk for @escaping @callee_guaranteed () -> () + 28 (<compiler-generated>:0)
31  libdispatch.dylib             	0x00000001df8044b4 _dispatch_call_block_and_release + 32 (init.c:1518)
32  libdispatch.dylib             	0x00000001df805fdc _dispatch_client_callout + 20 (object.m:560)
33  libdispatch.dylib             	0x00000001df817b8c _dispatch_root_queue_drain + 684 (inline_internal.h:2632)
34  libdispatch.dylib             	0x00000001df818284 _dispatch_worker_thread2 + 164 (queue.c:7052)
35  libsystem_pthread.dylib       	0x00000002249d5dbc _pthread_wqthread + 228 (pthread.c:2631)
36  libsystem_pthread.dylib       	0x00000002249d5b98 start_wqthread + 8 (:-1)

I'd be very grateful if you could give any advice on how to deal with this issue.

Thank you!

@jedelbo
Copy link
Contributor

jedelbo commented Aug 31, 2022

Hi @NZQN23 . Thank you for reporting this. Could you give other examples? Do they all have memmove on the top of the stack?

@sync-by-unito sync-by-unito bot added the Waiting-For-Reporter Waiting for more information from the reporter before we can proceed label Aug 31, 2022
@NZQN23
Copy link
Author

NZQN23 commented Aug 31, 2022

Hi @jedelbo , yes. They all have the identical first two lines "platform_memmove" and "realm::Node::do_copy_on_write(unsigned long)" on top of the stack.

@github-actions github-actions bot added Needs-Attention Reporter has responded. Review comment. and removed Waiting-For-Reporter Waiting for more information from the reporter before we can proceed labels Aug 31, 2022
@sync-by-unito sync-by-unito bot removed the Needs-Attention Reporter has responded. Review comment. label Sep 1, 2022
@jedelbo
Copy link
Contributor

jedelbo commented Sep 1, 2022

@NZQN23 Thanks - we will investigate

@jedelbo
Copy link
Contributor

jedelbo commented Nov 17, 2022

Closed by #5993

@jedelbo jedelbo closed this as completed Nov 17, 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.
Projects
None yet
Development

No branches or pull requests

2 participants