Skip to content

Crash when removing object containing nested collection with links #7839

@ironage

Description

@ironage
src/realm/array.cpp:319: [realm-core-14.10.1] Assertion failed: begin <= end [2, 1]
0   realm-tests                         0x00000001034cc188 _ZN5realm4utilL18terminate_internalERNSt3__118basic_stringstreamIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE + 28
1   realm-tests                         0x00000001034cc168 _ZN5realm4util19terminate_with_infoEPKcS2_lS2_OSt16initializer_listINS0_9PrintableEE + 308
2   realm-tests                         0x00000001034cc034 _ZN5realm4util19terminate_with_infoEPKcS2_lS2_OSt16initializer_listINS0_9PrintableEE + 0
3   realm-tests                         0x00000001025ffc10 _ZN5realm4util9terminateIJmmEEEvPKcS3_lDpT_ + 128
4   realm-tests                         0x00000001031c6140 _ZN5realm5Array4moveEmmm + 96
5   realm-tests                         0x00000001025ffa70 _ZN5realm5Array5eraseEm + 64
6   realm-tests                         0x00000001031e5aac _ZN5realm10ArrayMixed5eraseEm + 264
7   realm-tests                         0x000000010320d730 _ZN5realm7Cluster14do_erase_mixedEmNS_6ColKeyERNS_12CascadeStateE + 844
8   realm-tests                         0x000000010320c9c8 _ZZN5realm7Cluster5eraseENS_6ObjKeyERNS_12CascadeStateEENK3$_6clENS_6ColKeyE + 1780
9   realm-tests                         0x00000001031fdab4 _ZNK5realm5Table25for_each_and_every_columnIZNS_7Cluster5eraseENS_6ObjKeyERNS_12CascadeStateEE3$_6EEbT_ + 140
10  realm-tests                         0x00000001031fd7c0 _ZN5realm7Cluster5eraseENS_6ObjKeyERNS_12CascadeStateE + 464
11  realm-tests                         0x000000010321d4f4 _ZZN5realm16ClusterNodeInner5eraseENS_6ObjKeyERNS_12CascadeStateEENK3$_8clEPNS_11ClusterNodeERNS0_9ChildInfoE + 76
12  realm-tests                         0x000000010321d3a8 _ZN5realm16ClusterNodeInner7recurseImZNS0_5eraseENS_6ObjKeyERNS_12CascadeStateEE3$_8EET_RNS0_9ChildInfoET0_ + 200
13  realm-tests                         0x0000000103216118 _ZN5realm16ClusterNodeInner7recurseImZNS0_5eraseENS_6ObjKeyERNS_12CascadeStateEE3$_8EET_S2_T0_ + 212
14  realm-tests                         0x0000000103216038 _ZN5realm16ClusterNodeInner5eraseENS_6ObjKeyERNS_12CascadeStateE + 64
15  realm-tests                         0x000000010321d4f4 _ZZN5realm16ClusterNodeInner5eraseENS_6ObjKeyERNS_12CascadeStateEENK3$_8clEPNS_11ClusterNodeERNS0_9ChildInfoE + 76
16  realm-tests                         0x000000010321d458 _ZN5realm16ClusterNodeInner7recurseImZNS0_5eraseENS_6ObjKeyERNS_12CascadeStateEE3$_8EET_RNS0_9ChildInfoET0_ + 376
17  realm-tests                         0x0000000103216118 _ZN5realm16ClusterNodeInner7recurseImZNS0_5eraseENS_6ObjKeyERNS_12CascadeStateEE3$_8EET_S2_T0_ + 212
18  realm-tests                         0x0000000103216038 _ZN5realm16ClusterNodeInner5eraseENS_6ObjKeyERNS_12CascadeStateE + 64
19  realm-tests                         0x000000010321d4f4 _ZZN5realm16ClusterNodeInner5eraseENS_6ObjKeyERNS_12CascadeStateEENK3$_8clEPNS_11ClusterNodeERNS0_9ChildInfoE + 76
20  realm-tests                         0x000000010321d458 _ZN5realm16ClusterNodeInner7recurseImZNS0_5eraseENS_6ObjKeyERNS_12CascadeStateEE3$_8EET_RNS0_9ChildInfoET0_ + 376
21  realm-tests                         0x0000000103216118 _ZN5realm16ClusterNodeInner7recurseImZNS0_5eraseENS_6ObjKeyERNS_12CascadeStateEE3$_8EET_S2_T0_ + 212
22  realm-tests                         0x0000000103216038 _ZN5realm16ClusterNodeInner5eraseENS_6ObjKeyERNS_12CascadeStateE + 64
23  realm-tests                         0x000000010321d4f4 _ZZN5realm16ClusterNodeInner5eraseENS_6ObjKeyERNS_12CascadeStateEENK3$_8clEPNS_11ClusterNodeERNS0_9ChildInfoE + 76
24  realm-tests                         0x000000010321d458 _ZN5realm16ClusterNodeInner7recurseImZNS0_5eraseENS_6ObjKeyERNS_12CascadeStateEE3$_8EET_RNS0_9ChildInfoET0_ + 376
25  realm-tests                         0x0000000103216118 _ZN5realm16ClusterNodeInner7recurseImZNS0_5eraseENS_6ObjKeyERNS_12CascadeStateEE3$_8EET_S2_T0_ + 212
26  realm-tests                         0x0000000103216038 _ZN5realm16ClusterNodeInner5eraseENS_6ObjKeyERNS_12CascadeStateE + 64
27  realm-tests                         0x000000010321d4f4 _ZZN5realm16ClusterNodeInner5eraseENS_6ObjKeyERNS_12CascadeStateEENK3$_8clEPNS_11ClusterNodeERNS0_9ChildInfoE + 76
28  realm-tests                         0x000000010321d458 _ZN5realm16ClusterNodeInner7recurseImZNS0_5eraseENS_6ObjKeyERNS_12CascadeStateEE3$_8EET_RNS0_9ChildInfoET0_ + 376
29  realm-tests                         0x0000000103216118 _ZN5realm16ClusterNodeInner7recurseImZNS0_5eraseENS_6ObjKeyERNS_12CascadeStateEE3$_8EET_S2_T0_ + 212
30  realm-tests                         0x0000000103216038 _ZN5realm16ClusterNodeInner5eraseENS_6ObjKeyERNS_12CascadeStateE + 64
31  realm-tests                         0x0000000103219390 _ZN5realm11ClusterTree5eraseENS_6ObjKeyERNS_12CascadeStateE + 248
32  realm-tests                         0x000000010345375c _ZN5realm5Table13remove_objectENS_6ObjKeyE + 348
33  realm-tests                         0x000000010331f138 _ZN5realm3Obj6removeEv + 68
34  realm-tests                         0x0000000102d92214 _ZZN54Realm_UnitTest__Mixed_ContainerOfLinksFromLargeClusterI10NestedListE8test_runEvENKUlmE_clEm + 820

The key to reproducing this is to remove an object which forces a cluster to collapse/rejoin leaf nodes when it contains nested collections that have links in them.

Tracking this for documentation, I have a fix coming soon.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions