s25client icon indicating copy to clipboard operation
s25client copied to clipboard

Crash stack trace

Open engina opened this issue 11 months ago • 1 comments

Title is intentionally vague because I didn't want to speculate on the title right away. Could be updated when things are clear.

I'm suspecting the following crash happened when I attacked an island and destroyed the AI's harbor building, not right when I destroyed it but after a while. Whenever I loaded the saved game, after a minute or two, s25client crashed with the following bt.

Sadly, that saved game is overwritten.

Seems like an assertion fails.

* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGTRAP
    frame #0: 0x0000000193713720 libsystem_kernel.dylib`__pthread_kill + 8
libsystem_kernel.dylib`__pthread_kill:
->  0x193713720 <+8>:  b.lo   0x193713740    ; <+40>
    0x193713724 <+12>: pacibsp 
    0x193713728 <+16>: stp    x29, x30, [sp, #-0x10]!
    0x19371372c <+20>: mov    x29, sp
Target 0: (s25client) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGTRAP
  * frame #0: 0x0000000193713720 libsystem_kernel.dylib`__pthread_kill + 8
    frame #1: 0x000000019374bf70 libsystem_pthread.dylib`pthread_kill + 288
    frame #2: 0x0000000193620c18 libsystem_c.dylib`raise + 32
    frame #3: 0x00000001001899d8 s25client`Ware::CalcPathToGoal(this=0x000060000284c750, newgoal=0x00006000010e0d80) const at Ware.cpp:350:13
    frame #4: 0x0000000100189848 s25client`Ware::CheckNewGoalForLostWare(this=0x000060000284c750, newgoal=0x00006000010e0d80) const at Ware.cpp:335:12
    frame #5: 0x0000000100086470 s25client`GamePlayer::OrderWare(this=0x000000033800e7c0, ware=Stones, goal=0x00006000010e0d80) at GamePlayer.cpp:858:47
    frame #6: 0x000000010023c2dc s25client`noBuildingSite::OrderConstructionMaterial(this=0x00006000010e0d80) at noBuildingSite.cpp:163:25
    frame #7: 0x000000010023c070 s25client`noBuildingSite::noBuildingSite(this=0x00006000010e0d80, type=HarborBuilding, pos=(x = 54, y = 39), player='\x02') at noBuildingSite.cpp:50:5
    frame #8: 0x000000010023c3b4 s25client`noBuildingSite::noBuildingSite(this=0x00006000010e0d80, type=HarborBuilding, pos=(x = 54, y = 39), player='\x02') at noBuildingSite.cpp:26:1
    frame #9: 0x000000010062885c s25client`GameWorld::SetBuildingSite(this=0x0000000177c04250, type=HarborBuilding, pt=(x = 54, y = 39), player='\x02') at GameWorld.cpp:152:19
    frame #10: 0x0000000100071170 s25client`gc::SetBuildingSite::Execute(this=0x000060000251e1a0, world=0x0000000177c04250, playerId='\x02') at GameCommands.cpp:124:11
    frame #11: 0x0000000100591a34 s25client`GameClient::ExecuteAllGCs(this=0x000000013861d0e0, playerId='\x02', gcs=0x000000013e00e7c0) at GameClient.cpp:1408:13
    frame #12: 0x00000001005a0274 s25client`GameClient::ExecuteNWF(this=0x000000013861d0e0) at GameClientGF_Game.cpp:34:9
    frame #13: 0x00000001005893ac s25client`GameClient::ExecuteGameFrame(this=0x000000013861d0e0) at GameClient.cpp:1325:21
    frame #14: 0x0000000100588dc8 s25client`GameClient::Run(this=0x000000013861d0e0) at GameClient.cpp:195:9
    frame #15: 0x000000010007a928 s25client`GameManager::Run(this=0x000000016fdfee48) at GameManager.cpp:105:16
    frame #16: 0x0000000100008fd0 s25client`(anonymous namespace)::RunProgram(options=0x000000016fdff188) at s25client.cpp:488:27
    frame #17: 0x000000010000816c s25client`main(argc=1, argv=0x000000016fdff538) at s25client.cpp:567:18
    frame #18: 0x00000001933cc274 dyld`start + 2840

engina avatar Mar 14 '25 08:03 engina

There should be a replay of that game. Try that (press "j" to jump to the last GF then "p" to unpause) and if that crashes too attach it here.

Otherwise there isn't anything we can do as there is not enough information by such a backtrace so we can't reproduce it.

Flamefire avatar Mar 14 '25 13:03 Flamefire