Opened 2 years ago

Last modified 22 months ago

#6524 closed defect

Atlas editor crash related to actor viewer — at Version 1

Reported by: Langbart Owned by:
Priority: Release Blocker Milestone: Alpha 26
Component: Atlas editor Keywords:
Cc: Patch:

Description (last modified by Langbart)

Testing on the latest GIT version [26845] a seg fault was discovered.

to reproduce

  1. Open the editor
  2. Click Play under Simulation test
  3. Switch to the Object tab
  4. Click Switch to Actor Viewer
  5. Click the Map tab icon
  6. Click Reset under Simulation test
  7. Crash
TIMER| session/session.xml: 198.891 ms
2022-05-02 11:41:09.151440+0200 pyrogenesis[13687:170421] [pyrogenesis] IIOIOSurfaceWrapper:1376: *** pixelformat '... ' not handled
Assertion failed: "!UpdateDirty()"
Location: TerritoryTexture.cpp:62 (GetTexture)

Call stack:

(error while dumping stack: Function not supported)
errno = 60 (?)
OS error = ?

lldb

Process 13687 stopped
* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x000000010109c1d0 pyrogenesis`::mozalloc_abort(msg=<unavailable>) at mozalloc_abort.cpp:33:3 [opt]
   30  	#ifdef MOZ_WIDGET_ANDROID
   31  	  abortThroughJava(msg);
   32  	#endif
-> 33  	  MOZ_CRASH();
   34  	}
   35  	
   36  	#ifdef MOZ_WIDGET_ANDROID
Target 0: (pyrogenesis) stopped.
(lldb) bt
* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x000000010109c1d0 pyrogenesis`::mozalloc_abort(msg=<unavailable>) at mozalloc_abort.cpp:33:3 [opt]
    frame #1: 0x0000000101b93e3d pyrogenesis`::abort() at mozalloc_abort.cpp:82:3 [opt]
    frame #2: 0x00000001004f2a66 pyrogenesis`sys_display_error(text=<unavailable>, flags=6) at unix.cpp:268:4 [opt]
    frame #3: 0x00000001004d51e3 pyrogenesis`debug_DisplayError(wchar_t const*, unsigned long, void*, wchar_t const*, wchar_t const*, int, char const*, long volatile*) [inlined] CallDisplayError(text=L"Assertion failed: \"!UpdateDirty()\"\r\nLocation: TerritoryTexture.cpp:62 (GetTexture)\r\n\r\nCall stack:\r\n\r\n(error while dumping stack: Function not supported)\r\nerrno = 60 (?)\r\nOS error = ?\r\n", flags=6) at debug.cpp:374:8 [opt]
    frame #4: 0x00000001004d51c6 pyrogenesis`debug_DisplayError(description=L"Assertion failed: \"!UpdateDirty()\"", flags=6, context=0x00007ffeefbfa480, lastFuncToSkip=<unavailable>, pathname=L"../../../source/graphics/TerritoryTexture.cpp", line=62, func=<unavailable>, suppress=0x0000000103b51d60) at debug.cpp:460 [opt]
    frame #5: 0x00000001004d5a4e pyrogenesis`debug_OnAssertionFailure(expr=<unavailable>, suppress=0x0000000103b51d60, file=<unavailable>, line=<unavailable>, func=<unavailable>) at debug.cpp:547:9 [opt]
    frame #6: 0x00000001003451f5 pyrogenesis`CTerritoryTexture::GetTexture(this=0x00000001082045e0) at TerritoryTexture.cpp:62:2 [opt]
    frame #7: 0x00000001002f7424 pyrogenesis`CMiniMapTexture::RenderFinalTexture(this=<unavailable>, deviceCommandContext=<unavailable>) at MiniMapTexture.cpp:417:52 [opt]
    frame #8: 0x00000001003ad9ab pyrogenesis`CSceneRenderer::RenderSubmissions(this=0x0000000108167e30, deviceCommandContext=0x0000000111ba2b80, waterScissor=0x00007ffeefbfb530) at SceneRenderer.cpp:763:33 [opt]
    frame #9: 0x00000001003aefb0 pyrogenesis`CSceneRenderer::RenderScene(this=0x0000000108167e30, deviceCommandContext=0x0000000111ba2b80, scene=0x0000000106283400) at SceneRenderer.cpp:1163:2 [opt]
    frame #10: 0x0000000100405f06 pyrogenesis`ActorViewer::Render(this=0x000000010511c650) at ActorViewer.cpp:530:32 [opt]
    frame #11: 0x000000010044cb22 pyrogenesis`AtlasViewActor::Render(this=0x0000000116380b80) at View.cpp:96:17 [opt]
    frame #12: 0x000000010041dd27 pyrogenesis`AtlasMessage::fRenderLoop(msg=0x00007ffeefbfbb60) at GraphicsSetupHandlers.cpp:253:25 [opt]
    frame #13: 0x0000000100444d48 pyrogenesis`MessagePasserImpl::Query(this=<unavailable>, msg=0x00007ffeefbfbb60, (null)=<unavailable>)()) at MessagePasserImpl.cpp:68:3 [opt]
    frame #14: 0x000000010b0125f5 libAtlasUI.dylib`ScenarioEditor::OnTimer(wxTimerEvent&) [inlined] AtlasMessage::QueryMessage::Post(this=<unavailable>) at ScenarioEditor.cpp:1157:19 [opt]
    frame #15: 0x000000010b0125df libAtlasUI.dylib`ScenarioEditor::OnTimer(this=0x0000000105826a00, evt=<unavailable>) at ScenarioEditor.cpp:696 [opt]
    frame #16: 0x000000010b34498f libAtlasUI.dylib`wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) + 447
    frame #17: 0x000000010b345f3a libAtlasUI.dylib`wxEvtHandler::ProcessEventLocally(wxEvent&) + 90
    frame #18: 0x000000010b345dd0 libAtlasUI.dylib`wxEvtHandler::ProcessEvent(wxEvent&) + 96
    frame #19: 0x000000010b3464ec libAtlasUI.dylib`wxEvtHandler::SafelyProcessEvent(wxEvent&) + 12
    frame #20: 0x000000010b30062a libAtlasUI.dylib`wxTimerImpl::SendEvent() + 90
    frame #21: 0x00007fff372c3db8 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
    frame #22: 0x00007fff372c391e CoreFoundation`__CFRunLoopDoTimer + 872
    frame #23: 0x00007fff372c3409 CoreFoundation`__CFRunLoopDoTimers + 322
    frame #24: 0x00007fff372a806d CoreFoundation`__CFRunLoopRun + 1885
    frame #25: 0x00007fff372a72b3 CoreFoundation`CFRunLoopRunSpecific + 466
    frame #26: 0x00007fff35f14aad HIToolbox`RunCurrentEventLoopInMode + 292
    frame #27: 0x00007fff35f147c5 HIToolbox`ReceiveNextEventCommon + 584
    frame #28: 0x00007fff35f14569 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64
    frame #29: 0x00007fff3455d659 AppKit`_DPSNextEvent + 883
    frame #30: 0x00007fff3455bea0 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
    frame #31: 0x00007fff3454dbae AppKit`-[NSApplication run] + 658
    frame #32: 0x000000010b14aa8a libAtlasUI.dylib`wxGUIEventLoop::OSXDoRun() + 186
    frame #33: 0x000000010b32441d libAtlasUI.dylib`wxCFEventLoop::DoRun() + 29
    frame #34: 0x000000010b29cffe libAtlasUI.dylib`wxEventLoopBase::Run() + 158
    frame #35: 0x000000010b26f9b3 libAtlasUI.dylib`wxAppConsoleBase::MainLoop() + 99
    frame #36: 0x000000010b10baaa libAtlasUI.dylib`wxApp::OnRun() + 26
    frame #37: 0x000000010b01013e libAtlasUI.dylib`::Atlas_StartWindow(type=<unavailable>) at DLLInterface.cpp:154:12 [opt]
    frame #38: 0x0000000100408b92 pyrogenesis`BeginAtlas(args=0x00007ffeefbff320, dll=0x0000000103bdd988) at GameLoop.cpp:136:2 [opt]
    frame #39: 0x000000010020806d pyrogenesis`ATLAS_RunIfOnCmdLine(CmdLineArgs const&, bool) [inlined] ATLAS_Run(args=0x00007ffeefbff320, flags=1) at Atlas.cpp:54:7 [opt]
    frame #40: 0x000000010020804e pyrogenesis`ATLAS_RunIfOnCmdLine(args=0x00007ffeefbff320, force=<unavailable>) at Atlas.cpp:77 [opt]
    frame #41: 0x000000010000443e pyrogenesis`RunGameOrAtlas(argc=<unavailable>, argv=<unavailable>) at main.cpp:578:6 [opt]
    frame #42: 0x00000001000035f6 pyrogenesis`main(argc=2, argv=0x00007ffeefbff668) at main.cpp:743:2 [opt]
    frame #43: 0x00007fff703d9cc9 libdyld.dylib`start + 1
    frame #44: 0x00007fff703d9cc9 libdyld.dylib`start + 1

bisect

[26170]

reproducible

The bug is not reproducible with A25b [25860].

Change History (1)

comment:1 by Langbart, 2 years ago

Description: modified (diff)

bisecting [26170]

Note: See TracTickets for help on using tickets.