| 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. |  |