Opened 11 years ago

Last modified 9 years ago

#2112 new defect

[ATLAS]Crash in Atlas, switching actor viewer after using simulation test

Reported by: historic_bruno Owned by:
Priority: Should Have Milestone: Backlog
Component: Atlas editor Keywords: unanswered
Cc: Patch:

Description

A14 release, Win 7

It looks different than #1321, not an assertion failure but a crash. It's not easy to reproduce but I've gotten similar cashes after loading a map, running a simulation test, and using actor viewer. The call stack differs, but it's often in memcpy or similar which makes me think it could be heap corruption.

Here's the reported error, which isn't very useful (see crashlog.dmp instead):

Function call failed: return value was -1 (Function failed (no details available))
Location: wsdl.cpp:260 (wnd_CreateWindow)

Call stack:

wnd_CreateWindow (wsdl.cpp:260)
    w = (unavailable)
    h = 768 (0x00000300)
    wc = 
        style = 32 (0x00000020)
        lpfnWndProc = 0x0127D8F0 -> (OnMessage)
        cbClsExtra = 0 (0x00000000)
        cbWndExtra = 0 (0x00000000)
        hInstance = 0x010B0000 (..)
        hIcon = 0x00000000
        hCursor = 0x00000000
        hbrBackground = 0x00000000
        lpszMenuName = 0x00000000
        lpszClassName = 0x01331A98 -> "WSDL{55752F43-0241-492C-8648-C7243397FCE4}"

    class_atom = 0 (0x0000)

SDL_SetVideoMode (wsdl.cpp:398)
    w = 1024 (0x00000400)
    h = 768 (0x00000300)
    bpp = 32 (0x00000020)
    flags = 2 (0x00000002)
    screen = { format = 0x01383C44 -> { BitsPerPixel = [8] { 32 (0x20), 0 (0x00), 0 (0x00), 0 (0x00), 0 (0x00), 0 (0x00), 0 (0x00), 0 (0x00) } }, w = 1920 (0x00000780), h = 1200 (0x000004B0) }
    format = { BitsPerPixel = 32 (0x20) }
    s = 
        m_lastError = 32 (0x00000020)

    rect = 
        left = 0 (0x00000000)
        top = 0 (0x00000000)
        right = 0 (0x00000000)
        bottom = 0 (0x00000000)

    swp_flags = 2 (0x00000002)

CVideoMode::SetVideoMode (videomode.cpp:150)
    this = (unavailable)
    w = 1024 (0x00000400)
    h = 768 (0x00000300)
    bpp = 32 (0x00000020)
    fullscreen = false

CVideoMode::SetFullscreen (videomode.cpp:414)
    this = (unavailable)
    fullscreen = false

psDisplayError (gamesetup.cpp:415)
    __formal = 0x056C0000 -> "Much to our regret we must report the program has encountered an error.

Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files.

Details: unhandled exception (Access violation reading 0x10241024)

Location: unknown:0 (?)

Call stack:

(error while dumping stack: No stack frames found)
errno = 0 (No error reported here)
OS error = 0 (no error code was set)
"
    __formal = 0 (0x00000000)
    reentering = true 

debug_DisplayError (debug.cpp:469)
    description = 0x08DA4A48 -> "Much to our regret we must report the program has encountered an error.

Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files.

Details: unhandled exception (Access violation reading 0x10241024)
"
    flags = 0 (0x00000000)
    context = 0x0317EC4C
    lastFuncToSkip = 0x013304A4 -> "_wseh_ExceptionFilter"
    pathname = 0x0317E970 -> [8] { 0, 0, 0, 0, 0, 0, 0, 0 }
    line = 0 (0x00000000)
    func = 0x0131DF0C -> [8] { 63 ('?'), 0, 0, 0, 71 ('G'), 114 ('r'), 101 ('e'), 97 ('a') }
    suppress = 0x00000000
    emm = { pa_mem = 0x056C0000 (see above) }

wseh_ExceptionFilter (wseh.cpp:291)
    ep = (unavailable)
    func = [1000] 
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0 ...
    message = "e must report the program has encountered an error.

Please let us know at http://trac.wildfiregames.com/ and attach the crashlog.txt and crashlog.dmp files.

Details: unhandled exception (Access violation reading 0x10241024)
"
    descriptionBuf = "ding 0x10241024"
    file = [100] 
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0
        0 ...
    nestingLevel = 1 (0x00000001)
    line = 199 (0x000000C7)
    context = [2048] 
        211 (0xD3)
        0 (0x00)
        0 (0x00)
        0 (0x00)
        177 (0xB1)
        35 (0x23)
        0 (0x00)
        0 (0x00)
        160 (0xA0)
        214 (0xD6)
        103 (0x67)
        116 (0x74)
        76 (0x4C)
        0 (0x00)
        0 (0x00)
        0 (0x00) ...

thread_start (wpthread.cpp:627)
    param = 0x00000000
    ret = 0x0000002B

seh_longjmp_unwind4 (:0)

