Using the parachute

Whenever my program crashes, it deploys the parachute and looks like I
exited my program normally. Unfortuneatly this gives me no clue as to
why it crashed, making debugging next to impossible.

Is there any way to disable it or generate a core dump to look at. I am
using MSVC 6 if that matters.

“Bryan Mulvihill” wrote

Whenever my program crashes, it deploys the parachute and looks like I
exited my program normally. Unfortuneatly this gives me no clue as to
why it crashed, making debugging next to impossible.

Is there any way to disable it or generate a core dump to look at. I am
using MSVC 6 if that matters.

whenever you call SDL_Init, be sure to pass the
SDL_INIT_NOPARACHUTE flag. this will keep you from
the soft landing :]

if you call SDL_Init multiple times, be sure that
you pass this flag every time it is called.

Whenever my program crashes, it deploys the parachute and looks like I
exited my program normally. Unfortuneatly this gives me no clue as to
why it crashed, making debugging next to impossible.

Is there any way to disable it or generate a core dump to look at. I am
using MSVC 6 if that matters.

Run the program under the VC debugger (in windowed mode only!) and the
debugger will catch the crash as an access violation before the SDL
parachute recovery code is called.

See ya,
-Sam Lantinga, Software Engineer, Blizzard Entertainment

Last night I wrote an asteroid clone (out of sheer boredom) and I found
that with large numbers of objects being SDL_BlitSurface()'d to the video
surface (indirectly, via SDL_Flip()) the parachute will occassionally
deploy. When I disable the parachute though, no crash occurs. gdb is of
little help when the parachute deploys, though I’m not sure if this is
because of SDL or the use of threads… Is this well known? Or probably
something I’m doing wrong - the program isn’t terribly complex, but much
of it was written after 2am so maybe I just screwed something up :slight_smile:
I can post code if appropriate, total source is around a thousand lines.

Jp Calderone

Jp Calderone wrote:

Last night I wrote an asteroid clone (out of sheer boredom) and I found
that with large numbers of objects being SDL_BlitSurface()'d to the video
surface (indirectly, via SDL_Flip()) the parachute will occassionally
deploy.

reduce it to a minimum failing example (< 50 lines) that exhibits the
problem and is self-contained, compileable etc

if you can’t do that, we can be pretty certain that it’s a bug in your
program, not SDL

PAss SDL_INIT_NOPARACHUTE to SDL_Init to disable the parachute.On Mon, Oct 01, 2001 at 02:57:19AM -0400, Jp Calderone wrote:

Last night I wrote an asteroid clone (out of sheer boredom) and I found
that with large numbers of objects being SDL_BlitSurface()'d to the video
surface (indirectly, via SDL_Flip()) the parachute will occassionally
deploy. When I disable the parachute though, no crash occurs. gdb is of
little help when the parachute deploys, though I’m not sure if this is
because of SDL or the use of threads… Is this well known? Or probably
something I’m doing wrong - the program isn’t terribly complex, but much
of it was written after 2am so maybe I just screwed something up :slight_smile:
I can post code if appropriate, total source is around a thousand lines.

Jp Calderone


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl


Martin

Bother! said Pooh, Lock phasers on that heffalump!

Hmm… I’m doing exactly that (and a few other variants) in Kobo Deluxe
without any problems whatsoever.

How many is “large numbers”, anyway? :slight_smile:

(Kobo Deluxe does some 400-600 blits/frame; average size 16x16 in 320x240
mode. That’s including the off-screen enemies, as they aren’t culled by
the current engine.)

//David Olofson — Programmer, Reologica Instruments AB

.- M A I A -------------------------------------------------.
| Multimedia Application Integration Architecture |
| A Free/Open Source Plugin API for Professional Multimedia |
----------------------------> http://www.linuxdj.com/maia -' .- David Olofson -------------------------------------------. | Audio Hacker - Open Source Advocate - Singer - Songwriter |-------------------------------------> http://olofson.net -'On Monday 01 October 2001 08:57, Jp Calderone wrote:

Last night I wrote an asteroid clone (out of sheer boredom) and I
found that with large numbers of objects being SDL_BlitSurface()'d to
the video surface (indirectly, via SDL_Flip()) the parachute will
occassionally deploy.

Last night I wrote an asteroid clone (out of sheer boredom) and I
found that with large numbers of objects being SDL_BlitSurface()'d to
the video surface (indirectly, via SDL_Flip()) the parachute will
occassionally deploy.

Hmm… I’m doing exactly that (and a few other variants) in Kobo Deluxe
without any problems whatsoever.

How many is “large numbers”, anyway? :slight_smile:

(Kobo Deluxe does some 400-600 blits/frame; average size 16x16 in 320x240
mode. That’s including the off-screen enemies, as they aren’t culled by
the current engine.)

Ok after some sleep and some debugging it seems that adding the
SDL_NOPARACHUTE flag altered some timings ever so slightly, preventing /
reducing the likelyhood of a particular race condition in the game engine.
Ooops. :slight_smile:

Jp CalderoneOn Mon, 1 Oct 2001, David Olofson wrote:

On Monday 01 October 2001 08:57, Jp Calderone wrote:

//David Olofson — Programmer, Reologica Instruments AB