parse_drmingw.sh
script (only outputs ??:0
)...9dd46eb
. Here's a backtrace from the coredump. Don't know if it says anything, but I can send more if needed.
Core was generated by `./DDNet'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000563224f92cea in std::_Rb_tree_node<int>* std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy<std::_Rb_tree<int, int, std::_Identity<int>, st>
[Current thread is 1 (Thread 0x7f6cd717d980 (LWP 14588))]
(gdb) bt full
#0 0x0000563224f92cea in std::_Rb_tree_node<int>* std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy<std::_Rb_tree<int, int, std::_Identity<int>, st>
No symbol table info available.
#1 0x0000563224f9eb1b in CGameClient::IntersectCharacter(vector2_base<float>, vector2_base<float>, vector2_base<float>&, int) ()
No symbol table info available.
#2 0x0000563224f7c93f in CPlayers::RenderHookCollLine(CNetObj_Character const*, CNetObj_Character const*, int, float) ()
No symbol table info available.
#3 0x0000563224f0af98 in CGhost::OnRender() [clone .part.0] ()
No symbol table info available.
#4 0x0000563224f99192 in CGameClient::OnRender() ()
No symbol table info available.
#5 0x0000563224ea461c in CClient::Render() ()
No symbol table info available.
#6 0x0000563224ead4c8 in CClient::Run() ()
No symbol table info available.
#7 0x0000563224e3e60a in main ()
No symbol table info available.
(gdb)
9dd46eb
. Here's a backtrace from the coredump. Don't know if it says anything, but I can send more if needed.
Core was generated by `./DDNet'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000563224f92cea in std::_Rb_tree_node<int>* std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy<std::_Rb_tree<int, int, std::_Identity<int>, st>
[Current thread is 1 (Thread 0x7f6cd717d980 (LWP 14588))]
(gdb) bt full
#0 0x0000563224f92cea in std::_Rb_tree_node<int>* std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy<std::_Rb_tree<int, int, std::_Identity<int>, st>
No symbol table info available.
#1 0x0000563224f9eb1b in CGameClient::IntersectCharacter(vector2_base<float>, vector2_base<float>, vector2_base<float>&, int) ()
No symbol table info available.
#2 0x0000563224f7c93f in CPlayers::RenderHookCollLine(CNetObj_Character const*, CNetObj_Character const*, int, float) ()
No symbol table info available.
#3 0x0000563224f0af98 in CGhost::OnRender() [clone .part.0] ()
No symbol table info available.
#4 0x0000563224f99192 in CGameClient::OnRender() ()
No symbol table info available.
#5 0x0000563224ea461c in CClient::Render() ()
No symbol table info available.
#6 0x0000563224ead4c8 in CClient::Run() ()
No symbol table info available.
#7 0x0000563224e3e60a in main ()
No symbol table info available.
(gdb)
IntersectCharacter
can lead to a std::_Rb_tree::_M_copy
happeningstd::_Rb_tree
. It's almost definitely one of the std::set
scp: cannot stat 'build/outputs/bundle/release/DDNet-release.aab': No such file or directory
./scripts/android/cmake_android.sh arm64 DDNet Release
./scripts/compile_libs/gen_libs.sh ../tmp android
and copied them to ddnet-libs in root dircp: cannot stat 'compile_libs/png/build_android_arm/libpng16.a': No such file or directory
cp: cannot stat 'compile_libs/png/build_android_arm64/libpng16.a': No such file or directory
IntersectCharacter
can lead to a std::_Rb_tree::_M_copy
happening -DCMAKE_BUILD_TYPE=Debug
what else am I supposed to change/add?readelf -S ./DDNet | grep -i debug
[30] .debug_aranges PROGBITS 0000000000000000 00387860
[31] .debug_info PROGBITS 0000000000000000 00387950
[32] .debug_abbrev PROGBITS 0000000000000000 00387ed3
[33] .debug_line PROGBITS 0000000000000000 0038804a
[34] .debug_str PROGBITS 0000000000000000 00388264
[35] .debug_ranges PROGBITS 0000000000000000 00388690
gdb ./DDNet
does that load the symbol table properly?Reading symbols from DDNet...
(gdb)
std::set
is the culpritstd::set
everywhere to detect more bugs std::set
is just revealing the issuepatch -p1 < test.patch
std::set
into CCharacterCore
, I'm unsure why the copy constructor of std::set
didn't work. It might be a good idea to check and see if there is a further underlying issue @C0D3D3V.
Backtrace
```c++
#0 gnu_cxx::new_allocator<std::_Rb_tree_node >::construct (this=0x7fffffff95e8, p=0x555558935fd0) at /usr/include/c++/10.2/ext/new_allocator.h:150
No locals.
#1 0x0000555555831100 in std::...9dd46eb
. Here's a backtrace from the coredump. Don't know if it says anything, but I can send more if needed.
Core was generated by `./DDNet'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000563224f92cea in std::_Rb_tree_node<int>* std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy<std::_Rb_tree<int, int, std::_Identity<int>, st>
[Current thread is 1 (Thread 0x7f6cd717d980 (LWP 14588))]
(gdb) bt full
#0 0x0000563224f92cea in std::_Rb_tree_node<int>* std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_M_copy<std::_Rb_tree<int, int, std::_Identity<int>, st>
No symbol table info available.
#1 0x0000563224f9eb1b in CGameClient::IntersectCharacter(vector2_base<float>, vector2_base<float>, vector2_base<float>&, int) ()
No symbol table info available.
#2 0x0000563224f7c93f in CPlayers::RenderHookCollLine(CNetObj_Character const*, CNetObj_Character const*, int, float) ()
No symbol table info available.
#3 0x0000563224f0af98 in CGhost::OnRender() [clone .part.0] ()
No symbol table info available.
#4 0x0000563224f99192 in CGameClient::OnRender() ()
No symbol table info available.
#5 0x0000563224ea461c in CClient::Render() ()
No symbol table info available.
#6 0x0000563224ead4c8 in CClient::Run() ()
No symbol table info available.
#7 0x0000563224e3e60a in main ()
No symbol table info available.
(gdb)
std::set
is just revealing the issue CC=clang CXX=clang++ CXXFLAGS="-fsanitize=address,undefined -fsanitize-recover=address,undefined -fno-omit-frame-pointer" CFLAGS="-fsanitize=address,undefined -fsanitize-recover=address,undefined -fno-omit-frame-pointer" cmake -DCMAKE_BUILD_TYPE=Debug .. && make -j$(nproc)
then you can start DDnet like this:
UBSAN_OPTIONS=log_path=./SAN:print_stacktrace=1:halt_on_errors=0 ASAN_OPTIONS=log_path=./SAN:print_stacktrace=1:check_initialization_order=1:detect_leaks=1:halt_on_errors=0 ./DDNet
Thats at least how I build and run with Asan
@furo (edited)cp: cannot stat 'build/outputs/bundle/release/DDNet-release.aab': No such file or directory