Opened 12 years ago
Last modified 12 years ago
#1361 closed defect
Game hangs ~2s into custom-made map — at Version 2
Reported by: | vts | Owned by: | |
---|---|---|---|
Priority: | Should Have | Milestone: | Alpha 10 |
Component: | Core engine | Keywords: | |
Cc: | Patch: |
Description (last modified by )
While developing the wall placement system, I created the attached map to do some basic testing. At some point during approximately the last two weeks (call it roughly between [11494] and [11672]), something changed that caused the game to go into what looks like an infinite JS loop about 2 seconds into the map. This happens only when the window has focus but regardless of the user's activity, and I haven't seen this happen on other maps.
By "hangs", I mean becomes unresponsive and takes up 100% CPU, requiring to be killed from the process monitor. I've observed this happening for revision [11683], the most recent revision at the time of writing.
Attaching WinDbg in a debug build during the hang shows that it's hanging somewhere in SpiderMonkey as a result of a call to ScriptInterface::CallFunction_
while doing some AI work.
WARNING: Stack unwind information not available. Following frames may be wrong. 0030e4f4 0f41d566 mozjs185_ps_debug_1_0!JS_StrictPropertyStub+0xde5e1 0030e530 0f41dbd7 mozjs185_ps_debug_1_0!JS_StrictPropertyStub+0xd0306 0030e590 0f41ec94 mozjs185_ps_debug_1_0!JS_StrictPropertyStub+0xd0977 0030e5d0 0f37cae9 mozjs185_ps_debug_1_0!JS_StrictPropertyStub+0xd1a34 *** WARNING: Unable to verify checksum for C:\Users\Jeroen\Documents\0AD_git\build\workspaces\vc2010\..\..\..\binaries\system\pyrogenesis_dbg.exe 0030e640 00a61e8f mozjs185_ps_debug_1_0!JS_StrictPropertyStub+0x2f889 0030e684 008ee9e2 pyrogenesis_dbg!ScriptInterface::CallFunction_+0xbf [c:\users\jeroen\documents\0ad_git\source\scriptinterface\scriptinterface.cpp @ 720] 0030e6c8 00a1c2aa pyrogenesis_dbg!ScriptInterface::CallFunctionVoid<CScriptVal>+0x62 [c:\users\jeroen\documents\0ad_git\source\scriptinterface\scriptinterface.h @ 374] 0030e6e4 00a1c0fd pyrogenesis_dbg!CAIWorker::CAIPlayer::Run+0x3a [c:\users\jeroen\documents\0ad_git\source\simulation2\components\ccmpaimanager.cpp @ 243] 0030e774 00a1bb84 pyrogenesis_dbg!CAIWorker::PerformComputation+0x1cd [c:\users\jeroen\documents\0ad_git\source\simulation2\components\ccmpaimanager.cpp @ 488] 0030e780 00a1e0b0 pyrogenesis_dbg!CAIWorker::WaitToFinishComputation+0x24 [c:\users\jeroen\documents\0ad_git\source\simulation2\components\ccmpaimanager.cpp @ 327] 0030e794 00a1df2a pyrogenesis_dbg!CAIWorker::GetCommands+0x20 [c:\users\jeroen\documents\0ad_git\source\simulation2\components\ccmpaimanager.cpp @ 335] 0030e7f4 008e6c53 pyrogenesis_dbg!CCmpAIManager::PushCommands+0x6a [c:\users\jeroen\documents\0ad_git\source\simulation2\components\ccmpaimanager.cpp @ 649] 0030e8c8 008e565a pyrogenesis_dbg!CSimulation2Impl::UpdateComponents+0xe3 [c:\users\jeroen\documents\0ad_git\source\simulation2\simulation2.cpp @ 475] 0030f280 008e84c0 pyrogenesis_dbg!CSimulation2Impl::Update+0x23a [c:\users\jeroen\documents\0ad_git\source\simulation2\simulation2.cpp @ 358] 0030f294 0089cce0 pyrogenesis_dbg!CSimulation2::Update+0x20 [c:\users\jeroen\documents\0ad_git\source\simulation2\simulation2.cpp @ 654] 0030f444 00ab4b2d pyrogenesis_dbg!CNetTurnManager::Update+0x430 [c:\users\jeroen\documents\0ad_git\source\network\netturnmanager.cpp @ 173]
The code at CAIWorker::CAIPlayer::Run
runs
m_ScriptInterface.CallFunctionVoid(m_Obj.get(), "HandleMessage", state);
Seeming to indicate that perhaps some AI computation is going into a loop? Attaching to a release build shows similar results: also in SpiderMonkey, after a result to a script interface call with the HandleMessage
function name.
Change History (3)
by , 12 years ago
Attachment: | WallTest.zip added |
---|
comment:1 by , 12 years ago
Description: | modified (diff) |
---|
comment:2 by , 12 years ago
Description: | modified (diff) |
---|
Contains WallTest.pmp and WallTest.xml.