Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
VDrift crashes if the car hits an object real hard!
10-29-2006, 05:59 PM,
#1
VDrift crashes if the car hits an object real hard!
VDrift usually crashes if I hit an object real hard when I run VDrift for the first time after installing it, it actually seems less likely to crash when VDrift is loaded for the second time and beyond. That's strange.

Update:
Ruudskogen, is the place where it's the most likely to crash.
Also, Ruudskogen is the place where you're the most likely to get video corruption, if you been at the track selection menu item.

How VDrift crashes is a lock up with a sound being repeated.
Thus I'm required to terminate VDrift with Task Manager.

This is with Windows 2000 Pro SP4 and Windows XP Pro 2002 SP2.
Reply
10-29-2006, 06:13 PM,
#2
 
This is a known bug, sometimes you'll see the speedometer read "NAN" when this happens, and the screen turn black. There's probably a better way to catch this problem and handle it so users can still quit the game...I'll see if we can find a solution...
Reply
10-29-2006, 06:16 PM,
#3
 
thelusiv Wrote:This is a known bug, sometimes you'll see the speedometer read "NAN" when this happens, and the screen turn black. There's probably a better way to catch this problem and handle it so users can still quit the game...I'll see if we can find a solution...

I can't recall it displaying "NAN", also, it usually just freezes.
Reply
10-30-2006, 12:53 AM,
#4
 
Talking to Joe today, he said we can probably throw an error this when it happens in TRACK::ElevationSeg and then catch it in the Gui where we can then display an error message, and return the user to the main menu where they can quit. I'll look into fixing this soon.
Reply
10-30-2006, 07:11 PM,
#5
 
Yea, I've actually searched the code for NAN trying to see if there isn't some way to catch whatever causes that and do something besides lock up. I found several instances, but haven't researched it yet.
_____
Cotharyus
Remember: Horsepower is how hard you hit the wall. Torque is how far you take it with you.
http://cotharyus.net
Reply
10-31-2006, 02:25 AM,
#6
 
I have no problem detecting the error, I just need to handle it better. The plan will be to throw something that we can catch and handle elegantly.

As for what's CAUSING the error, I'm not sure what it is, and I haven't tried pinning it down because I can't reproduce it reliably.
Reply
10-31-2006, 04:16 AM,
#7
 
One idea for finding the problem is, whatever we throw when the errors occur, should contain some information collected about the error. Then this info should be recorded on disk, and the user should be told where it is so they can post it here. What kind of info would be useful? I'm guessing track and car, position of car...heck actually a replay would have the data we'd need to reproduce it...right? The only problem now is, if this problem occurs the replay will not be stopped and written to disk. If we could handle this problem correctly then we could record the problem as it happened, and use that as a test case when trying to fix the problem. However it still might be useful to record some data besides just a replay, like the place where the error occurred, and the values that caused the problem, or something like that...
Reply
11-02-2006, 12:10 PM,
#8
 
In the latest SVN (r1315) I have implemented a simple try/catch in main.cpp, and a few throw statements in track.cpp, so that if we encounter the NAN problem we can put an error menu on the screen, and then leave the current game. This works, but the car engine sound continues looping after the game has been stopped, and never stops playing until a new game is started or VDrift is exited.

This might be a good point to think about reintroducing Matthew's logging class(es). We need a more complex error class to throw, instead of just std:Confusedtring, that can contain more information about the problem.
Reply
11-02-2006, 10:37 PM,
#9
 
The error class should also contain the file and line that did the throwing, and those should be settable in the constructor so we can do something like:

throw EXCEPTION(__FILE__, __LINE__, "Some descriptive text!");

I did this for another project and it's very handy.
Reply
11-04-2006, 03:13 PM,
#10
 
Quote:This works, but the car engine sound continues looping after the game has been stopped, and never stops playing until a new game is started or VDrift is exited.

I've fixed this in SVN. All of the resources (including sound) should now be unloaded when this occurs.
Reply
11-05-2006, 02:47 AM,
#11
 
Cool, this works well for me now, if anyone comes across an instance where VDrift crashes or hangs (with the SVN version) without presenting a Simulation Error menu please report it...
Reply
03-01-2011, 06:54 PM,
#12
 
OK, I tried this version, even though generations old, because I miss the tach gauge that this version has.

But, strangely, I just discovered recently that hitting a wall can crash Windows! Yes, Windows!
Yes, literally the OS!

It will cause Windows to give STOP: 0x000000D1 DRIVER_IRQL_NOT_LESS_OR_EQUAL

or Windows just freezes!

But this has to be something driver related, but this didn't occur before!

This occurs on my old schooler, my Asus A7N8X-X and Barton 3000+ with XP Pro SP3.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)