2025-07-21 21:13 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0004936AIAIpublic2015-08-25 21:32
Reportermeriton 
Assigned Toabma 
PrioritynormalSeveritycrashReproducibilityhave not tried
StatusresolvedResolutionfixed 
Summary0004936: AAI crash (just after one AAI teams commander died)
DescriptionAAI moved its commander through range of the LLT, and the commander died. Just after that, spring crashed.
TagsNo tags attached.
Attached Files

-Relationships
+Relationships

-Notes

~0015085

meriton (reporter)

Translated stacktrace confirm the crash occurred in AAI:
http://paste.springfiles.com/view/403d09d1

~0015086

meriton (reporter)

I'd have attached the demo file, but it was empty (0 bytes). Hopefully the stacktrace is enough to locate the issue ...

~0015087

meriton (reporter)

I tried again with the same script, and it crashed again, with the same stacktrace.

Here go reproduction steps:
0. Start game
1. Do nothing for a minute - the AAI commander approaches from the south and starts building a factory.
2. Build an LLT outside his attack range, that can attack him.
3. Wait until commander dies to the LLT
4. See Spring crashing

~0015088

meriton (reporter)

And tried again, and again Spring crashed after showing the nuclear explosion. We can probably consider this bug reproducible. (I'd edit the issue description, but don't see an edit link in Mantis. Am I blind or am I lacking permissions?)

~0015089

abma (administrator)

(gdb) bt
#0 AAIConfig::getUniqueName (this=0x1a31000, game=game@entry=true,
    gamehash=gamehash@entry=true, map=map@entry=true,
    maphash=maphash@entry=true) at AI/Skirmish/AAI/AAIConfig.cpp:521
#1 0x00007fffe2b3a9be in AAIBuildTable::GetBuildCacheFileName (
    this=this@entry=0x1f10e40) at AI/Skirmish/AAI/AAIBuildTable.cpp:2497
#2 0x00007fffe2b3ac83 in AAIBuildTable::SaveBuildTable (this=0x1f10e40,
    game_period=0, map_type=map_type@entry=LAND_MAP)
    at AI/Skirmish/AAI/AAIBuildTable.cpp:2658
0000003 0x00007fffe2b2dcee in AAI::~AAI (this=this@entry=0x1f10d00,
    __in_chrg=<optimized out>) at AI/Skirmish/AAI/AAI.cpp:119
0000004 0x00007fffe2b2e029 in AAI::~AAI (this=0x1f10d00, __in_chrg=<optimized out>)
    at AI/Skirmish/AAI/AAI.cpp:145
0000005 0x00007fffe2b6a380 in springLegacyAI::CAIAI::~CAIAI (
    this=this@entry=0x36c8520, __in_chrg=<optimized out>)
    at AI/Wrappers/LegacyCpp/AIAI.cpp:15
#6 0x00007fffe2b6a3b9 in springLegacyAI::CAIAI::~CAIAI (this=0x36c8520,
    __in_chrg=<optimized out>) at AI/Wrappers/LegacyCpp/AIAI.cpp:20
#7 0x00007fffe2b69a7b in release (skirmishAIId=0)
    at AI/Skirmish/AAI/AIExport.cpp:82
#8 0x0000000000877695 in CSkirmishAILibrary::Release (this=<optimized out>,
    skirmishAIId=0) at rts/ExternalAI/SkirmishAILibrary.cpp:77
#9 0x0000000000870adb in CSkirmishAI::~CSkirmishAI (this=0x4b15270,
    __in_chrg=<optimized out>) at rts/ExternalAI/SkirmishAI.cpp:36
---Type <return> to continue, or q <return> to quit---
0000010 0x000000000087c501 in CSkirmishAIWrapper::~CSkirmishAIWrapper (
    this=this@entry=0x1c85e00, __in_chrg=<optimized out>)
    at rts/ExternalAI/SkirmishAIWrapper.cpp:107
#11 0x000000000087c5e9 in CSkirmishAIWrapper::~CSkirmishAIWrapper (
    this=0x1c85e00, __in_chrg=<optimized out>)
    at rts/ExternalAI/SkirmishAIWrapper.cpp:119
0000012 0x000000000085b420 in CEngineOutHandler::DestroySkirmishAI (
    this=<optimized out>, skirmishAIId=skirmishAIId@entry=0)
    at rts/ExternalAI/EngineOutHandler.cpp:656
0000013 0x00000000005b6194 in CGame::ClientReadNet (this=this@entry=0x1a96a00)
    at rts/Net/NetCommands.cpp:1122
0000014 0x00000000004d23b0 in CGame::Update (this=0x1a96a00)
    at rts/Game/Game.cpp:1005
#15 0x00000000007eb3e8 in SpringApp::Update (this=this@entry=0x7fffffffe130)
    at rts/System/SpringApp.cpp:942
#16 0x00000000007f1818 in SpringApp::Run (this=this@entry=0x7fffffffe130)
    at rts/System/SpringApp.cpp:978
#17 0x00000000007c71f8 in Run (argc=argc@entry=2,
    argv=argv@entry=0x7fffffffe418) at rts/System/Main.cpp:48
#18 0x000000000046d02a in main (argc=2, argv=0x7fffffffe418)
    at rts/System/Main.cpp:107

~0015090

abma (administrator)

Fix ef6f1e91075d094f0ca70308da028d29e7a95792 committed to develop branch: fix 0004936

crash in AAI: don't use already deleted ai instance, repo: spring changeset id: 5505

~0015091

abma (administrator)

thanks for reporting!
+Notes

-Issue History
Date Modified Username Field Change
2015-08-23 19:59 meriton New Issue
2015-08-23 19:59 meriton File Added: infolog.txt
2015-08-23 20:01 meriton Note Added: 0015085
2015-08-23 20:03 meriton Note Added: 0015086
2015-08-23 20:08 meriton File Added: _script.txt
2015-08-23 20:13 meriton Note Added: 0015087
2015-08-23 20:19 meriton Note Added: 0015088
2015-08-24 09:21 abma Note Added: 0015089
2015-08-25 21:32 abma Changeset attached => spring develop ef6f1e91
2015-08-25 21:32 abma Note Added: 0015090
2015-08-25 21:32 abma Assigned To => abma
2015-08-25 21:32 abma Status new => resolved
2015-08-25 21:32 abma Resolution open => fixed
2015-08-25 21:32 abma Note Added: 0015091
+Issue History