endthreadex (:0)

endthreadex (:0)

RtlInitializeExceptionChain (:0)

RtlInitializeExceptionChain (:0)


errno = 13 (Insufficient access rights to open file)
OS error = 87 (The parameter is incorrect.)

Attachments (1)

crashlog.dmp (68.1 KB ) - added by historic_bruno 11 years ago.

Download all attachments as: .zip

Change History (4)

by historic_bruno, 11 years ago

Attachment: crashlog.dmp added

comment:1 by historic_bruno, 11 years ago

Call stack from crashlog.dmp:

 	msvcr90.dll!memcpy(unsigned char * dst=0x42800020, unsigned char * src=0x10241024, unsigned long count=270798884)  Line 188	Asm
>	msvcr90.dll!memcpy_s(void * dst=0x42800020, unsigned int sizeInBytes=270798895, const void * src=0x10241024, unsigned int count=270798884)  Line 67 + 0xc bytes	C
 	msvcp90.dll!std::char_traits<char>::_Copy_s(char * _First1=0x42800020, unsigned int _Size_in_bytes=270798895, const char * _First2=0x10241024, unsigned int _Count=270798884)  Line 583	C++
 	msvcp90.dll!std::_Traits_helper::copy_s<std::char_traits<char> >(char * _First1=0x42800020, unsigned int _Size=270798895, const char * _First2=0x10241024, unsigned int _Count=270798884, std::_Secure_char_traits_tag __formal={...})  Line 714 + 0x11 bytes	C++
 	msvcp90.dll!std::_Traits_helper::copy_s<std::char_traits<char> >(char * _First1=0x42800020, unsigned int _Size=270798895, const char * _First2=0x10241024, unsigned int _Count=270798884)  Line 706 + 0x14 bytes	C++
 	msvcp90.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _Right={...}, unsigned int _Roff=0, unsigned int _Count=4294967295)  Line 1067 + 0x2c bytes	C++
 	msvcp90.dll!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _Right={...})  Line 734	C++
 	pyrogenesis.exe!CTerrainProperties::GetMovementClass()  Line 107 + 0x16 bytes	C++
 	pyrogenesis.exe!CTerrain::GetMovementClass(int i=0, int j=0)  Line 111	C++
 	pyrogenesis.exe!CCmpPathfinder::UpdateGrid()  Line 527 + 0x15 bytes	C++
 	pyrogenesis.exe!CCmpPathfinder::GetPassabilityGrid()  Line 304	C++
 	pyrogenesis.exe!CCmpTerritoryManager::CalculateTerritories()  Line 359	C++
 	pyrogenesis.exe!CCmpTerritoryManager::GetTerritoryGrid()  Line 221	C++
 	pyrogenesis.exe!CCmpRangeManager::UpdateTerritoriesLos()  Line 1377 + 0x9 bytes	C++
 	pyrogenesis.exe!CCmpRangeManager::HandleMessage(const CMessage & msg={...}, bool __formal=false)  Line 528	C++
 	pyrogenesis.exe!CComponentManager::BroadcastMessage(const CMessage & msg={...})  Line 832 + 0xd bytes	C++
 	pyrogenesis.exe!CSimulation2Impl::UpdateComponents(CSimContext & simContext={...}, CFixed<int,2147483647,32,15,16,65536> turnLengthFixed={...}, const std::vector<SimulationCommand,std::allocator<SimulationCommand> > & commands=[0]())  Line 496	C++
 	pyrogenesis.exe!CSimulation2Impl::Update(int turnLength=0, const std::vector<SimulationCommand,std::allocator<SimulationCommand> > & commands=[0]())  Line 365 + 0xe bytes	C++
 	pyrogenesis.exe!CSimulation2::Update(int turnLength=0)  Line 656	C++
 	pyrogenesis.exe!ActorViewer::Update(float simFrameLength=0.00000000, float realFrameLength=0.060748830)  Line 531	C++
 	pyrogenesis.exe!AtlasViewActor::Update(float realFrameLength=0.00000000)  Line 81	C++
 	pyrogenesis.exe!RunEngine(void * data=0x003ffd04)  Line 230	C++
 	pyrogenesis.exe!thread_start(void * param=0x0048a8f8)  Line 624 + 0x3 bytes	C++
 	msvcr90.dll!_callthreadstartex()  Line 348 + 0x6 bytes	C
 	msvcr90.dll!_threadstartex(void * ptd=0x00764f88)  Line 326 + 0x5 bytes	C
 	kernel32.dll!@BaseThreadInitThunk@12()  + 0x12 bytes	
 	ntdll.dll!___RtlUserThreadStart@8()  + 0x27 bytes	
 	ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes	

comment:2 by Stan, 10 years ago

Keywords: unanswered added

comment:3 by Stan, 9 years ago

Summary: Crash in Atlas, switching actor viewer after using simulation test[ATLAS]Crash in Atlas, switching actor viewer after using simulation test
Note: See TracTickets for help on using tickets.