Author Topic: x3.9.1, Linux 64-bit headless (General) freezes in __lll_lock*  (Read 1289 times)

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
The 'General' headless server froze again. I'm not sure whether the __lll_lock_* state is indicative for this, but searching on the forums will show that we've seen similar freezes on several servers going back to at least v3.5.1.

This is what gdb -q -n -ex "bt" -batch megaglest `pidof megaglest` reports:

Code: [Select]
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:95
#1  0x00007f70be1e8b6d in _L_lock_49 () at malloc.c:5151
#2  0x00007f70be1e161c in ptmalloc_lock_all () at arena.c:248
#3  0x00007f70be2248e2 in __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/x86_64/../fork.c:95
#4  0x00007f70be1d39e1 in _IO_new_proc_open (fp=fp@entry=0x2a58400, command=command@entry=0x7fffaf23c0c0 "addr2line -C -e /home/megaglest/megaglest-3.9.1/megaglest -f -i 0x7a7117", mode=<optimized out>, mode@entry=0xea65e7 "r") at iopopen.c:183
#5  0x00007f70be1d3d37 in _IO_new_popen (command=0x7fffaf23c0c0 "addr2line -C -e /home/megaglest/megaglest-3.9.1/megaglest -f -i 0x7a7117", mode=0xea65e7 "r") at iopopen.c:301
#6  0x0000000000c0552d in getFileAndLine (flen=<optimized out>, file=<optimized out>, address=<optimized out>, function=<optimized out>) at /home/softcoder/Code/megaglest/git/source/shared_lib/sources/platform/sdl/platform_util.cpp:131
#7  Shared::Platform::PlatformExceptionHandler::getStackTrace () at /home/softcoder/Code/megaglest/git/source/shared_lib/sources/platform/sdl/platform_util.cpp:289
#8  0x00000000007a7117 in Glest::Game::ExceptionHandler::handleRuntimeError (msg=<optimized out>, getStackTraceString=true) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:638
#9  0x00000000007a780f in Glest::Game::handleSIGSEGV (sig=<optimized out>) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:5606
#10 <signal handler called>
#11 malloc_consolidate (av=av@entry=0x7f7090000020) at malloc.c:4086
#12 0x00007f70be1e37e8 in _int_free (av=0x7f7090000020, p=0x7f7090076ca0, have_lock=0) at malloc.c:3994
#13 0x0000000000b1b225 in deallocate (this=<optimized out>, __p=<optimized out>) at /usr/include/c++/4.4/ext/new_allocator.h:95
#14 _M_deallocate (__p=<optimized out>, this=<optimized out>, __n=<optimized out>) at /usr/include/c++/4.4/bits/stl_vector.h:146
#15 ~_Vector_base (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.4/bits/stl_vector.h:132
#16 ~vector (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.4/bits/stl_vector.h:313
#17 ~UnitRangeCellsLookupItem (this=<optimized out>, __in_chrg=<optimized out>) at /home/softcoder/Code/megaglest/git/source/glest_game/world/unit_updater.h:47
#18 ~pair (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.4/bits/stl_pair.h:68
#19 destroy (__p=<optimized out>, this=<optimized out>) at /usr/include/c++/4.4/ext/new_allocator.h:115
#20 _M_destroy_node (__p=<optimized out>, this=<optimized out>) at /usr/include/c++/4.4/bits/stl_tree.h:383
#21 std::_Rb_tree<int, std::pair<int const, Glest::Game::UnitRangeCellsLookupItem>, std::_Select1st<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> >, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > >::_M_erase (this=0x7f709006ac48, __x=0x7f709006ac80) at /usr/include/c++/4.4/bits/stl_tree.h:972
#22 0x0000000000b1b504 in _M_erase (__x=0x7f70941ddaf0, this=<optimized out>) at /usr/include/c++/4.4/bits/stl_tree.h:970
#23 ~_Rb_tree (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.4/bits/stl_tree.h:614
#24 ~map (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.4/bits/stl_map.h:87
#25 ~pair (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.4/bits/stl_pair.h:68
#26 destroy (__p=<optimized out>, this=<optimized out>) at /usr/include/c++/4.4/ext/new_allocator.h:115
#27 _M_destroy_node (__p=<optimized out>, this=<optimized out>) at /usr/include/c++/4.4/bits/stl_tree.h:383
#28 std::_Rb_tree<int, std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > >, std::_Select1st<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > >, std::less<int>, std::allocator<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > > >::_M_erase (this=0x7f7090053bf8, __x=<optimized out>) at /usr/include/c++/4.4/bits/stl_tree.h:972
#29 0x0000000000b1b679 in ~_Rb_tree (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.4/bits/stl_tree.h:614
#30 ~map (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.4/bits/stl_map.h:87
#31 ~pair (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.4/bits/stl_pair.h:68
#32 destroy (__p=<optimized out>, this=<optimized out>) at /usr/include/c++/4.4/ext/new_allocator.h:115
#33 _M_destroy_node (__p=<optimized out>, this=<optimized out>) at /usr/include/c++/4.4/bits/stl_tree.h:383
#34 _M_erase (__x=0x0, this=0x2a2b8c0) at /usr/include/c++/4.4/bits/stl_tree.h:972
#35 _M_erase (__x=0x2da11e0, this=0x2a2b8c0) at /usr/include/c++/4.4/bits/stl_tree.h:970
#36 _M_erase (__x=<optimized out>, this=0x2a2b8c0) at /usr/include/c++/4.4/bits/stl_tree.h:970
#37 _M_erase (__x=<optimized out>, this=0x2a2b8c0) at /usr/include/c++/4.4/bits/stl_tree.h:970
#38 _M_erase (__x=<optimized out>, this=0x2a2b8c0) at /usr/include/c++/4.4/bits/stl_tree.h:970
#39 _M_erase (__x=<optimized out>, this=0x2a2b8c0) at /usr/include/c++/4.4/bits/stl_tree.h:970
#40 std::_Rb_tree<Shared::Graphics::Vec2<int>, std::pair<Shared::Graphics::Vec2<int> const, std::map<int, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > >, std::less<int>, std::allocator<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > > > >, std::_Select1st<std::pair<Shared::Graphics::Vec2<int> const, std::map<int, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > >, std::less<int>, std::allocator<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > > > > >, std::less<Shared::Graphics::Vec2<int> >, std::allocator<std::pair<Shared::Graphics::Vec2<int> const, std::map<int, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > >, std::less<int>, std::allocator<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > > > > > >::_M_erase (this=0x2a2b8c0, __x=<optimized out>) at /usr/include/c++/4.4/bits/stl_tree.h:970
#41 0x0000000000b091c6 in ~_Rb_tree (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.4/bits/stl_tree.h:614
#42 ~map (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/4.4/bits/stl_map.h:87
#43 Glest::Game::UnitUpdater::~UnitUpdater (this=0x2a2b850, __in_chrg=<optimized out>) at /home/softcoder/Code/megaglest/git/source/glest_game/world/unit_updater.cpp:113
#44 0x0000000000af1235 in Glest::Game::World::~World (this=0x2a2b038, __in_chrg=<optimized out>) at /home/softcoder/Code/megaglest/git/source/glest_game/world/world.cpp:148
#45 0x000000000068144b in Glest::Game::Game::~Game (this=0x2a2aff0, __in_chrg=<optimized out>) at /home/softcoder/Code/megaglest/git/source/glest_game/game/game.cpp:471
#46 0x0000000000795319 in Glest::Game::BattleEnd::~BattleEnd (this=0x96ec510, __in_chrg=<optimized out>) at /home/softcoder/Code/megaglest/git/source/glest_game/main/battle_end.cpp:103
#47 0x00000000007e2e93 in Glest::Game::Program::~Program (this=0x29e4470, __in_chrg=<optimized out>) at /home/softcoder/Code/megaglest/git/source/glest_game/main/program.cpp:283
#48 0x00000000007a251f in Glest::Game::MainWindow::~MainWindow (this=0x29e4a60, __in_chrg=<optimized out>) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:813
#49 0x00000000007cc0f7 in Glest::Game::glestMain (argc=0, argv=0x2a54000) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:5570
#50 0x00000000007d45c1 in Glest::Game::glestMainSEHWrapper (argc=4, argv=0x7fffaf248f38) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:5697
#51 0x00007f70be184de5 in __libc_start_main (main=0x7d46d0 <main(int, char**)>, argc=4, ubp_av=0x7fffaf248f38, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffaf248f28) at libc-start.c:260
#52 0x00000000005eddd9 in _start ()
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,240
    • View Profile
    • http://www.titusgames.de
