rlcevg / CircuitAI

Spring RTS local native AI
GNU General Public License v2.0
18 stars 19 forks source link

Circuit crash 2 #116

Closed GoogleFrog closed 1 year ago

GoogleFrog commented 1 year ago

Here is a crash I had while messing around with configs.

infologCircuitCrash.txt

GoogleFrog commented 1 year ago

infolog.txt build_chain.zip

The crash happened again. Engine 1485. I just ran a lone brutal circuit against null AI on the default folsom dam.

rlcevg commented 1 year ago
----- End of translation process -----
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3a9eb85aa', '/spring/AI/Skirmish/CircuitAI/src/circuit/module/BuilderManager.cpp', 1042)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3a9eb934e', '/spring/AI/Skirmish/CircuitAI/src/circuit/module/BuilderManager.cpp', 908)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3aa02d602', '/spring/AI/Skirmish/CircuitAI/src/lib/angelscript/source/as_callfunc_x64_mingw.cpp', 55)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3aa02d837', '/spring/AI/Skirmish/CircuitAI/src/lib/angelscript/source/as_callfunc_x64_mingw.cpp', 329)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3aa02caa9', '/spring/AI/Skirmish/CircuitAI/src/lib/angelscript/source/as_callfunc.cpp', 743)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3aa07b7b0', '/spring/AI/Skirmish/CircuitAI/src/lib/angelscript/source/as_context.cpp', 2565)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3aa07c1ed', '/spring/AI/Skirmish/CircuitAI/src/lib/angelscript/source/as_context.cpp', 1331)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3a9f0285f', '/spring/AI/Skirmish/CircuitAI/src/circuit/script/ScriptManager.cpp', 187)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3a9efdf34', '/spring/AI/Skirmish/CircuitAI/src/circuit/script/BuilderScript.cpp', 46)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3a9f1ed2e', '/spring/AI/Skirmish/CircuitAI/src/circuit/task/builder/BuilderTask.cpp', 504)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3a9f20949', '/spring/AI/Skirmish/CircuitAI/src/circuit/task/builder/BuilderTask.cpp', 394)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3a9eb49ae', '/spring/AI/Skirmish/CircuitAI/src/circuit/module/BuilderManager.cpp', 1288)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3a9f762ba', '/spring/AI/Skirmish/CircuitAI/src/circuit/util/GameTask.cpp', 25)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3a9f78799', '/spring/AI/Skirmish/CircuitAI/src/circuit/util/Scheduler.cpp', 149)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3a9ea6421', '/spring/AI/Skirmish/CircuitAI/src/circuit/CircuitAI.cpp', 751)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3a9eac63b', '/spring/AI/Skirmish/CircuitAI/src/circuit/CircuitAI.cpp', 204)
('C:/.../Spring Dev/chobby1/AI/Skirmish/CircuitAI/stable/SkirmishAI.dll', '0x3a9ea23f7', '/spring/AI/Skirmish/CircuitAI/src/AIExport.cpp', 75)
('C:/.../Spring Dev/chobby1/engine/win64/105.1.1-1485-g78f9a2c/spring.exe', '0x1406c1abb', '/spring/rts/ExternalAI/SkirmishAIHandler.h', 176)
('C:/.../Spring Dev/chobby1/engine/win64/105.1.1-1485-g78f9a2c/spring.exe', '0x1406c74d5', '/spring/rts/ExternalAI/SkirmishAIWrapper.cpp', 461)
('C:/.../Spring Dev/chobby1/engine/win64/105.1.1-1485-g78f9a2c/spring.exe', '0x14069d6e4', '/spring/rts/ExternalAI/EngineOutHandler.cpp', 130)
('C:/.../Spring Dev/chobby1/engine/win64/105.1.1-1485-g78f9a2c/spring.exe', '0x1400353d8', '/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/11.2.0/include/c++/bits/stl_iterator.h', 1011)
('C:/.../Spring Dev/chobby1/engine/win64/105.1.1-1485-g78f9a2c/spring.exe', '0x1401b8dd5', '/spring/rts/Net/NetCommands.cpp', 569)
('C:/.../Spring Dev/chobby1/engine/win64/105.1.1-1485-g78f9a2c/spring.exe', '0x14003d035', '/mxe/usr/lib/gcc/x86_64-w64-mingw32.static/11.2.0/include/c++/bits/atomic_base.h', 481)
('C:/.../Spring Dev/chobby1/engine/win64/105.1.1-1485-g78f9a2c/spring.exe', '0x1405e6196', '/spring/rts/System/SpringApp.cpp', 821)
('C:/.../Spring Dev/chobby1/engine/win64/105.1.1-1485-g78f9a2c/spring.exe', '0x1405e94a8', '/spring/rts/System/SpringApp.cpp', 862)
('C:/.../Spring Dev/chobby1/engine/win64/105.1.1-1485-g78f9a2c/spring.exe', '0x1405cb38c', '/spring/rts/System/Main.cpp', 48)
('C:/.../Spring Dev/chobby1/engine/win64/105.1.1-1485-g78f9a2c/spring.exe', '0x1400013c1', '/mxe/tmp-gcc-x86_64-w64-mingw32.static/gcc-11.2.0.build_/mingw-w64-v9.0.0/mingw-w64-crt/crt/crtexe.c', 323)
('C:/.../Spring Dev/chobby1/engine/win64/105.1.1-1485-g78f9a2c/spring.exe', '0x1400014d6', '/mxe/tmp-gcc-x86_64-w64-mingw32.static/gcc-11.2.0.build_/mingw-w64-v9.0.0/mingw-w64-crt/crt/crtexe.c', 178)
('C:/WINDOWS/SYSTEM32/ntdll.dll', '0x00000000000526a1', '??', 0)
rlcevg commented 1 year ago

I messed up some categories, pylon can't be created as generic task (for now) - requires additional param, link to energy-grid edge.

"staticarty": {
    "pylon": true,
    "hub": [[
            {"unit": "energypylon", "category": "pylon", "offset": {"back": 350}}
        ]]
},

Right now only next categories are generic enough to not cause issues: https://github.com/rlcevg/CircuitAI/blob/zk/src/circuit/module/BuilderManager.cpp#L721-L759

Will port fix from BARbarIAn branch.


WRT "category": "pylon" - that's why separate option "pylon": true, (above hub) exists.

rlcevg commented 1 year ago

https://github.com/rlcevg/CircuitAI/commit/90b7a3dc65e9362fd40ea55ca9ef6a85c9dda51a

GoogleFrog commented 1 year ago

Thanks. This has to end being built with the engine for me to use it. Idk how the code makes it there.

rlcevg commented 1 year ago

I thought submodules have more info, but couldn't find anything related to zk branch in BAR105 spring. Engine generates callback wrappers, so decoupling and then manually following after each API change isn't attractive.

An example of standalone minimal AI in D language, and callback wrapper (glue code) that should be dragged and supported manually: https://github.com/rlcevg/DTestAI/tree/main/src/spring

So it's possible but the amount of work is enough for me to say "i have no reasons to do it". Docker (as it is now) supposed to make compilation even easier and available anywhere.


NOTE: BAR105 uses next specific branch: https://github.com/rlcevg/CircuitAI/tree/zk