Notes |
|
|
update: also happens with other hero |
|
|
|
the same issue as 0002445
and seems related to 0002415. I have attached Debugger screenshot. |
|
|
|
I have attached a patch that fixes the issue for me. Could you have look? |
|
|
(0006520)
|
AVS
|
2016-07-05 13:29
(edited on: 2016-07-05 13:34) |
|
|
|
|
That's weird. I did a little bit more investigation and I could reproduce the crash each time.
My system details: Ubuntu 16.04 amd64, version tested is a build of the latest develop branch commit 21fff9d
It is related to the battle finishing before the confirmation of the result and destruction of CBattleInterface. In the logs I have multiple errors about trying to access battle that already finished. (I have added couple more log statements)
--------------------------------------------------------------
battle is now B=0x7fffb00457a0
battle is now B=0x7fffb00457a0
SiegeHelper called
Opening BattleAI
Loaded Battle AI
gateStateChangedoldState=1 state=3
gateStateChangedoldState=3 state=1
Warning: an orphaned child!
battleGetHeroInfo: side 1 does not have hero!
battle is now B=0
battle is now B=0
Warning: an orphaned child!
battleGetAllObstacles called when no battle!
battleGetStacksIf called when no battle!
battleGetAllObstacles called when no battle!
battleGetGateState called when no battle!
bExitf from Battle Result
battleGetAllObstacles called when no battle!
battleGetStacksIf called when no battle!
battleGetAllObstacles called when no battle!
battleGetGateState called when no battle!
battleGetStackByPos called when no battle!
~SiegeHelper called
battleGetGateState called when no battle!
read: Connection reset by peer
----------------------------------------------------------------
It looks like many things are trying to access battle that has already finished (Client.cpp::768::battleFinished has set battle to null) to derive the rendering state.
Maybe CBattleInterface should keep track of the state in it's own instance to be able to clean SDL surfaces?
AVS on which OS did you try to reproduce the bug? |
|
|
(0006522)
|
AVS
|
2016-07-05 20:02
|
|
OS is different - win7 64, but in this case it should not matter. |
|
|
|
looks like your patch helped (doesn't crash - even though it still print errors)
thanks |
|
|
(0006536)
|
AVS
|
2016-08-01 15:16
|
|
|
|
(0006537)
|
AVS
|
2016-08-01 15:30
|
|
|
|
|
logs(red):
battleGetAllObstacles called when no battle!
battleGetStacksIf called when no battle!
battleGetAllObstacles called when no battle!
battleGetGateState called when no battle!
battleGetAllObstacles called when no battle!
battleGetStacksIf called when no battle!
battleGetAllObstacles called when no battle!
battleGetGateState called when no battle!
battleGetStackByPos called when no battle!
battleGetGateState called when no battle! |
|
|
(0006539)
|
AVS
|
2016-08-04 06:01
|
|
"xxx called when no battle" is a known problem, mostly harmless but not easy fixable. Not related to this issue. |
|