Hi folks - I have started getting this error on a regular basis when running JME: screen freezes, goes blank, then sometimes recovers to windows and sometimes locks up. If it recovers, I get the message: "Atikmdag has stopped responding and has successfully recovered"
Having done some research (eg http://www.repairyourpcnow.com/resources/atikmdag-has-stopped-responding.php ) I see this is a well known problem. What is different for me is that I only get it in JME - all other 3D apps work fine. I started getting this in in the middle of last year, got it once every two months or so, but this January I have started getting it every single time I use JME. (Coincidentally, my PC's warranty ran out at the end of December…). In this time I have changed absolutely nothing on my system - using JME 1.0 which I installed last April, and the same ATI drivers that the PC shipped with. I notice last time that Java recovered and reported an error in 'atioglxx.dll' - meanign it is somethign OpenGL related?
I expect this is an ATI problem not a JME problem, but just wondered if anyone else had encountered this, and if (by any chance) anyone had come across a solution?
hey there.
First of all, i don't think this is a warranty issue. Second, update your ATI drivers. Third, switch to JME 2.0. If the problem is still there, report back.
Andy
Thanks Andy, for replying.
As I said, I am using the same JME and the same drivers I have used successfully for the past year; the problem has started happening frequently only in the past month. I was wondering if anyone else had encountered this problem and if so if they had come across any solutions? Is switching to JME 2.0 a solution for this probelm, so far as anyone knows?
"Switch to JME 2.0" is all very well, but so far as I can see that means completely rewriting my game from the ground up, using something that isn't documented, and that's not something I am keen to do without evidence that it will help.
I think switching to jme2 could only help if this was a lwjgl issue, which has been fixed in the newer lwjgl version.
If updating display drivers dosen't help, you best bet is to try and isolate the problem so others can reproduce it.
richitis said:
"Switch to JME 2.0" is all very well, but so far as I can see that means completely rewriting my game from the ground up, using something that isn't documented, and that's not something I am keen to do without evidence that it will help.
In most circumstances, I believe the switch to jME 2 is rather painless and far from requiring a complete rewrite. Most the labor is changing from integer contants to enums, and these are all listed in the transition guide in the wiki. Also, jME 2 is no less documented than jME 1, in my opinion. Your decision obviously, but I don't think its as bad as you may believe it to be. ;)
Also, jME 2 is no less documented than jME 1, in my opinion.
IMO the internal (code-base) jME 2.0 documentation surpasses jME 1.0 easily. The addition of the enums make the variables themselves much easier to understand. Furthermore the commenting that has been added to most of the enums has already helped my openGL understanding increase (the texture combine modes are a really good example, the enums and comments there have helped me a couple of times). :)
LWJGLRenderer.displayBackBuffer()
This is the part where all rendering commands are flushed down the video card pipe, there's absolutely nothing wrong with that call except that it's where things happen. The issue seems to be in the video card or it's drivers, a crash like this obviously shouldn't happen and is not the fault of jME. Now, as to the cause of the crash, think of any jME feature you started using in the last month (or when the crash started happening).
This problem again. First of all, I haven't updated to JME2.0 - painless or not, I've not had chance yet… But I have narrowed down exactly where (but not why) it is happening:
It is caused by LWJGLRenderer.displayBackBuffer() hanging (or not returning, or getting into an infinite loop or whatever). Vista interprets this as the graphics card not responding and shuts down the app after 2 seconds, reporting a 'video hardware error' (very unhelpfully).
I can also recreate the problem on demand in my game - but it seems to require a very specific set of circumstances so it would be very hard to extract this out into a sharable example. It seems to happen when two ships are pointing more or less directly toward each other, at any range.
I don't understand enough of what LWJGLRenderer.displayBackBuffer() does to be able to see why this might be happening. But does this mean anything to anybody? And does JME2.0 contain updates to LWJGLRenderer that might stop this happening?
I wonder if you are doing some logic in the rendering loop that is causing the delay…
basixs said:
I wonder if you are doing some logic in the rendering loop that is causing the delay...
Yes I wondered that - I hoped my code was the cause as then I could easily fix it! But I don't do anything extra in the rendering loop, and having done a lot of debugging, it is definitely LWJGLRenderer.displayBackBuffer() where the problem occurs. I also can't rule out some hardware problem of course, but given that the only software that causes this is JME, it seems unlikely. :|
I realize this is a really old topic, but I started having the same problem today in JME2. I'm a little new to the engine as I'm still working through the tutorials and testers.
For some unexplained reason I was unable to run any test files that used LWJGLRenderer in LWJGL and JOGL kept saying it couldn't be found. My build paths were correct so I tried numerous times to just update from the SVN, I tried restarting, I tried everything I could think of before asking for help.
So I started searching the forum for the problem. I searched "stopped responding" even though mine technically said "display driver stopped responding and has successfully recovered" right after it came back from a black screen.
I'm posting here to say that 1) this problem is still possible even though it happened with JME1 roughly a year ago, 2) it's not a JME problem its looking to be an ATI problem, and 3) I finally broke in and redownloaded/reinstallled my ATI drivers even though they were the SAME ONES I already had. Now it compiles and runs fine.
As for JOGL not being found I had to set the Native Library to the file in the JME lib just like with LWJGL and swt. This isn't stated explicitly in the installation wiki as something necessary and I've never had to do it in the past, but it did do the trick.
If anyone else is having this problem I hope this helps.
Does this demo work for you:
http://www.lwjgl.org/applet/
And here are some demos for JOGL:
http://download.java.net/media/jogl/demos/www/
Please test and tell us which work and which don't.
The applet worked fine for me
As for the JOGL demos:
Gears - works
Grand Canyon - works
Hardware Shadow Mapping - seemed to freeze on download, but finally finished and worked fine
High Dynamic Range Rendering - did not work. Only appeared to be a black scene graph
Infinite Shadow Volumes - works
JRefract - loads 2D interface
[Gears, Hardware Shadow Maps, Vertex Buffer Object, text, water, Loop Gears Demo] - worked
[Infinite Shadow Volumes] - breaks the program but doesn't crash it
[Warp] - throws error "OpenGL extension "GL_vertex_program" not available"
Particle Engine - works
TextRenderer Test - works
Flying Text - works
Custom Text - works
Text Flow - works
Text Cube - works
Vertex Program Warp - error "OpenGL extension "GL_vertex_program" not available"
Vertex Program Refract - works
Water (Procedural Texture Physics) - works
XTrans - works
Vertex Buffer Object - works
Vertex Array Range - Application Error "Unable to launch the application"
Hope that's good.
This is quite strange… Does JOGL crash in jME2 as well?
Normally I would blame jME's use of Pbuffer for this, as many video cards do not support this feature correctly. But since JOGL's Pbuffer test works (Shadow Maps) then that rules out that problem, unless jME is using Pbuffer is some different way…
By the way, what video card is this?
I do have trouble running in JOGL in fullscreen actually.
I have 2 HD3870s running crossfired.