Possible Cause Of Fenix Crashes.


ruckage

Certified Guru
Joined
Oct 15, 2006
Messages
659
Hi everyone. I think I may have discovered what has been causing fenix apps to crash randomly. I use flamebird which I downloaded as part of the devkit supplied on the GP2X archive to write and compile my files and I just thought I would try compiling from the command line instead of the built in feature of flaming bird. The resulting file was smaller and seems to work flawlesly. The dcb generated from flamebird was 225KB and the one from command line was only 160KB - quite a difference. I'm not sure what flamebird is doing but I think it could be the reason for the random crashes in all of my programs (if that's the case sorry puck2099 as I just assumed it was the fault of the fenix port).
I'll do some more tests but it looks positive so far. I've left one of my programs running and so far it's been going for quite some time and hasn't crashed (fingers crossed). What setup is everyone else using to write and compile their fenix programs?
 
It appears that by default flamebird compiles with debug options hence the extra file size. Still running tests but my DCB without the debug options seems completely stable.
 
Appears to be stable...appears being the operative word but yes flamebird by default compiles with debugging enabled. By removing it the binary shrinks and it actually gains in performance.
 
I wonder if Myriad would be stable if compiled from the command line like you said. I loved that game but ended up deleting it from my gp2x cause it would always crash at some point but it would be random. slingo would randomly crash sometimes but not very often and not too big a deal for me.
 
I'll ask fluffy to compile it without debug flags. However I believe she compiled without debug on anyway, when she released versions, due to the fact that the GP2x couldn't handle it otherwise. It was a lto more graphically impressive but was cut down in a few areas due to performance. Then another runtime came out that was fast enough for it, else fluffy may of given up.
 
I've just checked the 'Myriad' DCB and there is no debug (myriad did crash on my PC however so maybe there is another bug involved with this game). So far my own tests seem to indicate that compiling from the command line without debug fixes the problem. If it doesn't fix it, it definitely reduces the occurrence of these crashes as I've left a game running for well over 1 hour without one crash yet and it's still going - on the flip side I tried one of my old DCB files compiled in flamebird with the debug included and it crashed in under 15 minutes. I know this isn't conclusive yet but it's definitely promising and means I feel more confident about tackling more advanced projects.
 
the problem is probably just memory leaks. the debugger is extra stuff loaded in the memory, so you might go out of memory faster than without it...
 
Racemaniac posted on Mar 19 2007 at 02:43 PM said:
the problem is probably just memory leaks. the debugger is extra stuff loaded in the memory, so you might go out of memory faster than without it...
Maybe but I tried a re-compiled version of both my games without the debug option and I haven't had either crash - I left one running until the batteries went flat. I would have thought if it was memory leaks I would have still experienced a crash at some point. (Unless the memory leaks are only associated with the debug part of the program itself.)
 
Last edited by a moderator:
ruckage posted on Mar 19 2007 at 03:04 PM said:
Racemaniac posted on Mar 19 2007 at 02:43 PM said:
the problem is probably just memory leaks. the debugger is extra stuff loaded in the memory, so you might go out of memory faster than without it...
Maybe but I tried a re-compiled version of both my games without the debug option and I haven't had either crash - I left one running until the batteries went flat. I would have thought if it was memory leaks I would have still experienced a crash at some point. (Unless the memory leaks are only associated with the debug part of the program itself.)
Maybe your games use no parts of fenix that have memory leaks. I know myriad uses a lot of complex functions.
 
Last edited by a moderator:
sam fisher posted on Mar 19 2007 at 09:55 PM said:
Maybe your games use no parts of fenix that have memory leaks. I know myriad uses a lot of complex functions.

To answer that we would first need to know what parts of fenix have memory leaks. I thought originally that the use of lots of arrays could be the cause of the memory leaks as I use them extensively (if it is memory leaks that cause the crash). It's worth noting that warmfluffy said she has never experienced a crash with myriad and I've only experienced crashes while playing myriad on a few occasions so I'm not sure it's related.
 
Last edited by a moderator:
ruckage posted on Mar 19 2007 at 11:09 PM said:
sam fisher posted on Mar 19 2007 at 09:55 PM said:
Maybe your games use no parts of fenix that have memory leaks. I know myriad uses a lot of complex functions.

To answer that we would first need to know what parts of fenix have memory leaks. I thought originally that the use of lots of arrays could be the cause of the memory leaks as I use them extensively (if it is memory leaks that cause the crash). It's worth noting that warmfluffy said she has never experienced a crash with myriad and I've only experienced crashes while playing myriad on a few occasions so I'm not sure it's related.

one of the things that has a serious memory leak is the usage of maps.
every time you create a map (image in the memory) and unload it again, a bit of memory is lost.
or at least, it was like that with the gp32 ^^
i don't know what other things have leaks

and i'm also a bit amazed at this topic, compiling without debugger was pretty standard practice when you compiled the game for the gp32
 
Last edited by a moderator:
Racemaniac posted on Mar 19 2007 at 10:48 PM said:
and i'm also a bit amazed at this topic, compiling without debugger was pretty standard practice when you compiled the game for the gp32

Standard practice if you know about it, which I didn't and so I'm assuming others don't either. I had no idea that flamebird did this as a default and there was no mention of looking out for this in the readme associated with the gp2x fenix port. I've also looked through the fenixonfire site and it's not mentioned there either.
I started this topic as I thought it might help someone else out who was having similar problems to me, that is part of what these forums are for after all, If information like this isn't readily available how do people know how things are meant to be done. Documentation for fenix in english isn't easy to come by so I would think that every snippet would helpful.
 
Last edited by a moderator:
sam fisher posted on Mar 20 2007 at 08:07 AM said:
Actually, when you first configure flamebird it asks you about your preferance for the debugger :p
It may do but I don't remember seeing it, I'm using the fenix devkit from the archive which you just extrct the whole lot to a directory and it's ready to use. Anyway in my past experience I always thought a debugger was a separate program not somthing that was added to the compiled version of the game.
 
Last edited by a moderator:
the runtime that myriad uses is a beta runtime that I don't think any other fenix program has included with it. does anyone know if there has been any progress on the runtime and if that newer runtime that myriad uses will be developed further and released publicly. maybe a better runtime could help some issues.
 
Oh that is great! The random crashes are because of the debug mode enabled! Awesome find, ruckage, Thank you!
 
Quiest said:
Oh that is great! The random crashes are because of the debug mode enabled! Awesome find, ruckage, Thank you!
No problem :)
 
Last edited by a moderator:
Back
Top