Skip to content

Instantly share code, notes, and snippets.

@jyrkive
Created July 27, 2017 17:15
Show Gist options
  • Save jyrkive/30ec41535b1bcd199a381073d9ace062 to your computer and use it in GitHub Desktop.
Save jyrkive/30ec41535b1bcd199a381073d9ace062 to your computer and use it in GitHub Desktop.
Unit test segfault backtrace
Thread 3 "test-debug" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f473cb4c700 (LWP 26344)]
0x00007f474e617dfb in ?? () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0 0x00007f474e617dfb in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f474eead538 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2 0x000000010032fe76 in std::operator< <char, std::char_traits<char>, std::allocator<char> > (
__lhs=..., __rhs=...) at /usr/include/c++/6/bits/basic_string.h:5153
#3 0x0000000100331cb7 in std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator() (this=0x101d2c2e0 <file_number_map>, __x=..., __y=...)
at /usr/include/c++/6/bits/stl_function.h:386
#4 0x00000001004bf99d in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >::_M_lower_bound (
this=0x101d2c2e0 <file_number_map>, __x=0x7f473809a860, __y=0x7f47380067c0, __k=...)
at /usr/include/c++/6/bits/stl_tree.h:1654
#5 0x00000001004bcb53 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >::lower_bound (
this=0x101d2c2e0 <file_number_map>, __k=...) at /usr/include/c++/6/bits/stl_tree.h:1103
#6 0x00000001004b9e93 in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >::lower_bound (this=0x101d2c2e0 <file_number_map>, __x=...)
at /usr/include/c++/6/bits/stl_map.h:1150
#7 0x00000001004b7568 in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::all---Type <return> to continue, or q <return> to quit---
ocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) (this=0x101d2c2e0 <file_number_map>,
__k=<unknown type in /home/jyrki/wesnoth/test-debug, CU 0x96b264, DIE 0x99c490>)
at /usr/include/c++/6/bits/stl_map.h:499
#8 0x0000000100ff9cd7 in get_file_code (filename=...) at src/serialization/preprocessor.cpp:78
#9 0x0000000100ffc9b4 in preprocessor_data::preprocessor_data (this=0x7f4738088bc0, t=...,
i=0x7f473808edb0, history=..., name=..., linenum=1, directory=..., domain=..., defines=0x0,
is_define=false) at src/serialization/preprocessor.cpp:624
#10 0x0000000100ffc47f in preprocessor_file::preprocessor_file (this=0x7f47380be1d0, t=...,
name=..., symbol_index=18446744073709551615) at src/serialization/preprocessor.cpp:575
#11 0x0000000100ffc7a7 in preprocessor_file::get_chunk (this=0x7f4738009340)
at src/serialization/preprocessor.cpp:595
#12 0x0000000100ffb2fa in preprocessor_streambuf::underflow (this=0x7f4738005140)
at src/serialization/preprocessor.cpp:331
#13 0x00000001010034c2 in buffered_istream::fill_buffer (this=0x7f473cb4a2f0)
at src/buffered_istream.hpp:165
#14 0x00000001010033b4 in buffered_istream::get (this=0x7f473cb4a2f0)
at src/buffered_istream.hpp:63
#15 0x00000001010236a0 in tokenizer::next_char_fast (this=0x7f473cb4a278)
at src/serialization/tokenizer.hpp:108
#16 0x0000000101023681 in tokenizer::next_char (this=0x7f473cb4a278)
at src/serialization/tokenizer.hpp:102
#17 0x00000001010231d9 in tokenizer::next_token (this=0x7f473cb4a278)
at src/serialization/tokenizer.cpp:108
#18 0x0000000100fe7325 in (anonymous namespace)::parser::parse_variable (this=0x7f473cb4a270)
at src/serialization/parser.cpp:270
#19 0x0000000100fe567c in (anonymous namespace)::parser::operator() (this=0x7f473cb4a270)
at src/serialization/parser.cpp:124
---Type <return> to continue, or q <return> to quit---
#20 0x0000000100fe8468 in read (cfg=..., in=..., validator=0x0) at src/serialization/parser.cpp:414
#21 0x000000010047604f in game_config::config_cache::read_configs (
this=0x101d1d0a0 <game_config::config_cache::instance()::cache>, file_path=..., cfg=...,
defines_map=...) at src/config_cache.cpp:134
#22 0x0000000100476998 in game_config::config_cache::read_cache (
this=0x101d1d0a0 <game_config::config_cache::instance()::cache>, file_path=..., cfg=...)
at src/config_cache.cpp:225
#23 0x000000010047758c in game_config::config_cache::load_configs (
this=0x101d1d0a0 <game_config::config_cache::instance()::cache>, config_path=..., cfg=...)
at src/config_cache.cpp:280
#24 0x0000000100475cbd in game_config::config_cache::get_config (
this=0x101d1d0a0 <game_config::config_cache::instance()::cache>, file_path=..., cfg=...)
at src/config_cache.cpp:86
#25 0x0000000100525159 in game_config_manager::load_game_config (this=0x10250d720,
force_reload=game_config_manager::NO_FORCE_RELOAD, classification=0x0)
at src/game_config_manager.cpp:256
#26 0x000000010052404c in game_config_manager::<lambda()>::operator()(void) const (
__closure=0x102819ec0) at src/game_config_manager.cpp:138
#27 0x0000000100528acf in std::_Function_handler<void(), game_config_manager::load_game_config_with_loadscreen(game_config_manager::FORCE_RELOAD_CONFIG, const game_classification*)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/6/functional:1731
#28 0x000000010060ac0c in std::function<void ()>::operator()() const (this=0x7fffffffc488)
at /usr/include/c++/6/functional:2127
#29 0x000000010065b523 in gui2::dialogs::loading_screen::<lambda()>::operator()(void) const (
__closure=0x1022649f8) at src/gui/dialogs/loading_screen.cpp:123
#30 0x000000010065cd86 in boost::detail::thread_data<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> >::run(void) (this=0x102264840)
at /usr/include/boost/thread/detail/thread.hpp:116
#31 0x00007f47502c8f86 in ?? () from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.61.0
#32 0x00007f4752de4494 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#33 0x00007f474e5bba8f in clone () from /lib/x86_64-linux-gnu/libc.so.6
(gdb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment