Page 1 of 2

OpenMW 0.18 RC crash after "coc" command on OS X

Posted: 20 Sep 2012, 18:28
by corristo
Let's discuss it here.

https://gist.github.com/3752643 — backtrace.

Found that there's no crash on "coc" on commit "6c03d7aec40e618a7b0a1e9fb0c00c5b2b6406ed" (before loading screen implementation).

Re: OpenMW 0.18 RC crash after "coc" command on OS X

Posted: 20 Sep 2012, 21:20
by corristo
this one started crashing: 2b339f6c0fd9242cd5bf800e68963acfa3abf479 (1st commit in scralw's loadingscreen branch).

But backtrace here is a bit more interesting than previous:
https://gist.github.com/3758112
(yes, it's really that long)

Re: OpenMW 0.18 RC crash after "coc" command on OS X

Posted: 21 Sep 2012, 08:01
by Zini
Huh? That looks like the same coc was executed several times in a row. Infinitely in fact. Did we really somehow produce a OS X only infinite recursion? Funny.

The last thing at the end of each cycle is a call to MWGui::loadingScreen::setLoadingProgress. For a simple test, I suggest to comment this function call out (it is located in MWGui::WindowManager) and see if the crash goes away.

Re: OpenMW 0.18 RC crash after "coc" command on OS X

Posted: 21 Sep 2012, 08:14
by sirherrbatka
That's what you get when you have only one semi-active developer for a platform... :/

Re: OpenMW 0.18 RC crash after "coc" command on OS X

Posted: 21 Sep 2012, 08:14
by Zini
Also, could you merge in my branch osxtest and see if that changes the nature of the crash? Please test this separately from what I proposed above.

Re: OpenMW 0.18 RC crash after "coc" command on OS X

Posted: 21 Sep 2012, 10:25
by corristo
Zini, tried your branch, same bt.

Re: OpenMW 0.18 RC crash after "coc" command on OS X

Posted: 21 Sep 2012, 10:33
by corristo
Commented all cals to "setLoadingProgress" in scene.cpp. No crash so far. (did that in current master, not in mentioned above commit)

Re: OpenMW 0.18 RC crash after "coc" command on OS X

Posted: 21 Sep 2012, 11:00
by Zini
Zini, tried your branch, same bt.
Exactly? Are you sure? It should be similar, but I would expect a few variations.

Re: OpenMW 0.18 RC crash after "coc" command on OS X

Posted: 21 Sep 2012, 11:47
by corristo
here is your branch:

Code: Select all

* thread #1: tid = 0x1c03, 0x003e5ae3 openmw`OIS::MacKeyboard::capture() + 147, stop reason = EXC_BAD_ACCESS (code=1, address=0x83e5895d)
    frame #0: 0x003e5ae3 openmw`OIS::MacKeyboard::capture() + 147
    frame #1: 0x000c1f60 openmw`MWInput::InputManager::update(float, bool) + 64 at inputmanagerimp.cpp:242
    frame #2: 0x003bfdc6 openmw`OMW::Engine::frameRenderingQueued(Ogre::FrameEvent const&) + 134 at engine.cpp:70
    frame #3: 0x020c84a0 Ogre`Ogre::Root::_fireFrameRenderingQueued(Ogre::FrameEvent&) + 336 at OgreRoot.cpp:841
    frame #4: 0x020c8e1f Ogre`Ogre::Root::_updateAllRenderTargets() [inlined] Ogre::Root::_fireFrameRenderingQueued() + 77 at OgreRoot.cpp:896
    frame #5: 0x020c8dd2 Ogre`Ogre::Root::_updateAllRenderTargets() + 34 at OgreRoot.cpp:1395
    frame #6: 0x020c8d48 Ogre`Ogre::Root::renderOneFrame() + 104 at OgreRoot.cpp:978
    frame #7: 0x0000620c openmw`OEngine::Render::OgreRenderer::start() + 172 at renderer.cpp:73
    frame #8: 0x003c469c openmw`OMW::Engine::go() + 11964 at engine.cpp:407
    frame #9: 0x003b0119 openmw`main + 281 at main.cpp:273
    frame #10: 0x99457725 libdyld.dylib`start + 1
here is master:

Code: Select all

* thread #1: tid = 0x1c03, 0x003e5ae3 openmw`OIS::MacKeyboard::capture() + 147, stop reason = EXC_BAD_ACCESS (code=2, address=0xf)
    frame #0: 0x003e5ae3 openmw`OIS::MacKeyboard::capture() + 147
    frame #1: 0x000c1f60 openmw`MWInput::InputManager::update(float, bool) + 64 at inputmanagerimp.cpp:242
    frame #2: 0x003bfdc6 openmw`OMW::Engine::frameRenderingQueued(Ogre::FrameEvent const&) + 134 at engine.cpp:70
    frame #3: 0x020c84a0 Ogre`Ogre::Root::_fireFrameRenderingQueued(Ogre::FrameEvent&) + 336 at OgreRoot.cpp:841
    frame #4: 0x020c8e1f Ogre`Ogre::Root::_updateAllRenderTargets() [inlined] Ogre::Root::_fireFrameRenderingQueued() + 77 at OgreRoot.cpp:896
    frame #5: 0x020c8dd2 Ogre`Ogre::Root::_updateAllRenderTargets() + 34 at OgreRoot.cpp:1395
    frame #6: 0x020c8d48 Ogre`Ogre::Root::renderOneFrame() + 104 at OgreRoot.cpp:978
    frame #7: 0x0000620c openmw`OEngine::Render::OgreRenderer::start() + 172 at renderer.cpp:73
    frame #8: 0x003c469c openmw`OMW::Engine::go() + 11964 at engine.cpp:407
    frame #9: 0x003b0119 openmw`main + 281 at main.cpp:273
    frame #10: 0x99457725 libdyld.dylib`start + 1

Re: OpenMW 0.18 RC crash after "coc" command on OS X

Posted: 21 Sep 2012, 12:46
by scrawl
The infinite recursion was a mistake on my side, but as you can see in commit messages its fixed a few commits later.

Have you tried to disable custom osx main loop yet? I have a feeling that could cause it.