View Issue Details

IDProjectCategoryView StatusLast Update
0001927Spring engineAIpublic2011-01-02 17:46
Reporterslogic Assigned Toabma  
PrioritynormalSeveritycrashReproducibilityrandom
Status resolvedResolutionfixed 
Fixed in Version0.82.7 
Summary0001927: RAI crashed at end of game
DescriptionI played E323AI vs 2xRAI. When last RAI was almost dead a crash occurred.
Additional InformationTranslated stacktrace: http://buildbot.eat-peet.net/spring/stacktrace/0.81.2.1-spring_stktrc_0.81.2.1-0-g884a107_1273926345.html
TagsNo tags attached.
Attached Files
infolog.txt (Attachment missing)
infolog-0.82.5.txt (Attachment missing)
Checked infolog.txt for Errors

Relationships

related to 0001859 closed RAI crash in Interface on end of game 
related to 0002096 closed RAI go in crash when i kill the last enemy unit 
related to 0002221 closed RAI end of game crash 

Activities

slogic

2010-09-03 22:53

reporter   ~0005433

Again RAI crashed when it was killed. This time on 0.82.5.

abma

2010-11-18 05:59

administrator   ~0005871

translated the second stacktrace:
E:\games\Spring\spring.exe 0x009FCB80 rts/ExternalAI/SSkirmishAICallbackImpl.cpp:219
E:\games\Spring\spring.exe 0x009FCED0 rts/ExternalAI/SSkirmishAICallbackImpl.cpp:957
E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll 0x188D341A ??:0
E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll 0x1887BE08 ??:0
E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll 0x1886A738 ??:0
E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll 0x18883A7E ??:0
E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll 0x188CF38F ??:0
E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll 0x188CF298 ??:0
E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll 0x18864DD6 ??:0
E:\games\Spring\spring.exe 0x00A146D9 rts/ExternalAI/SkirmishAILibrary.cpp:73
E:\games\Spring\spring.exe 0x009F90EC rts/ExternalAI/SkirmishAI.cpp:37
E:\games\Spring\spring.exe 0x00A234CE rts/ExternalAI/SkirmishAIWrapper.cpp:87
E:\games\Spring\spring.exe 0x00A2A82C rts/ExternalAI/EngineOutHandler.cpp:590
E:\games\Spring\spring.exe 0x00423C98 rts/Game/Game.cpp:4439
E:\games\Spring\spring.exe 0x0042B640 rts/Game/Game.cpp:2829
E:\games\Spring\spring.exe 0x00986941 rts/System/SpringApp.cpp:1052
E:\games\Spring\spring.exe 0x00991C89 rts/System/SpringApp.cpp:1183
E:\games\Spring\spring.exe 0x00991FB4 rts/System/Main.cpp:55
E:\games\Spring\spring.exe 0x00992790 rts/System/Main.cpp:91
E:\games\Spring\spring.exe 0x004010A7 buildd/mingw32-runtime-3.15.2/build_dir/src/mingwrt-3.15.2-mingw32/crt1.c:237
E:\games\Spring\spring.exe 0x00401123 buildd/mingw32-runtime-3.15.2/build_dir/src/mingwrt-3.15.2-mingw32/crt1.c:271
C:\Windows\system32\kernel32.dll 0x76F91194 ??:0
C:\Windows\SYSTEM32\ntdll.dll 0x779EB495 ??:0
C:\Windows\SYSTEM32\ntdll.dll 0x779EB468 ??:0

abma

2010-11-23 18:58

administrator   ~0005967

Last edited: 2010-11-23 19:02

an other stacktrace:
http://pastebin.com/n072bJX8

(from:)
https://github.com/spring/spring/commits/0.82-branch

slogic

2010-12-25 22:55

reporter   ~0006145

A crash is connected with second almost simultaneous attempt to call ai->GetValue() in GlobalResourceMap destructor. So, with single RAI instance it can't be reproduced.

[ 29104] (1) E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll(CAIAICallback::GetValue+0x1a7) [0x1B3E3477]
[ 29104] (2) E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll(cRAI::LocateFile+0x71) [0x1B3BB841]
[ 29104] (3) E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll(GlobalResourceMap::~GlobalResourceMap+0x80) [0x1B3A0900]
[ 29104] (4) E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll(cRAI::~cRAI+0x1a2) [0x1B3C4CF2]
[ 29104] (5) E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll(cRAI::`scalar deleting destructor'+0x8) [0x1B3C4EA8]
[ 29104] (6) E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll(CAIAI::~CAIAI+0x19) [0x1B3DE799]
[ 29104] (7) E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll(CAIGlobalAI::`scalar deleting destructor'+0xe) [0x1B3F32CE]
[ 29104] (8) E:\games\Spring\AI\Skirmish\RAI\0.601\SkirmishAI.dll(release+0x71) [0x1B3709E1]

slogic

2010-12-25 23:19

reporter   ~0006146

Last edited: 2010-12-25 23:22

I think i was wrong with double call. Instance of GlobalResourceMap class is static.

PS. That's the source of an error. AI callback structure may be already destroyed.

hoijui

2010-12-27 23:34

reporter   ~0006158

yeah it is... this bug is already fixed in pureint (and now master) since months.
i won't got for a popper fix here, but remove the LocateFile call from the destructor for the release branch.

hoijui

2010-12-28 20:00

reporter   ~0006162

should be fixed on the release branch now (and in latest engine test "release")
please test.

abma

2011-01-02 17:46

administrator   ~0006185

please retry with 0.82.7, should be fixed there! :-)

Issue History

Date Modified Username Field Change
2010-05-15 14:32 slogic New Issue
2010-05-15 14:32 slogic File Added: infolog.txt
2010-09-03 22:52 slogic File Added: infolog-0.82.5.txt
2010-09-03 22:53 slogic Note Added: 0005433
2010-11-11 19:34 abma Relationship added related to 0001859
2010-11-11 19:34 abma Relationship added related to 0002096
2010-11-11 19:35 abma Summary RAI crashed => RAI crashed at end of game
2010-11-17 18:45 abma Relationship added related to 0002221
2010-11-18 05:59 abma Note Added: 0005871
2010-11-23 01:46 abma Project AI => Spring engine
2010-11-23 18:58 abma Note Added: 0005967
2010-11-23 19:02 abma Note Edited: 0005967
2010-12-24 23:10 hoijui Project Spring engine => AI
2010-12-24 23:12 hoijui Project AI => Spring engine
2010-12-25 22:55 slogic Note Added: 0006145
2010-12-25 23:19 slogic Note Added: 0006146
2010-12-25 23:22 slogic Note Edited: 0006146
2010-12-27 23:34 hoijui Note Added: 0006158
2010-12-28 20:00 hoijui Note Added: 0006162
2011-01-02 17:46 abma Note Added: 0006185
2011-01-02 17:46 abma Status new => resolved
2011-01-02 17:46 abma Fixed in Version => 0.82.7
2011-01-02 17:46 abma Resolution open => fixed
2011-01-02 17:46 abma Assigned To => abma