Latest Posts

Topic: Game suddenly very slow

PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2020-04-25, 18:52

Playing against 7 AI players on the Lesser Ring map, my game suddenly got very slow today, to the point of becoming unplayable.

I remember being able to play on that map on the same hardware for far longer in older versions.

The system is a i7-7500U with 32 GB of RAM (though the latter doesn't matter as there always is plenty of free RAM).

Savegame: http://www.colecovision.eu/stuff/widelands-suddenly-slow/PkK%202.wgf


Top Quote
Native
Avatar
Joined: 2020-03-04, 22:11
Posts: 11
Ranking
Pry about Widelands
Location: Bietigheim-Bissingen
Posted at: 2020-04-25, 19:02

What version of Widelands do you have and what operating system? Did you try restarting the game to fix the issue?


Top Quote
PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2020-04-25, 19:05

What version of Widelands do you have and what operating system?

philipp@notebook5:~/widelands$ git rev-parse HEAD e78209ca80a823b75b1cb540c5c7fa96a521a045

I use Debian GNU/Linux testing.

Did you try restarting the game to fix the issue?

Restarting and reloading the savegame doesn't fix the slowness.

Edited: 2020-04-25, 19:06

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 1929
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2020-04-25, 19:16

I tried loading this savegame with current master but it runs smoothly even at 20× speed. If the problem persists, you could try running WL in gdb, pressing Ctrl-C while the game is hanging, and type bt to get some backtraces which functions are taking so long…


Top Quote
PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2020-04-25, 19:32

Nordfriese wrote:

I tried loading this savegame with current master but it runs smoothly even at 20× speed.

Interesting. master is only 5 commits ahead. I'll retry with that one.


Top Quote
PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2020-04-25, 19:35

PkK wrote:

Nordfriese wrote:

I tried loading this savegame with current master but it runs smoothly even at 20× speed.

Interesting. master is only 5 commits ahead. I'll retry with that one.

Tried. Still get 0.3 fps when running at 1x. I see the normal 30 fps when the game is paused.


Top Quote
PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2020-04-25, 19:46

Nordfriese wrote:

I tried loading this savegame with current master but it runs smoothly even at 20× speed. If the problem persists, you could try running WL in gdb, pressing Ctrl-C while the game is hanging, and type bt to get some backtraces which functions are taking so long…

Got five backtraces that one. All in Widelands::Game::think().

Four of those in Widelands::CmdQueue::run_queue(int, unsigned int&), one in SinglePlayerGameController::think(). Going one level deeper, the four are all in different functions.


Top Quote
PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2020-04-25, 19:51

Is there an easy way to pass compiler or linker options so I could use gprof or gperftools?


Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 1929
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2020-04-25, 19:56

Could you post or upload the backtraces here?

If you want to use compiler or linker options, you'll have to use CMake and Ninja directly instead of compile/update.sh


Top Quote
PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2020-04-25, 20:00

Backtraces:

First:

1315        { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
(gdb) bt
#0  0x000055555658ee50 in std::__get_helper<0ul, Widelands::Field*, std::default_delete<Widelands::Field []> >(std::_Tuple_impl<0ul, Widelands::Field*, std::default_delete<Widelands::Field []> > const&) (__t=...) at /usr/include/c++/9/tuple:1315
#1  0x000055555658ec72 in std::get<0ul, Widelands::Field*, std::default_delete<Widelands::Field []> >(std::tuple<Widelands::Field*, std::default_delete<Widelands::Field []> > const&) (__t=std::tuple containing = {...}) at /usr/include/c++/9/tuple:1327
#2  0x000055555658e9a0 in std::__uniq_ptr_impl<Widelands::Field, std::default_delete<Widelands::Field []> >::_M_ptr() const
    (this=0x7fffffff84b8) at /usr/include/c++/9/bits/unique_ptr.h:154
#3  0x000055555658de9e in std::unique_ptr<Widelands::Field [], std::default_delete<Widelands::Field []> >::get() const
    (this=0x7fffffff84b8) at /usr/include/c++/9/bits/unique_ptr.h:620
#4  0x00005555568ed9aa in Widelands::Map::find_reachable<Widelands::FindImmovablesCallback>(Widelands::EditorGameBase const&, Widelands::Area<Widelands::FCoords, unsigned short> const&, Widelands::CheckStep const&, Widelands::FindImmovablesCallback&) const (this=0x7fffffff8378, 
    egbase=..., area=..., checkstep=..., functor=...) at ../src/logic/map.cc:926
#5  0x00005555568d7688 in Widelands::Map::find_reachable_immovables_unique(Widelands::EditorGameBase const&, Widelands::Area<Widelands::FCoords, unsigned short>, std::vector<Widelands::BaseImmovable*, std::allocator<Widelands::BaseImmovable*> >&, Widelands::CheckStep const&, Widelands::FindImmovable const&) const
    (this=0x7fffffff8378, egbase=..., area=..., list=std::vector of length 0, capacity 0, checkstep=..., functor=...)
    at ../src/logic/map.cc:1119
#6  0x0000555556865b51 in Widelands::Player::find_attack_soldiers(Widelands::Flag&, std::vector<Widelands::Soldier*, std::allocator<Widelands::Soldier*> >*, unsigned int) (this=0x6190027b4b80, flag=..., soldiers=0x7fffffff6e40, nr_wanted=4294967295)
    at ../src/logic/player.cc:1067
#7  0x000055555760049d in DefaultAI::check_enemy_sites(unsigned int) (this=0x61d000489e80, gametime=28622296)
    at ../src/ai/defaultai_warfare.cc:224
#8  0x00005555574fbceb in DefaultAI::think() (this=0x61d000489e80) at ../src/ai/defaultai.cc:448
#9  0x00005555568c9594 in SinglePlayerGameController::think() (this=0x607000c9c8a0) at ../src/logic/single_player_game_controller.cc:74
#10 0x0000555556836092 in Widelands::Game::think() (this=0x7fffffff8300) at ../src/logic/game.cc:585
#11 0x0000555556c62e0e in InteractiveBase::think() (this=0x6250003f4900) at ../src/wui/interactive_base.cc:701
#12 0x0000555556ce8572 in InteractivePlayer::think() (this=0x6250003f4900) at ../src/wui/interactive_player.cc:314
#13 0x0000555556ac40b2 in UI::Panel::do_think() (this=0x6250003f4900) at ../src/ui_basic/panel.cc:506
#14 0x0000555556ac16eb in UI::Panel::do_run() (this=0x6250003f4900) at ../src/ui_basic/panel.cc:195
#15 0x00005555564f54be in UI::Panel::run<UI::Panel::Returncodes>() (this=0x6250003f4900) at ../src/ui_basic/panel.h:100
#16 0x0000555556835940 in Widelands::Game::run(Widelands::Game::StartGameType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
    (this=0x7fffffff8300, start_game_type=Widelands::Game::Loaded, script_to_run="", replay=false, prefix_for_replays="single_player")
    at ../src/logic/game.cc:562
#17 0x0000555556833f4c in Widelands::Game::run_load_game(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
    (this=0x7fffffff8300, filename="save/PkK 2.wgf", script_to_run="") at ../src/logic/game.cc:417
#18 0x00005555564e24e1 in WLApplication::load_game() (this=0x6120000001c0) at ../src/wlapplication.cc:1417
#19 0x00005555564df44a in WLApplication::mainmenu_singleplayer() (this=0x6120000001c0) at ../src/wlapplication.cc:1246
#20 0x00005555564de4a8 in WLApplication::mainmenu() (this=0x6120000001c0) at ../src/wlapplication.cc:1148

Second:

Thread 1 "widelands" received signal SIGINT, Interrupt.
0x00005555572eb300 in std::vector<Widelands::RoutingNode*, std::allocator<Widelands::RoutingNode*> >::size (this=0x7fffffff6bb8) at /usr/include/c++/9/bits/stl_vector.h:916
916       { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
(gdb) bt
#0  0x00005555572eb300 in std::vector<Widelands::RoutingNode*, std::allocator<Widelands::RoutingNode*> >::size() const (this=0x7fffffff6bb8) at /usr/include/c++/9/bits/stl_vector.h:916
#1  0x00005555572eb6e4 in CookiePriorityQueue<Widelands::RoutingNode, Widelands::RoutingNode::LessCost, DefaultCookieAccessor<Widelands::RoutingNode> >::selftest() (this=0x7fffffff6bb0) at ../src/logic/cookie_priority_queue.h:307
#2  0x00005555572e4fc1 in CookiePriorityQueue<Widelands::RoutingNode, Widelands::RoutingNode::LessCost, DefaultCookieAccessor<Widelands::RoutingNode> >::decrease_key(Widelands::RoutingNode*) (this=0x7fffffff6bb0, elt=0x61300024f370)
    at ../src/logic/cookie_priority_queue.h:236
#3  0x00005555572e4c5b in CookiePriorityQueue<Widelands::RoutingNode, Widelands::RoutingNode::LessCost, DefaultCookieAccessor<Widelands::RoutingNode> >::push(Widelands::RoutingNode*) (this=0x7fffffff6bb0, elt=0x61300024f370)
    at ../src/logic/cookie_priority_queue.h:189
#4  0x00005555572de8e3 in Widelands::RouteAStar<Widelands::AStarEstimator>::push(Widelands::RoutingNode&, int, Widelands::RoutingNode*) (this=0x7fffffff6bb0, node=..., cost=91008, backlink=0x61300032d5b0) at ../src/economy/routeastar.h:111
#5  0x00005555572df122 in Widelands::RouteAStar<Widelands::AStarEstimator>::step() (this=0x7fffffff6bb0) at ../src/economy/routeastar.h:162
#6  0x000055555735fe33 in Widelands::Router::find_route(Widelands::RoutingNode&, Widelands::RoutingNode&, Widelands::IRoute*, Widelands::WareWorker, int, Widelands::ITransportCostCalculator&)
    (this=0x604001295f50, start=..., end=..., route=0x7fffffff6eb0, type=Widelands::wwWARE, cost_cutoff=244134, cost_calculator=...) at ../src/economy/router.cc:76
#7  0x00005555572d0f97 in Widelands::Economy::find_route(Widelands::Flag&, Widelands::Flag&, Widelands::Route*, int) (this=0x611000304340, start=..., end=..., route=0x7fffffff6eb0, cost_cutoff=244134) at ../src/economy/economy.cc:206
#8  0x00005555572d514d in Widelands::Economy::find_best_supply(Widelands::Game&, Widelands::Request const&, int&) (this=0x611000304340, game=..., req=..., cost=@0x7fffffff6fd0: -36880) at ../src/economy/economy.cc:632
#9  0x00005555572d5c25 in Widelands::Economy::process_requests(Widelands::Game&, Widelands::RSPairStruct*) (this=0x611000304340, game=..., supply_pairs=0x7fffffff7130) at ../src/economy/economy.cc:713
#10 0x00005555572d6229 in Widelands::Economy::balance_requestsupply(Widelands::Game&) (this=0x611000304340, game=...) at ../src/economy/economy.cc:762
#11 0x00005555572d991b in Widelands::Economy::balance(unsigned int) (this=0x611000304340, timerid=1250) at ../src/economy/economy.cc:1059
#12 0x0000555557393b2b in Widelands::CmdCallEconomyBalance::execute(Widelands::Game&) (this=0x603001c753c0, game=...) at ../src/economy/cmd_call_economy_balance.cc:50
#13 0x00005555573cdcbf in Widelands::CmdQueue::run_queue(int, unsigned int&) (this=0x7fffffff8bb8, interval=1000, game_time_var=@0x7fffffff8308: 28626165) at ../src/logic/cmd_queue.cc:121
#14 0x000055555683619b in Widelands::Game::think() (this=0x7fffffff8300) at ../src/logic/game.cc:592
#15 0x0000555556c62e0e in InteractiveBase::think() (this=0x6250003f4900) at ../src/wui/interactive_base.cc:701
#16 0x0000555556ce8572 in InteractivePlayer::think() (this=0x6250003f4900) at ../src/wui/interactive_player.cc:314
#17 0x0000555556ac40b2 in UI::Panel::do_think() (this=0x6250003f4900) at ../src/ui_basic/panel.cc:506
#18 0x0000555556ac16eb in UI::Panel::do_run() (this=0x6250003f4900) at ../src/ui_basic/panel.cc:195
#19 0x00005555564f54be in UI::Panel::run<UI::Panel::Returncodes>() (this=0x6250003f4900) at ../src/ui_basic/panel.h:100
#20 0x0000555556835940 in Widelands::Game::run(Widelands::Game::StartGameType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x7fffffff8300, start_game_type=Widelands::Game::Loaded, script_to_run="", replay=false, prefix_for_replays="single_player") at ../src/logic/game.cc:562
#21 0x0000555556833f4c in Widelands::Game::run_load_game(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
    (this=0x7fffffff8300, filename="save/PkK 2.wgf", script_to_run="") at ../src/logic/game.cc:417
#22 0x00005555564e24e1 in WLApplication::load_game() (this=0x6120000001c0) at ../src/wlapplication.cc:1417
#23 0x00005555564df44a in WLApplication::mainmenu_singleplayer() (this=0x6120000001c0) at ../src/wlapplication.cc:1246
#24 0x00005555564de4a8 in WLApplication::mainmenu() (this=0x6120000001c0) at ../src/wlapplication.cc:1148
#25 0x00005555564ceb3b in WLApplication::run() (this=0x6120000001c0) at ../src/wlapplication.cc:487
#26 0x00005555564ca5fa in main(int, char**) (argc=1, argv=0x7fffffffe298) at ../src/main.cc:42

Third:

Thread 1 "widelands" received signal SIGINT, Interrupt.
0x00005555568f6f36 in std::vector<Widelands::Pathfield*, std::allocator<Widelands::Pathfield*> >::size (this=0x7fffffff6998) at /usr/include/c++/9/bits/stl_vector.h:916
916       { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
(gdb) bt
#0  0x00005555568f6f36 in std::vector<Widelands::Pathfield*, std::allocator<Widelands::Pathfield*> >::size() const (this=0x7fffffff6998) at /usr/include/c++/9/bits/stl_vector.h:916
#1  0x00005555568f7f31 in CookiePriorityQueue<Widelands::Pathfield, Widelands::Pathfield::LessCost, DefaultCookieAccessor<Widelands::Pathfield> >::selftest() (this=0x7fffffff6990) at ../src/logic/cookie_priority_queue.h:295
#2  0x00005555568efd73 in CookiePriorityQueue<Widelands::Pathfield, Widelands::Pathfield::LessCost, DefaultCookieAccessor<Widelands::Pathfield> >::decrease_key(Widelands::Pathfield*) (this=0x7fffffff6990, elt=0x7fffbd63ded0)
    at ../src/logic/cookie_priority_queue.h:236
#3  0x00005555568de21f in Widelands::Map::findpath(Widelands::Coords, Widelands::Coords, int, Widelands::Path&, Widelands::CheckStep const&, unsigned int, unsigned int, Widelands::WareWorker) const
    (this=0x7fffffff8378, instart=..., inend=..., persist=3, path=..., checkstep=..., flags=0, caps_sensitivity=0, type=Widelands::wwWORKER) at ../src/logic/map.cc:2077
#4  0x0000555556f2a9ef in Widelands::Bob::start_task_movepath(Widelands::Game&, Widelands::Coords const&, int, DirAnimations const&, bool, int, bool)
    (this=0x6130003a0100, game=..., dest=..., persist=3, anims=..., forceonlast=false, only_step=1, forceall=false) at ../src/logic/map_objects/bob.cc:528
#5  0x0000555557056ff4 in Widelands::Soldier::defense_update(Widelands::Game&, Widelands::Bob::State&) (this=0x6130003a0100, game=..., state=...) at ../src/logic/map_objects/tribes/soldier.cc:1280
#6  0x0000555556f28b00 in Widelands::Bob::do_act(Widelands::Game&) (this=0x6130003a0100, game=...) at ../src/logic/map_objects/bob.cc:190
#7  0x0000555556f28868 in Widelands::Bob::act(Widelands::Game&, unsigned int) (this=0x6130003a0100, game=..., data=1968) at ../src/logic/map_objects/bob.cc:176
#8  0x0000555556f6faa1 in Widelands::CmdAct::execute(Widelands::Game&) (this=0x603001043bf0, game=...) at ../src/logic/map_objects/map_object.cc:105
#9  0x00005555573cdcbf in Widelands::CmdQueue::run_queue(int, unsigned int&) (this=0x7fffffff8bb8, interval=1000, game_time_var=@0x7fffffff8308: 28636828) at ../src/logic/cmd_queue.cc:121
#10 0x000055555683619b in Widelands::Game::think() (this=0x7fffffff8300) at ../src/logic/game.cc:592
#11 0x0000555556c62e0e in InteractiveBase::think() (this=0x6250003f4900) at ../src/wui/interactive_base.cc:701
#12 0x0000555556ce8572 in InteractivePlayer::think() (this=0x6250003f4900) at ../src/wui/interactive_player.cc:314
#13 0x0000555556ac40b2 in UI::Panel::do_think() (this=0x6250003f4900) at ../src/ui_basic/panel.cc:506
#14 0x0000555556ac16eb in UI::Panel::do_run() (this=0x6250003f4900) at ../src/ui_basic/panel.cc:195
#15 0x00005555564f54be in UI::Panel::run<UI::Panel::Returncodes>() (this=0x6250003f4900) at ../src/ui_basic/panel.h:100
#16 0x0000555556835940 in Widelands::Game::run(Widelands::Game::StartGameType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x7fffffff8300, start_game_type=Widelands::Game::Loaded, script_to_run="", replay=false, prefix_for_replays="single_player") at ../src/logic/game.cc:562
#17 0x0000555556833f4c in Widelands::Game::run_load_game(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
    (this=0x7fffffff8300, filename="save/PkK 2.wgf", script_to_run="") at ../src/logic/game.cc:417
#18 0x00005555564e24e1 in WLApplication::load_game() (this=0x6120000001c0) at ../src/wlapplication.cc:1417
#19 0x00005555564df44a in WLApplication::mainmenu_singleplayer() (this=0x6120000001c0) at ../src/wlapplication.cc:1246
#20 0x00005555564de4a8 in WLApplication::mainmenu() (this=0x6120000001c0) at ../src/wlapplication.cc:1148
#21 0x00005555564ceb3b in WLApplication::run() (this=0x6120000001c0) at ../src/wlapplication.cc:487
#22 0x00005555564ca5fa in main(int, char**) (argc=1, argv=0x7fffffffe298) at ../src/main.cc:42

Fourth:

Thread 1 "widelands" received signal SIGINT, Interrupt.
0x00005555573ae552 in std::__adjust_heap<__gnu_cxx::__normal_iterator<Widelands::CmdQueue::CmdItem*, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> > >, long, Widelands::CmdQueue::CmdItem, __gnu_cxx::__ops::_Iter_comp_iter<std::less<Widelands::CmdQueue::CmdItem> > > (__first={cmd = 0x7fffffff7070, category = -36752, serial = 32767}, __holeIndex=0, __len=4, __value=..., __comp=...) at /usr/include/c++/9/bits/stl_heap.h:214
214     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
(gdb) bt
#0  0x00005555573ae552 in std::__adjust_heap<__gnu_cxx::__normal_iterator<Widelands::CmdQueue::CmdItem*, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> > >, long, Widelands::CmdQueue::CmdItem, __gnu_cxx::__ops::_Iter_comp_iter<std::less<Widelands::CmdQueue::CmdItem> > >(__gnu_cxx::__normal_iterator<Widelands::CmdQueue::CmdItem*, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> > >, long, long, Widelands::CmdQueue::CmdItem, __gnu_cxx::__ops::_Iter_comp_iter<std::less<Widelands::CmdQueue::CmdItem> >) (__first={cmd = 0x7fffffff7070, category = -36752, serial = 32767}, __holeIndex=0, __len=4, __value=..., __comp=...) at /usr/include/c++/9/bits/stl_heap.h:214
#1  0x00005555573adb56 in std::__pop_heap<__gnu_cxx::__normal_iterator<Widelands::CmdQueue::CmdItem*, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> > >, __gnu_cxx::__ops::_Iter_comp_iter<std::less<Widelands::CmdQueue::CmdItem> > >(__gnu_cxx::__normal_iterator<Widelands::CmdQueue::CmdItem*, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> > >, __gnu_cxx::__normal_iterator<Widelands::CmdQueue::CmdItem*, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> > >, __gnu_cxx::__normal_iterator<Widelands::CmdQueue::CmdItem*, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> > >, __gnu_cxx::__ops::_Iter_comp_iter<std::less<Widelands::CmdQueue::CmdItem> >&) (__first={cmd = 0x60300068a190, category = 1, serial = 82369977}, __last={cmd = 0x60300068a190, category = 1, serial = 82369977}, __result={cmd = 0x60300068a190, category = 1, serial = 82369977}, __comp=...)
    at /usr/include/c++/9/bits/stl_heap.h:253
#2  0x00005555573ac4e6 in std::pop_heap<__gnu_cxx::__normal_iterator<Widelands::CmdQueue::CmdItem*, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> > >, std::less<Widelands::CmdQueue::CmdItem> >(__gnu_cxx::__normal_iterator<Widelands::CmdQueue::CmdItem*, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> > >, __gnu_cxx::__normal_iterator<Widelands::CmdQueue::CmdItem*, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> > >, std::less<Widelands::CmdQueue::CmdItem>) (__first={cmd = 0x60300068a190, category = 1, serial = 82369977}, __last={cmd = 0x60300068a190, category = 1, serial = 82369977}, __comp=...)
    at /usr/include/c++/9/bits/stl_heap.h:320
#3  0x00005555573ab5fb in std::priority_queue<Widelands::CmdQueue::CmdItem, std::vector<Widelands::CmdQueue::CmdItem, std::allocator<Widelands::CmdQueue::CmdItem> >, std::less<Widelands::CmdQueue::CmdItem> >::pop() (this=0x7fffc3a99b80)
    at /usr/include/c++/9/bits/stl_queue.h:665
#4  0x00005555573cda7f in Widelands::CmdQueue::run_queue(int, unsigned int&) (this=0x7fffffff8bb8, interval=1000, game_time_var=@0x7fffffff8308: 28641564) at ../src/logic/cmd_queue.cc:110
#5  0x000055555683619b in Widelands::Game::think() (this=0x7fffffff8300) at ../src/logic/game.cc:592
#6  0x0000555556c62e0e in InteractiveBase::think() (this=0x6250003f4900) at ../src/wui/interactive_base.cc:701
#7  0x0000555556ce8572 in InteractivePlayer::think() (this=0x6250003f4900) at ../src/wui/interactive_player.cc:314
#8  0x0000555556ac40b2 in UI::Panel::do_think() (this=0x6250003f4900) at ../src/ui_basic/panel.cc:506
#9  0x0000555556ac16eb in UI::Panel::do_run() (this=0x6250003f4900) at ../src/ui_basic/panel.cc:195
#10 0x00005555564f54be in UI::Panel::run<UI::Panel::Returncodes>() (this=0x6250003f4900) at ../src/ui_basic/panel.h:100
#11 0x0000555556835940 in Widelands::Game::run(Widelands::Game::StartGameType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x7fffffff8300, start_game_type=Widelands::Game::Loaded, script_to_run="", replay=false, prefix_for_replays="single_player") at ../src/logic/game.cc:562
#12 0x0000555556833f4c in Widelands::Game::run_load_game(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
    (this=0x7fffffff8300, filename="save/PkK 2.wgf", script_to_run="") at ../src/logic/game.cc:417
#13 0x00005555564e24e1 in WLApplication::load_game() (this=0x6120000001c0) at ../src/wlapplication.cc:1417
#14 0x00005555564df44a in WLApplication::mainmenu_singleplayer() (this=0x6120000001c0) at ../src/wlapplication.cc:1246
#15 0x00005555564de4a8 in WLApplication::mainmenu() (this=0x6120000001c0) at ../src/wlapplication.cc:1148
#16 0x00005555564ceb3b in WLApplication::run() (this=0x6120000001c0) at ../src/wlapplication.cc:487
#17 0x00005555564ca5fa in main(int, char**) (argc=1, argv=0x7fffffffe298) at ../src/main.cc:42

Fifth:

Thread 1 "widelands" received signal SIGINT, Interrupt.
0x00005555568f6f53 in std::vector<Widelands::Pathfield*, std::allocator<Widelands::Pathfield*> >::size (this=0x7fffffff6998) at /usr/include/c++/9/bits/stl_vector.h:916
916       { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
(gdb) bt
#0  0x00005555568f6f53 in std::vector<Widelands::Pathfield*, std::allocator<Widelands::Pathfield*> >::size() const (this=0x7fffffff6998) at /usr/include/c++/9/bits/stl_vector.h:916
#1  0x00005555568f8051 in CookiePriorityQueue<Widelands::Pathfield, Widelands::Pathfield::LessCost, DefaultCookieAccessor<Widelands::Pathfield> >::selftest() (this=0x7fffffff6990) at ../src/logic/cookie_priority_queue.h:303
#2  0x00005555568f7e2c in CookiePriorityQueue<Widelands::Pathfield, Widelands::Pathfield::LessCost, DefaultCookieAccessor<Widelands::Pathfield> >::increase_key(Widelands::Pathfield*) (this=0x7fffffff6990, elt=0x7fffbd62f818)
    at ../src/logic/cookie_priority_queue.h:280
#3  0x00005555568ef9d1 in CookiePriorityQueue<Widelands::Pathfield, Widelands::Pathfield::LessCost, DefaultCookieAccessor<Widelands::Pathfield> >::pop(Widelands::Pathfield*) (this=0x7fffffff6990, elt=0x7fffbd630a00)
    at ../src/logic/cookie_priority_queue.h:212
#4  0x00005555568dd7fc in Widelands::Map::findpath(Widelands::Coords, Widelands::Coords, int, Widelands::Path&, Widelands::CheckStep const&, unsigned int, unsigned int, Widelands::WareWorker) const
    (this=0x7fffffff8378, instart=..., inend=..., persist=3, path=..., checkstep=..., flags=0, caps_sensitivity=0, type=Widelands::wwWORKER) at ../src/logic/map.cc:2019
#5  0x0000555556f2a84b in Widelands::Bob::start_task_movepath(Widelands::Game&, Widelands::Coords const&, int, DirAnimations const&, bool, int, bool)
    (this=0x6130003ad300, game=..., dest=..., persist=3, anims=..., forceonlast=false, only_step=1, forceall=false) at ../src/logic/map_objects/bob.cc:523
#6  0x0000555557056ff4 in Widelands::Soldier::defense_update(Widelands::Game&, Widelands::Bob::State&) (this=0x6130003ad300, game=..., state=...) at ../src/logic/map_objects/tribes/soldier.cc:1280
#7  0x0000555556f28b00 in Widelands::Bob::do_act(Widelands::Game&) (this=0x6130003ad300, game=...) at ../src/logic/map_objects/bob.cc:190
#8  0x0000555556f28868 in Widelands::Bob::act(Widelands::Game&, unsigned int) (this=0x6130003ad300, game=..., data=2424) at ../src/logic/map_objects/bob.cc:176
#9  0x0000555556f6faa1 in Widelands::CmdAct::execute(Widelands::Game&) (this=0x603002d52120, game=...) at ../src/logic/map_objects/map_object.cc:105
#10 0x00005555573cdcbf in Widelands::CmdQueue::run_queue(int, unsigned int&) (this=0x7fffffff8bb8, interval=1000, game_time_var=@0x7fffffff8308: 28646054) at ../src/logic/cmd_queue.cc:121
#11 0x000055555683619b in Widelands::Game::think() (this=0x7fffffff8300) at ../src/logic/game.cc:592
#12 0x0000555556c62e0e in InteractiveBase::think() (this=0x6250003f4900) at ../src/wui/interactive_base.cc:701
#13 0x0000555556ce8572 in InteractivePlayer::think() (this=0x6250003f4900) at ../src/wui/interactive_player.cc:314
#14 0x0000555556ac40b2 in UI::Panel::do_think() (this=0x6250003f4900) at ../src/ui_basic/panel.cc:506
#15 0x0000555556ac16eb in UI::Panel::do_run() (this=0x6250003f4900) at ../src/ui_basic/panel.cc:195
#16 0x00005555564f54be in UI::Panel::run<UI::Panel::Returncodes>() (this=0x6250003f4900) at ../src/ui_basic/panel.h:100
#17 0x0000555556835940 in Widelands::Game::run(Widelands::Game::StartGameType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x7fffffff8300, start_game_type=Widelands::Game::Loaded, script_to_run="", replay=false, prefix_for_replays="single_player") at ../src/logic/game.cc:562
#18 0x0000555556833f4c in Widelands::Game::run_load_game(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
    (this=0x7fffffff8300, filename="save/PkK 2.wgf", script_to_run="") at ../src/logic/game.cc:417
#19 0x00005555564e24e1 in WLApplication::load_game() (this=0x6120000001c0) at ../src/wlapplication.cc:1417
#20 0x00005555564df44a in WLApplication::mainmenu_singleplayer() (this=0x6120000001c0) at ../src/wlapplication.cc:1246
#21 0x00005555564de4a8 in WLApplication::mainmenu() (this=0x6120000001c0) at ../src/wlapplication.cc:1148
#22 0x00005555564ceb3b in WLApplication::run() (this=0x6120000001c0) at ../src/wlapplication.cc:487
#23 0x00005555564ca5fa in main(int, char**) (argc=1, argv=0x7fffffffe298) at ../src/main.cc:42

Top Quote