It's OK.
Toggle at least one comparison assertion line to comment:
Also OK.
/home/frozenlemontee/Projects/original/cmake-build-debug/test/unit_test/test_core/core_tests --gtest_filter=ChainTest.EqualityOperator:ChainTest/*.EqualityOperator:ChainTest.EqualityOperator/*:*/ChainTest.EqualityOperator/*:*/ChainTest/*.EqualityOperator --gtest_color=no
Testing started at 09:11 ...
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe492687b8
[DEBUG] allocator_ (other): 0x7ffe49268728
[DEBUG] copy ctor this=0x7ffe492687b0 allocator=0x7ffe492687b8 from other=0x7ffe49268720 allocator=0x7ffe49268728
[DEBUG] chain copy ctor end this=0x7ffe492687b0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268810
[DEBUG] allocator_ (other): 0x7ffe49268780
[DEBUG] copy ctor this=0x7ffe49268808 allocator=0x7ffe49268810 from other=0x7ffe49268778 allocator=0x7ffe49268780
[DEBUG] chain copy ctor end this=0x7ffe49268808
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268868
[DEBUG] allocator_ (other): 0x7ffe492687d8
[DEBUG] copy ctor this=0x7ffe49268860 allocator=0x7ffe49268868 from other=0x7ffe492687d0 allocator=0x7ffe492687d8
[DEBUG] chain copy ctor end this=0x7ffe49268860
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe492688c0
[DEBUG] allocator_ (other): 0x7ffe49268830
[DEBUG] copy ctor this=0x7ffe492688b8 allocator=0x7ffe492688c0 from other=0x7ffe49268828 allocator=0x7ffe49268830
[DEBUG] chain copy ctor end this=0x7ffe492688b8
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268918
[DEBUG] allocator_ (other): 0x7ffe49268888
[DEBUG] copy ctor this=0x7ffe49268910 allocator=0x7ffe49268918 from other=0x7ffe49268880 allocator=0x7ffe49268888
[DEBUG] chain copy ctor end this=0x7ffe49268910
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268970
[DEBUG] allocator_ (other): 0x7ffe492688e0
[DEBUG] copy ctor this=0x7ffe49268968 allocator=0x7ffe49268970 from other=0x7ffe492688d8 allocator=0x7ffe492688e0
[DEBUG] chain copy ctor end this=0x7ffe49268968
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe492689c8
[DEBUG] allocator_ (other): 0x7ffe49268938
[DEBUG] copy ctor this=0x7ffe492689c0 allocator=0x7ffe492689c8 from other=0x7ffe49268930 allocator=0x7ffe49268938
[DEBUG] chain copy ctor end this=0x7ffe492689c0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268a20
[DEBUG] allocator_ (other): 0x7ffe49268990
[DEBUG] copy ctor this=0x7ffe49268a18 allocator=0x7ffe49268a20 from other=0x7ffe49268988 allocator=0x7ffe49268990
[DEBUG] chain copy ctor end this=0x7ffe49268a18
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268a78
[DEBUG] allocator_ (other): 0x7ffe492689e8
[DEBUG] copy ctor this=0x7ffe49268a70 allocator=0x7ffe49268a78 from other=0x7ffe492689e0 allocator=0x7ffe492689e8
[DEBUG] chain copy ctor end this=0x7ffe49268a70
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268ad0
[DEBUG] allocator_ (other): 0x7ffe49268a40
[DEBUG] copy ctor this=0x7ffe49268ac8 allocator=0x7ffe49268ad0 from other=0x7ffe49268a38 allocator=0x7ffe49268a40
[DEBUG] chain copy ctor end this=0x7ffe49268ac8
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268b28
[DEBUG] allocator_ (other): 0x7ffe49268a98
[DEBUG] copy ctor this=0x7ffe49268b20 allocator=0x7ffe49268b28 from other=0x7ffe49268a90 allocator=0x7ffe49268a98
[DEBUG] chain copy ctor end this=0x7ffe49268b20
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268b80
[DEBUG] allocator_ (other): 0x7ffe49268af0
[DEBUG] copy ctor this=0x7ffe49268b78 allocator=0x7ffe49268b80 from other=0x7ffe49268ae8 allocator=0x7ffe49268af0
[DEBUG] chain copy ctor end this=0x7ffe49268b78
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268bd8
[DEBUG] allocator_ (other): 0x7ffe49268b48
[DEBUG] copy ctor this=0x7ffe49268bd0 allocator=0x7ffe49268bd8 from other=0x7ffe49268b40 allocator=0x7ffe49268b48
[DEBUG] chain copy ctor end this=0x7ffe49268bd0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268c30
[DEBUG] allocator_ (other): 0x7ffe49268ba0
[DEBUG] copy ctor this=0x7ffe49268c28 allocator=0x7ffe49268c30 from other=0x7ffe49268b98 allocator=0x7ffe49268ba0
[DEBUG] chain copy ctor end this=0x7ffe49268c28
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268c88
[DEBUG] allocator_ (other): 0x7ffe49268bf8
[DEBUG] copy ctor this=0x7ffe49268c80 allocator=0x7ffe49268c88 from other=0x7ffe49268bf0 allocator=0x7ffe49268bf8
[DEBUG] chain copy ctor end this=0x7ffe49268c80
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268ce0
[DEBUG] allocator_ (other): 0x7ffe49268c50
[DEBUG] copy ctor this=0x7ffe49268cd8 allocator=0x7ffe49268ce0 from other=0x7ffe49268c48 allocator=0x7ffe49268c50
[DEBUG] chain copy ctor end this=0x7ffe49268cd8
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
[DEBUG] allocator_ (this): 0x7ffe49268d38
[DEBUG] allocator_ (other): 0x7ffe49268ca8
[DEBUG] copy ctor this=0x7ffe49268d30 allocator=0x7ffe49268d38 from other=0x7ffe49268ca0 allocator=0x7ffe49268ca8
[DEBUG] chain copy ctor end this=0x7ffe49268d30
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684a0
[DEBUG] constructor of allocator called, type info: i, this: 0x7ffe49268580
[DEBUG] constructor of allocator called, type info: N8original5chainIiNS_9allocatorIiEEE9chainNodeE, this: 0x7ffe492684d0
When enable Rlease optimization:
This test crashes:
original/test/unit_test/test_core/test_chain.cpp
Lines 186 to 197 in ece074c
But test it in a simple file whitout gtest:
It's OK.
Toggle at least one comparison assertion line to comment:
Also OK.
Check Asan after crash:
/dev/src/core/chain.h
original/src/core/chain.h
Line 497 in ece074c
original/src/core/chain.h
Line 574 in ece074c
original/src/core/chain.h
Line 578 in ece074c
original/test/unit_test/test_core/test_chain.cpp
Line 190 in ece074c
Add lines for debug:
original/src/core/chain.h
Lines 579 to 584 in 6d0cb84
original/src/core/chain.h
Lines 620 to 651 in 6d0cb84
original/src/core/allocator.h
Lines 162 to 164 in 6d0cb84
Outputs:
Check Asan: