Strange Crash, help!
Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller
Strange Crash, help!
I've been working on this one game on and off for a few years now in Revolution. It's finally nearing completion and being ready to sell, except recently I upgraded/started using 2.8.1 and there has been some major crashes with the game. I was able to nail it down to a specific stack, let me explain it here:
The game uses what I call MODS for 90% of its graphics and alittle data (the landscape tiles, objects, opponents and spells). I created a mod editor, a stack, to import images and a text field to store the data (stats for opponents and spells..) and save them as another stack (which is what the MOD file is). On startup my game loads up the game.ini file and reads what mods it should load and then loads them up before presenting the title screen. After I switched to 2.8.1 (I was on 2.7 before that) and before I tested the game I added some new opponents and objects. When I loaded up the game I went into the editor which creates the levels and the entire rev environment crashed with a windows dialog informing me. I tried again, thinking it was a one-off thing, but alas it happened again. I then tried to play a level and before it started it crashed. After i settled down (a few hours) I decided it could have been the additions I made. I was able to get rid of an opponent (images and text) and some objects (just images) and it worked! I thought to try and add them again, maybe some bad write issue? But the exact same crash happened. I then added them to a new mod file, and loaded that up, thinking two stacks might help... Nope!
Next, I tried to compile the stack and run it as an exe. This worked! No crashes.. So for the last couple of weeks, I've been doing the last few code additions without the offending mod loaded, and when its time to create or test a level I compile and away I go. A few days ago I again added in some final opponents and again the crash occured.. This time I noticed I had doubled up on opponents and deleted the duplicate in the 2nd mod file (this time I just deleted the images, leaving the textdata intact) and the crash went away (only in the compiled version, not running the actual stack in rev). So its definately the images that are causing it. The mod editor randomizes an ID for the image, ensuring its not in use before validating it as well, each type (opponent, spell) had a differnet ID range. The first, Opponents, is from 10,000,000-19,999,999. The last is Objects, from 40,000,000-49,999,999. Could these be an issue perhaps?
I did try to use the 2.7 release and without any luck, the same thing happened. I'm not sure if 2.8.1 wrote some offending information to the stacks, or if its a bug that didn't show itself until after hundreds of images were imported. Any additional information I should include?
I wish to continue supporting the game after release, and also have the tools needed to create new mods released. This of course will prove a problem with the crashes happening. Not to mention I had planned an expansion pack. I've got no problem in supplying the rev team with my game/stacks, but I am worried I might have to postpone the game until a fix is released (and who knows how long that would take).. I've been around long enough to hear the complaints of bugs going unfixed even with supposed clear details of repeating it, and felt myself lucky that I've never really come across any bugs.... But now that I am staring at a major one I fear it will be ignored.
Screenshots
Crash Dialog
Crash Dialog - Data Report
Crash Dialog - Data Report Contents
I was unable to select all and copy the contents, is there a way to do it? and would it be helpful?
Basic System Info
Windows XP - Service Pack 2 (Latest hotfixes)
1.5GB Ram DDR
1x320gb Sata/2, 1x80gb IDE
Athlon 3700+ Socket 939
Geforce 7900GS PCI-E 16x (latest drivers, tried a few different ones as well)
Sound Blaster Audigy
The game uses what I call MODS for 90% of its graphics and alittle data (the landscape tiles, objects, opponents and spells). I created a mod editor, a stack, to import images and a text field to store the data (stats for opponents and spells..) and save them as another stack (which is what the MOD file is). On startup my game loads up the game.ini file and reads what mods it should load and then loads them up before presenting the title screen. After I switched to 2.8.1 (I was on 2.7 before that) and before I tested the game I added some new opponents and objects. When I loaded up the game I went into the editor which creates the levels and the entire rev environment crashed with a windows dialog informing me. I tried again, thinking it was a one-off thing, but alas it happened again. I then tried to play a level and before it started it crashed. After i settled down (a few hours) I decided it could have been the additions I made. I was able to get rid of an opponent (images and text) and some objects (just images) and it worked! I thought to try and add them again, maybe some bad write issue? But the exact same crash happened. I then added them to a new mod file, and loaded that up, thinking two stacks might help... Nope!
Next, I tried to compile the stack and run it as an exe. This worked! No crashes.. So for the last couple of weeks, I've been doing the last few code additions without the offending mod loaded, and when its time to create or test a level I compile and away I go. A few days ago I again added in some final opponents and again the crash occured.. This time I noticed I had doubled up on opponents and deleted the duplicate in the 2nd mod file (this time I just deleted the images, leaving the textdata intact) and the crash went away (only in the compiled version, not running the actual stack in rev). So its definately the images that are causing it. The mod editor randomizes an ID for the image, ensuring its not in use before validating it as well, each type (opponent, spell) had a differnet ID range. The first, Opponents, is from 10,000,000-19,999,999. The last is Objects, from 40,000,000-49,999,999. Could these be an issue perhaps?
I did try to use the 2.7 release and without any luck, the same thing happened. I'm not sure if 2.8.1 wrote some offending information to the stacks, or if its a bug that didn't show itself until after hundreds of images were imported. Any additional information I should include?
I wish to continue supporting the game after release, and also have the tools needed to create new mods released. This of course will prove a problem with the crashes happening. Not to mention I had planned an expansion pack. I've got no problem in supplying the rev team with my game/stacks, but I am worried I might have to postpone the game until a fix is released (and who knows how long that would take).. I've been around long enough to hear the complaints of bugs going unfixed even with supposed clear details of repeating it, and felt myself lucky that I've never really come across any bugs.... But now that I am staring at a major one I fear it will be ignored.
Screenshots
Crash Dialog
Crash Dialog - Data Report
Crash Dialog - Data Report Contents
I was unable to select all and copy the contents, is there a way to do it? and would it be helpful?
Basic System Info
Windows XP - Service Pack 2 (Latest hotfixes)
1.5GB Ram DDR
1x320gb Sata/2, 1x80gb IDE
Athlon 3700+ Socket 939
Geforce 7900GS PCI-E 16x (latest drivers, tried a few different ones as well)
Sound Blaster Audigy
-
- VIP Livecode Opensource Backer
- Posts: 977
- Joined: Sat Apr 08, 2006 7:47 am
- Location: Aalst, Belgium
- Contact:
Hi Jeremy,
The likely suspect is a corrupt image - unfortunately, you cannot find out any other way than by deleting images until the app no longer crashes.
Another potential problem (that bit me with Rev 2.7.0 and 2.7.1) is the 'ink' property of controls that you create dynamically; if you use the 'create' command a lot, make sure that you set the 'ink' property of your templateButton/templateField/templateGraphic to a valid ink name.
Either way, you should go to the Quality Center at http://quality.runrev.com and create a bug report there. Make sure to attach the crash logs, as this will help the engine team to resolve the issue.
Hope this gets you closer to a solution,
Jan Schenkel.
The likely suspect is a corrupt image - unfortunately, you cannot find out any other way than by deleting images until the app no longer crashes.
Another potential problem (that bit me with Rev 2.7.0 and 2.7.1) is the 'ink' property of controls that you create dynamically; if you use the 'create' command a lot, make sure that you set the 'ink' property of your templateButton/templateField/templateGraphic to a valid ink name.
Either way, you should go to the Quality Center at http://quality.runrev.com and create a bug report there. Make sure to attach the crash logs, as this will help the engine team to resolve the issue.
Hope this gets you closer to a solution,
Jan Schenkel.
Quartam Reports & PDF Library for LiveCode
www.quartam.com
www.quartam.com
Jan,
Thanks for replying, How exactly do you grab the crash logs? The only method i was presented with was sending it to Microsoft. I'm sure it was much easier/clearer in previous Windows, maybe it's just been too long since i needed to grab a crash report. Once i get that clear I will post a report there and hope for the best.
Also, I did find that it was the images (just never a certain one), which is why i created a new 'mod' that i don't load when needing to open the stack in revolution. The problem was it doesn't seem to be a certain image, just any new ones added. The different behavior when compiled vs. run in stack form is really confusing, it works in my advantage for now i suppose.
Thanks for replying, How exactly do you grab the crash logs? The only method i was presented with was sending it to Microsoft. I'm sure it was much easier/clearer in previous Windows, maybe it's just been too long since i needed to grab a crash report. Once i get that clear I will post a report there and hope for the best.
Also, I did find that it was the images (just never a certain one), which is why i created a new 'mod' that i don't load when needing to open the stack in revolution. The problem was it doesn't seem to be a certain image, just any new ones added. The different behavior when compiled vs. run in stack form is really confusing, it works in my advantage for now i suppose.
-
- VIP Livecode Opensource Backer
- Posts: 977
- Joined: Sat Apr 08, 2006 7:47 am
- Location: Aalst, Belgium
- Contact:
Hi Jeremy,
The crash logs ought to be in the directory:
where <User> is the name of the user that logged in, and <Media|Studio|Enterprise> should be replaced with the proper license type.
You may also want to set the 'Crash reporting on Windows XP' preference to 'Medium' in the General panel of the Preferences window.
Jan Schenkel.
The crash logs ought to be in the directory:
Code: Select all
C:\Documents and Settings\<User>\Application data\Runtime Revolution\Revolution <Media|Studio|Enterprise>\Crash Logs\
You may also want to set the 'Crash reporting on Windows XP' preference to 'Medium' in the General panel of the Preferences window.
Jan Schenkel.
Quartam Reports & PDF Library for LiveCode
www.quartam.com
www.quartam.com
I'd suggest opening all your graphics in a graphics editor and saveas them all in the same format. Making sure that they are all the same format! I ran into something like this some time ago and it was due to an incompatible image format option, even though all the files were the same format, one was saved using some option(s) that seem to have disagreed with Revolution. Once I re-saved the file with the proper settings, all was well.
If that doesn't do the trick, then I have no other suggestions.
If that doesn't do the trick, then I have no other suggestions.
There's actually only two options for PNG in Paint Shop Pro, non-interlaced and interlaced. I never changed those as I never saw a need, and all the images are PNG. I also noticed Rev had issues with certain options, which was one reason I always made sure to never change them. But thanks very much for your reply!