Skip to main content
GameDev.net gamedev.net
🔒 Locked

ATi "The device driver got stuck in an infinite loop"

Started by Greg K Apr 27, 2005 at 7:31 PM 8 replies 11.4k views
Original Post
Greg K
Greg K
I am having a hard time debugging a problem I am having. The problem stems from the fact that the engine has been developed and tested on an nVidia card, and now we are trying to use it on ATi cards. The program runs, loads one map, and then (depending on the next map you load) will blue-screen, giving this message: "The device driver got stuck in an infinite loop" I need to know what can cause that problem so I can try and debug it. Right now I really don't know where to start. The program will usually crash on a buffer flip, but that really doesn't tell me much seeing as though it will load and display some maps just fine. Any help is greatly appreciated. Also note, this problem does not show up on nVidia cards, but it shows up on all ATi cards we have tested it on (9800pro, 9600xt, and others) -Greg
Woodchuck
Woodchuck
According to the computing theorie, a programm can't know it loop infinitly...
Greg K
Greg K
that is true, but a watchdog timer can kick out of a loop after a predetermined interval with relative certainty that the hardware would not exit from it's current state on it's own. :P

Now, can anyone give a -helpful- answer?
Drew_Benton
Drew_Benton
What's funny is that you are getting this with ATI cards. On a quick google search it appears that it is a NVIDIA problem. Most of the advice given is o update the display drivers. Can you disclose any additional information on the engine itself - is it a custom one, OpenGL, DirectX, or something like Ogre? Are you using any graphics extensions?
hplus0603
hplus0603
This is the ATI driver telling you it has a bug. Assuming you've already downloaded and tested the latest drivers for the cards, as well as for the chip sets on your motherboards, you now have two options:

1) Use programmer ESP to figure out what of all the things you do, that actually causes the crash. Cutting your program in half, until the problem disappears, can help in doing this. Then figure out how your program can do what it needs to do without making whatever call sequence it is that tickles the bug in the ATI driver.

2) Send a reproducible test case to ATI developer support: devrel@ati.com -- they actually do respond to these kinds of requests. It helps if you also register as a developer on their web site. A few months after you do that, a new driver will likely be released that has a line like "fix stability issue with in certain situations" in the release notes.

Of course, that's just for this particular driver version. Then some other new change will come along, and break you all over again, and you lather, rinse repeat. I'll have to say that we've had the same kinds of problems with NVIDIA drivers, too, so this is not a flame against either company. They're trying to ship some very complex hardware at a very low price, with a very quick time to market. This means that the market achieves that infamous "good enough, but no better" level of quality that the cost- and release-driven computer industry is known for.
enum Bool { True, False, FileNotFound };
Greg K
Greg K
that is not the answer I wanted to hear. Very unfortunate for us.

To number 1: Unfortunatly I already tried this. I cut it all the way down to where we flip the buffers. The weird part is that it only happens if I load a certain map after another one. If I load the problem map right away everything works just fine. It would be a pain in the ass to shutdown our graphics stuff completely and restart it every time we wanted to load a map... Will look into this more I guess...

To number 2: We are already a registered ATi Developer. I suppose we could send it away, because this is definatly reproducable. It happens every time any of us try to load it on an ATI card.

TO Drew_Benton:
http://www.hardwareanalysis.com/content/topic/1075?o=0
http://www.sidefx.com/forum/viewtopic.php?t=15
etc... etc...

Unfortunatly it sounds like these people just update their drivers and it works. Probably because the game companies that get these errors do hplus0603's fix number two, and then the users driver just needs to be updated.

-Greg
STLDude
STLDude
Quote:
Original post by Greg K
The weird part is that it only happens if I load a certain map after another one. If I load the problem map right away everything works just fine.


Thats a start. Start looking how you deal with video resources when you switch maps, (vertex buffers, textures, index buffers, etc). Also, try simple maps and switch them to see if you can reproduce it.

Most likely it's in you code or your data set is wacked (wrong vertex indices, etc). Have some kind of validator for your data to make sure that you do not have stray vertices and/or indices.
bah
bah
Greg

I don't know if this is relevant but I had been getting the same error whilst
running two ATi-powered graphics card, one PCI and one AGP. The PCI bus was used by only two cards, the graphics card and an NIC, and as soon as I removed the latter, I stopped getting this error.
Twist wish
Twist wish
It's a problem where you get a VPU Recover window?

I'm not a developer but I think this must be a problem of the operating system, not from the GPU.You have Windows 2000 or XP?

I've this kind of problem sometime ago, not programing graphics but doing other "normal" things.There are some articles on internet about infinite loop on XP and they can explain things better than I(I'm not very good in english:)

I don't remember wich one I read do a search.I have only this one:
http://www.viaarena.com/default.aspx?PageID=5&ArticleID=9

By the way I have a Radeon 9700 Pro but if you search you will find people with GeForce and others GPU with the same problem.ATI has some articles about this also but I can't read them (aaaaaaaaaaarrrrrrrrrrrgggggggh!)

When I reinstaled the computer system and all the drivers the problem disappears(?????)

EDIT: another one:
http://www.tweakxp.com/article139823.aspx (This is a posibility)
/ As always forgive (or better forget) my english // I promise I will learn! /
Twist wish
Twist wish
Hey this one is "good".Sure they don't do nothing...
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q293078
Everyone accuse other one.But if it's something of every graphic card...

Anyway, if you can find anything interesting about this, please let me know.

P.S: I think that the VPU RECOVER was created only to reduce the impact of this problem(If you have a lucky day and the VPU RECOVER works the computer don't reboot).

I really found a very good www about this but I don't remember!

EDIT: I just remember...Sometimes when I boot I have problems not having signal in my monitor,more habituals since I installed a SATA.If this also happens to you then maybe it's a power's fault (More power?).Try unplugging the last hardware that you put.
/ As always forgive (or better forget) my english // I promise I will learn! /

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.