Re: x3.9.1, Linux 64-bit headless (General) freezes in __lll_lock*
« Reply #1 on: 26 March 2014, 23:57:00 »
This is another freeze from our french headless server, I am not sure its related:

Code: [Select]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
__lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:95
95 ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: No such file or directory.
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:95
#1  0x00007f0de154af1c in _L_lock_11850 () at malloc.c:5151
#2  0x00007f0de15484c5 in __GI___libc_malloc (bytes=34) at malloc.c:2856
#3  0x00007f0de1e05f4d in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007f0de1e60f39 in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007f0de1e62641 in char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007f0de1e62a58 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00000000007a33b9 in Glest::Game::ExceptionHandler::logError (msg=<optimized out>, confirmToConsole=true) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:559
#8  0x00000000007a6ee4 in Glest::Game::ExceptionHandler::handleRuntimeError (msg=0x7fffecce4dc0 "In [/home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5602] Error detected: signal 11:\n", getStackT
raceString=true) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:626
#9  0x00000000007a780f in Glest::Game::handleSIGSEGV (sig=<optimized out>) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:5606
#10 <signal handler called>
#11 malloc_consolidate (av=av@entry=0x7f0de1886740 <main_arena>) at malloc.c:4086
#12 0x00007f0de15460e1 in _int_malloc (av=av@entry=0x7f0de1886740 <main_arena>, bytes=bytes@entry=35456) at malloc.c:3379
#13 0x00007f0de154906f in __libc_calloc (n=<optimized out>, elem_size=<optimized out>) at malloc.c:3190
#14 0x0000000000e334ef in Curl_open ()
#15 0x0000000000e25f92 in curl_easy_init ()
#16 0x0000000000be1543 in Shared::Util::SystemFlags::initHTTP () at /home/softcoder/Code/megaglest/git/source/shared_lib/sources/util/util.cpp:198
#17 0x00000000009c2be4 in Glest::Game::ServerInterface::simpleTask (this=0x33be730, userdata=<optimized out>, callingThread=<optimized out>) at /home/softcoder/Code/megaglest/git/source/glest_game/network/server_interface.cpp:2986
#18 0x00000000009c6d80 in Glest::Game::ServerInterface::~ServerInterface (this=0x33be730, __in_chrg=<optimized out>) at /home/softcoder/Code/megaglest/git/source/glest_game/network/server_interface.cpp:287
#19 0x0000000000991d68 in Glest::Game::NetworkManager::end (this=0x131cf40 <Glest::Game::NetworkManager::getInstance()::networkManager>) at /home/softcoder/Code/megaglest/git/source/glest_game/network/network_manager.cpp:75
#20 0x000000000066ef50 in Glest::Game::Game::quitGame (this=0x3395ca0) at /home/softcoder/Code/megaglest/git/source/glest_game/game/game.cpp:5041
#21 0x000000000066faa9 in Glest::Game::Game::quitAndToggleState (this=0x8a80) at /home/softcoder/Code/megaglest/git/source/glest_game/game/game.cpp:484
#22 0x00000000007dbf28 in Glest::Game::Program::loopWorker (this=0x33215f0) at /home/softcoder/Code/megaglest/git/source/glest_game/main/program.cpp:410
#23 0x00000000007d2a75 in Glest::Game::glestMain (argc=<optimized out>, argv=0x33d4780) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:5451
#24 0x00000000007d45c1 in Glest::Game::glestMainSEHWrapper (argc=5, argv=0x7fffeccee9e8) at /home/softcoder/Code/megaglest/git/source/glest_game/main/main.cpp:5697
#25 0x00007f0de14e6de5 in __libc_start_main (main=0x7d46d0 <main(int, char**)>, argc=5, ubp_av=0x7fffeccee9e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffeccee9d8) at libc-start.c:260
#26 0x00000000005eddd9 in _start ()

Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios