The crash-on-exit bug

Discussion and feedback on Construct 2

Post » Thu Feb 17, 2011 2:06 am

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.
Scirra Founder
B
357
S
214
G
72
Posts: 22,946
Reputation: 178,228

Post » Thu Feb 17, 2011 2:49 am

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.
B
8
S
1
G
1
Posts: 13
Reputation: 788

Post » Thu Feb 17, 2011 5:01 pm

With the latest here is the call stack:
[code:1a3xihxs]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.
B
79
S
24
G
52
Posts: 4,724
Reputation: 39,711

Post » Thu Feb 17, 2011 5:13 pm

I don't know if I did this right...

Closing the layer tab
[code:2qgt82e5]
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]
B
8
S
1
G
1
Posts: 13
Reputation: 788

Post » Thu Feb 17, 2011 5:14 pm

Both error reports very similar which is good news, should make it easier for ash to debug.
Image Image
Scirra Founder
B
124
S
37
G
25
Posts: 3,945
Reputation: 44,882

Post » Thu Feb 17, 2011 6:03 pm

I can't seem to get it to load symbols. What's your secret?
i've tried pointing to the directory, and the file itself (the pdb is next to the exe)
B
32
S
3
G
2
Posts: 57
Reputation: 3,692

Post » Thu Feb 17, 2011 6:45 pm

It should load it automatically if the pdb is next to the EXE.

Thanks for the reports folks, will try something new soon...
Scirra Founder
B
357
S
214
G
72
Posts: 22,946
Reputation: 178,228

Post » Thu Feb 17, 2011 6:52 pm

Here we go.

[code:evaa3y0n]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+0x5835f[/code:evaa3y0n]
B
32
S
3
G
2
Posts: 57
Reputation: 3,692

Post » Thu Feb 17, 2011 8:58 pm

OK, thanks for the stack traces everyone, looks like the same issue. I suspect this is an OpenGL driver issue which is why I can't reproduce it.

There's a new diagnostic build here (previous links are dead now). The reason it crashed before was an unhandled exception being thrown from the renderer - I've changed this for asserts so you should see a check failure instead of a crash. If you get a check failure, paste it here, and click ignore - hopefully you can ignore it and it won't crash. If that seems reliable, I'll just turn off the checks. If it still crashes, a stack trace will be handy again.

Thanks everyone, this is a really difficult bug, but we'll get to the bottom of it! :)
Scirra Founder
B
357
S
214
G
72
Posts: 22,946
Reputation: 178,228

Post » Thu Feb 17, 2011 9:28 pm

Success!

No crash (nor check failure) when closing project, layer, or program!

Edit: Just wanted to add:
You rawk!
B
32
S
3
G
2
Posts: 57
Reputation: 3,692

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: blackhornet, Eisenhans, Triforce and 6 guests