Thank you both for looking at this. When looking sooner in the travis log I found these lines:
test/maps/plain.wmf/scripting/test_casern.lua ... Running Widelands ... *** Error in `build/src/widelands': double free or corruption (!prev): 0x000000000670d1e0 *** FAIL So you are right SirVer: A double free in any case. But I would guess some memory corruption, too, since it does not appear every time. Through running the test a lot of times I was able to get the following backtrace. Seems like the CmdQueue has problems when cleaning up on program exit. [...] MO(7,barbarians_barracks): Recruit leaving MO(2,barbarians_lumberjacks_hut): Lumberjack leaving Thread 1 "widelands" received signal SIGSEGV, Segmentation fault. 0x00007ffff518b8c0 in _int_free (av=0x7ffff54acb00 <main_arena>, p=0x55555d89b6e0, have_lock=0) at malloc.c:4049 4049 malloc.c: No such file or directory. A debugging session is active. Inferior 1 [process 6294] will be killed. Quit anyway? (y or n) n Not confirmed. (gdb) bt #0 0x00007ffff518b8c0 in _int_free (av=0x7ffff54acb00 <main_arena>, p=0x55555d89b6e0, have_lock=0) at malloc.c:4049 #1 0x0000555555ff2ec4 in __gnu_cxx::new_allocator<Widelands::CmdQueue::CmdItem>::deallocate (this=0x555558b2aae0, __p=0x55555d89b6f0) at /usr/include/c++/6/ext/new_allocator.h:110 #2 0x0000555555ff2828 in std::allocator_traits<std::allocator<Widelands::CmdQueue::CmdItem> >::deallocate (__a=..., __p=0x55555d89b6f0, __n=8) at /usr/include/c++/6/bits/alloc_traits.h:442 #3 0x0000555555ff1efe in std::_Vector_base<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> >::_M_deallocate (this=0x555558b2aae0, __p=0x55555d89b6f0, __n=8) at /usr/include/c++/6/bits/stl_vector.h:178 #4 0x0000555555ff19bd in std::_Vector_base<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> >::~_Vector_base (this=0x555558b2aae0, __in_chrg=<optimized out>) at /usr/include/c++/6/bits/stl_vector.h:160 #5 0x0000555555ff16b9 in std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> >::~vector (this=0x555558b2aae0, __in_chrg=<optimized out>) at /usr/include/c++/6/bits/stl_vector.h:427 #6 0x0000555555ff1658 in std::priority_queue<Widelands::CmdQueue::CmdItem, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> >, std::less<Widelands::CmdQueue::CmdItem> >::~priority_queue (this=0x555558b2aae0, __in_chrg=<optimized out>) at /usr/include/c++/6/bits/stl_queue.h:397 #7 0x0000555555ff30d1 in std::_Destroy<std::priority_queue<Widelands::CmdQueue::CmdItem, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> >, std::less<Widelands::CmdQueue::CmdItem> > > (__pointer=0x555558b2aae0) at /usr/include/c++/6/bits/stl_construct.h:93 #8 0x0000555555ff2c34 in std::_Destroy_aux<false>::__destroy<std::priority_queue<Widelands::CmdQueue::CmdItem, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> >, std::less<Widelands::CmdQueue::CmdItem> >*> (__first=0x555558b2aae0, __last=0x555558c84ae0) at /usr/include/c++/6/bits/stl_construct.h:103 #9 0x0000555555ff21d7 in std::_Destroy<std::priority_queue<Widelands::CmdQueue::CmdItem, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> >, std::less<Widelands::CmdQueue::CmdItem> >*> (__first=0x555558a84ae0, __last=0x555558c84ae0) at /usr/include/c++/6/bits/stl_construct.h:126 #10 0x0000555555ff1c27 in std::_Destroy<std::priority_queue<Widelands::CmdQueue::CmdItem, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> >, std::less<Widelands::CmdQueue::CmdItem> >*, std::priority_queue<Widelands::CmdQueue::CmdItem, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> >, std::less<Widelands::CmdQueue::CmdItem> > > (__first=0x555558a84ae0, __last=0x555558c84ae0) at /usr/include/c++/6/bits/stl_construct.h:151 #11 0x0000555555ff182b in std::vector<std::priority_queue<Widelands::CmdQueue::CmdItem, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> >, std::less<Widelands::CmdQueue::CmdItem> >, std::allocator<std::priority_queue<Widelands::CmdQueue::CmdItem, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> >, std::less<Widelands::CmdQueue::CmdItem> > > >::~vector (this=0x7fffffffd5a0, __in_chrg=<optimized out>) at /usr/include/c++/6/bits/stl_vector.h:426 #12 0x0000555555ff0c2e in Widelands::CmdQueue::~CmdQueue (this=0x7fffffffd590, __in_chrg=<optimized out>) at ../src/logic/cmd_queue.cc:46 #13 0x0000555555eda50e in Widelands::Game::~Game (this=0x7fffffffd3c0, __in_chrg=<optimized out>) at ../src/logic/game.cc:133 #14 0x0000555555dc3343 in WLApplication::run (this=0x555556ae3a90) at ../src/wlapplication.cc:423 #15 0x0000555555dc1a1d in main (argc=10, argv=0x7fffffffd888) at ../src/main.cc:49 -- https://code.launchpad.net/~widelands-dev/widelands/casern_workersqueue/+merge/309763 Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/casern_workersqueue into lp:widelands. _______________________________________________ Mailing list: https://launchpad.net/~widelands-dev Post to : widelands-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~widelands-dev More help : https://help.launchpad.net/ListHelp