Display.create() crashing the application without any errors

Started by Klemss, June 13, 2012, 22:52:20

Previous topic - Next topic

Klemss

Hi ! I'm french, so english isn't my native language. ;)
My game work perfectly fine on my computer and most computers I tried it on.
But it dosn't work on the laptop of a friend.
The game Prelude of the Chambered by notch, which use LWJGL, work perfectly fine on his laptop.

The crash is coming from the method "Display.create()". I can call other Display method like "getDesktopDisplayMode()" or whatever, but once the method "Display.create()" is called, the VM stop without any warning, stack trace or anything.
The console doesn't print anything.
I even tried:
try {
  Display.create();
} catch (Throwable e) {
  e.printStackTrace();
}

Without any luck. This doesn't print anything.
Even trying to paste the stack trace to the clipboard doesn't work.
I guess that's because the natives aren't properly deployed.


Is there any way to enable some kind of verbose mode, or a way to automatically print a log in a text file ?


The game is available as an Applet, using the Applet Loader and the last version of LWJGL (2.8.4).
The spec are:
Windows 7 home premium SP1 64 bits
RAM 4Go
CPU P6100 2GHz
Intel Graphics Media Accelerator HD
TOSHIBA Satellite C660-226



EDIT a little offtopic ;D
Is there any benefits of switching to Java 7 ?
Any perfomance gain, or anything ?
I'm considering switching to Java 7, but I don't know if that's really useful.

matheus23

Quote from: Klemss on June 13, 2012, 22:52:20
The game Prelude of the Chambered by notch, which use LWJGL, work perfectly fine on his laptop.

I'm sorry for not knowing how to solve this issue... But Prelude of the Chambered uses Java2D and a simple Raytracer, not LWJGL :)
My github account and currently active project: https://github.com/matheus23/UniverseEngine

Klemss

Quote from: matheus23 on June 14, 2012, 13:11:31I'm sorry for not knowing how to solve this issue... But Prelude of the Chambered uses Java2D and a simple Raytracer, not LWJGL :)
Oh, thanks. I always thought this game used LWJGL, that may explain things a bit. I feel stupid right now.
I'm going to ask my friend whether or not Minecraft and the gears applet works.
I'm not sure if Minecraft use the Applet Loader though.

EDIT : neither Minecraft nor the gears applet works.

matheus23

Quote from: Klemss on June 14, 2012, 15:34:20
EDIT : neither Minecraft nor the gears applet works.
Okey... That is really strange. I think this time, I really want to blame the drivers, or maybe java 7. Usually Java7 does not really work fine on linux, or on mac, but on Windows it should run perfectly. Don't really know why. Try both updating the drivers, and downgrading java7 to java6 (which for example I'm using right now).
My github account and currently active project: https://github.com/matheus23/UniverseEngine

princec

There will be a hotspot error log file in the current working directory. Where you will find a native driver crash. If you can't find some newer drivers for that chipset you're out of luck.

See, I can diagnose these problems without even looking :)

Cas :)

Klemss

C  [aticfx32.dll+0x25861]  gslCfxExit+0xe1
I'm not sure how to read the crash log, but after a quick search on google it does seem like a driver error.
Problem is, my friend can't download a driver right now. We'll see when his internet connection is better...


Beside, is there any way to detect this kind of error to display a meaningful error message to the user ?
It seems difficult because the crash is outside the JVM. I'm considering using a hook Thread, but it's still inside the JVM so I'm not sure if this work.
EDIT: shutdown hook doesn't seem to run at all.

Simon Felix

There's nothing you can do about that crash from within the Java application. The problem is the driver. Updating to a newer version should solve the problem (I'm 99.9999% certain about that).

If you're really desperate and you're looking for a method to detect those crashes you'd have to write a launcher application that launches another Java instance that runs your actual program. That launcher could monitor the main program and react accordingly if it crashed.
Download Cultris II, the fastest Tetris clone from http://gewaltig.net/