I also think, that there is a memory leak. I just found one small tool memleax and this is the result:
0x0000000000e4344d widelands _ZN9Widelands15CmdLuaCoroutine7executeERNS_4Ga()+53 /var/widelands/BZR/production_statistics/src/ui_basic/panel.h:130 0x0000000000e44901 widelands _ZN9Widelands8CmdQueue9run_queueEiRj()+427 /var/widelands/BZR/production_statistics/src/ui_basic/panel.h:130 0x0000000000d34427 widelands _ZN9Widelands4Game5thinkEv()+187 /var/widelands/BZR/production_statistics/src/ui_basic/panel.h:130 0x0000000000f6a105 widelands _ZN15InteractiveBase5thinkEv()+595 /usr/include/c++/6.2.1/bits/stl_iterator_base_funcs.h:103 0x0000000000f7adba widelands _ZN17InteractivePlayer5thinkEv()+34 /usr/include/c++/6.2.1/bits/stl_iterator_base_funcs.h:103 0x0000000000ec3fe5 widelands _ZN2UI5Panel8do_thinkEv()+51 /var/widelands/BZR/production_statistics/src/ui_basic/panel.h:130 0x0000000000ec388b widelands _ZN2UI5Panel6do_runEv()+647 /var/widelands/BZR/production_statistics/src/ui_basic/panel.h:130 0x0000000000c25a30 widelands _ZN2UI5Panel3runINS0_11ReturncodesEEET_v()+24 /var/widelands/BZR/production_statistics/src/base/vector.h:30 0x0000000000d34119 widelands _ZN9Widelands4Game3runEPN2UI14ProgressWindowEN()+2225 /var/widelands/BZR/production_statistics/src/ui_basic/panel.h:130 0x0000000000d33584 widelands _ZN9Widelands4Game13run_load_gameERKNSt7__cxx1()+1162 /var/widelands/BZR/production_statistics/src/ui_basic/panel.h:130 0x0000000000c2054a widelands _ZN13WLApplication9load_gameEv()+238 /usr/include/c++/6.2.1/bits/hashtable_policy.h:2009 0x0000000000c1f69e widelands _ZN13WLApplication21mainmenu_singleplayerEv()+130 /usr/include/c++/6.2.1/bits/hashtable_policy.h:2009 0x0000000000c1f088 widelands _ZN13WLApplication8mainmenuEv()+346 /usr/include/c++/6.2.1/bits/hashtable_policy.h:2009 0x0000000000c1bbbc widelands _ZN13WLApplication3runEv()+732 /usr/include/c++/6.2.1/bits/hashtable_policy.h:2009 0x0000000000c1a231 widelands main()+107 /usr/include/c++/6.2.1/bits/hashtable_policy.h:2009
CallStack[49]: may-leak=497 (27832 bytes) expired=497 (27832 bytes), free_expired=0 (0 bytes) alloc=3143 (176008 bytes), free=0 (0 bytes) freed memory live time: min=0 max=0 average=0 un-freed memory live time: max=11
I would say it points to ui_basic/panel.h:130 what is weird, but who knows... :)
I also think, that there is a memory leak.
I just found one small tool memleax and this is the result:
0x0000000000 e4344d widelands _ZN9Widelands15 CmdLuaCoroutine 7executeERNS_ 4Ga()+53 /var/widelands/ BZR/production_ statistics/ src/ui_ basic/panel. h:130 0e44901 widelands _ZN9Widelands8C mdQueue9run_ queueEiRj( )+427 /var/widelands/ BZR/production_ statistics/ src/ui_ basic/panel. h:130 0d34427 widelands _ZN9Widelands4G ame5thinkEv( )+187 /var/widelands/ BZR/production_ statistics/ src/ui_ basic/panel. h:130 0f6a105 widelands _ZN15Interactiv eBase5thinkEv( )+595 /usr/include/ c++/6.2. 1/bits/ stl_iterator_ base_funcs. h:103 0f7adba widelands _ZN17Interactiv ePlayer5thinkEv ()+34 /usr/include/ c++/6.2. 1/bits/ stl_iterator_ base_funcs. h:103 0ec3fe5 widelands _ZN2UI5Panel8do _thinkEv( )+51 /var/widelands/ BZR/production_ statistics/ src/ui_ basic/panel. h:130 0ec388b widelands _ZN2UI5Panel6do _runEv( )+647 /var/widelands/ BZR/production_ statistics/ src/ui_ basic/panel. h:130 0c25a30 widelands _ZN2UI5Panel3ru nINS0_11Returnc odesEEET_ v()+24 /var/widelands/ BZR/production_ statistics/ src/base/ vector. h:30 0d34119 widelands _ZN9Widelands4G ame3runEPN2UI14 ProgressWindowE N()+2225 /var/widelands/ BZR/production_ statistics/ src/ui_ basic/panel. h:130 0d33584 widelands _ZN9Widelands4G ame13run_ load_gameERKNSt 7__cxx1( )+1162 /var/widelands/ BZR/production_ statistics/ src/ui_ basic/panel. h:130 0c2054a widelands _ZN13WLApplicat ion9load_ gameEv( )+238 /usr/include/ c++/6.2. 1/bits/ hashtable_ policy. h:2009 0c1f69e widelands _ZN13WLApplicat ion21mainmenu_ singleplayerEv( )+130 /usr/include/ c++/6.2. 1/bits/ hashtable_ policy. h:2009 0c1f088 widelands _ZN13WLApplicat ion8mainmenuEv( )+346 /usr/include/ c++/6.2. 1/bits/ hashtable_ policy. h:2009 0c1bbbc widelands _ZN13WLApplicat ion3runEv( )+732 /usr/include/ c++/6.2. 1/bits/ hashtable_ policy. h:2009 0c1a231 widelands main()+107 /usr/include/ c++/6.2. 1/bits/ hashtable_ policy. h:2009
0x000000000
0x000000000
0x000000000
0x000000000
0x000000000
0x000000000
0x000000000
0x000000000
0x000000000
0x000000000
0x000000000
0x000000000
0x000000000
0x000000000
CallStack[49]: may-leak=497 (27832 bytes)
expired=497 (27832 bytes), free_expired=0 (0 bytes)
alloc=3143 (176008 bytes), free=0 (0 bytes)
freed memory live time: min=0 max=0 average=0
un-freed memory live time: max=11
I would say it points to ui_basic/ panel.h: 130 what is weird, but who knows... :)