0 Favourites

The crash-on-exit bug

  • I'm having trouble reproducing this crash-on-exit (or closing project) bug and I can't make shotgun fixes forever, so I've made one more guess-fix and included the debugging data (.pdbs).

    You can download the modified build here (about 23mb, includes debug data). Paste the EXE and pdb file over your existing 28.2 to try it out.

    If it still crashes, a crash dump or better yet, a call stack, would be very helpful! Let me know how it goes...

  • Aha, I managed to reproduce it on my XP VM, and made a change that seems to fix it for that - try downloading this and pasting over your 28.2. Let me know if this fixes it!

  • Problem seems to be in function: Construct2!cr__GLRenderer__ReleaseFont. Ahh, noticed your new build - will try now.

    EDIT

    Crash fixed!

  • Fixed? Fantastic! Can anybody else confirm?

  • I think I'll just push out a 28.3 and see if there are reports of any more crashes.

  • It still crashes for me with xp sp3.

    I ran it though windbg and copied the call stack at the point of the crash:

    kernel32!RaiseException+0x53
    Construct2!_CxxThrowException+0x48 [f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\throw.cpp @ 157]
    Construct2!cr::GLRenderer::MakeCurrent+0x4e [c:\construct2\source\common\cr\glrenderer\glrenderer_windows.cpp @ 321]
    Construct2!ObjectTexture::GLReleaseTexture+0x150 [c:\construct2\source\ide\projects\objecttexture.cpp @ 391]
    Construct2!RendererLayer::ReleaseTexture+0x14 [c:\construct2\source\ide\rendererlayer.cpp @ 137]
    WARNING: Stack unwind information not available. Following frames may be wrong.
    html5_exporter+0x1ea1e
    html5_exporter!ShutdownExporter+0x587e5[/code:3uaarlj9]
  • Construct 3

    Buy Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Buy Now Construct 3 users don't see these ads
  • Hmm... maybe there were multiple causes. Thanks for the stack trace, very handy, will investigate further...

  • OK, I think I've got it! I found a nasty double-release of fonts in the layer between plugins and the renderer. Ugly. That would explain R0J0's stack trace and the other crashes.

    If this doesn't fix it I think I'll cry

    Anyways, try downloading these files and pasting over 28.3, and let me know if it works.

  • Sorry to say still crashes on Windows Vista

  • <img src="http://www.pixagen.com/storage/b3s/FFFFFFUUUUUU.jpg">

  • OK, well, this really needs to get fixed. No point having a build out that crashes all the time for lots of people.

    If anyone can get a stack trace with the most recent EXEs above, that would be really handy. If it crashes for you and you're technologically inclined, fire up windbg, attach it to Construct's process, get it to crash, then open a stack trace. (You need the .pdbs next to the EXE to get it to load symbols otherwise it's all just memory addresses.) Paste it here and that's really good information to help solve the problem.

  • I just got back from the work but I'm more than happy to provide whatever information you need (long as I can figure it out. I'll try it and edit this post)

    I also discovered one thing: It's not the client exiting that causes it to crash. Rather, it's closing the layer (it be clicking on layer's close tab, or deleting the layer). I opened the project, did sprite, and removed the layer tab, and it crashed just same.

    I tried 28.3 version, pasted it over with your patch, and they all crashed same.

    EDIT: Tried the windbg but I'm having problem with pdb path. I'm about to pass out so I shall go sleep. Will be back tomorrow.

  • With the latest here is the call stack:

    WARNING: Stack unwind information not available. Following frames may be wrong.
    kernel32!RaiseException+0x52
    Construct2!_CxxThrowException+0x48 [f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\throw.cpp @ 157]
    Construct2!cr::GLRenderer::MakeCurrent+0x4e [c:\construct2\source\common\cr\glrenderer\glrenderer_windows.cpp @ 330]
    Construct2!ObjectTexture::GLReleaseTexture+0x150 [c:\construct2\source\ide\projects\objecttexture.cpp @ 391]
    Construct2!RendererLayer::ReleaseTexture+0x14 [c:\construct2\source\ide\rendererlayer.cpp @ 123]
    html5_exporter+0x1ea1e
    html5_exporter!ShutdownExporter+0x587e5
     [/code:1a3xihxs]
    
    After hitting f5 (go) c2 will continue to run like normal.
  • I don't know if I did this right...

    Closing the layer tab

    kernel32!RaiseException+0x58
    Construct2!_CxxThrowException(void * pExceptionObject = 0x0014e22c, struct _s__ThrowInfo * pThrowInfo = 0x016b5240)+0x48 [f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\throw.cpp @ 157]
    Construct2!cr::GLRenderer::MakeCurrent(void)+0x4e [c:\construct2\source\common\cr\glrenderer\glrenderer_windows.cpp @ 330]
    Construct2!ObjectTexture::GLReleaseTexture(class cr::GLRenderer * renderer = 0x0014e194)+0x150 [c:\construct2\source\ide\projects\objecttexture.cpp @ 391]
    Construct2!RendererLayer::ReleaseTexture(class era::IObjectTexture * texture = 0x078427c0)+0x14 [c:\construct2\source\ide\rendererlayer.cpp @ 123]
    WARNING: Stack unwind information not available. Following frames may be wrong.
    html5_exporter+0x1ea1e
    html5_exporter!ShutdownExporter+0x587e5
    [/code:2qgt82e5]
  • Both error reports very similar which is good news, should make it easier for ash to debug.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)