java.lang.reflect.InvocationTargetException explained

If you found a bug in Illarion or need help ask here. / Wenn Du einen Fehler in Illarion gefunden hast oder Hilfe benötigst, frage hier.

Moderator: Developers

Post Reply
User avatar
Naybet Grint
Posts: 92
Joined: Fri Feb 11, 2005 9:24 am
Location: South-eastern forest *me watches* (( UK ))
Contact:

java.lang.reflect.InvocationTargetException explained

Post by Naybet Grint »

I can't log in using the new client, and have figured out why not, so I thought I'd explain what to look for for other people with the same error. I am trying from a pretty old machine with a Voodoo 5 graphics card.

When launching I see
"Unexpected exception: java.lang.reflect.InvocationTargetException"
Having a poke around in the info I am given, I find the all important stack trace with the lines:
Caused by: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
and below that:
at org.lwjgl.opengl.Display.<clinit>(Display.java:104)
What this means is that when it tries to use OpenGL it can't find it. Which implies my graphics card doesn't support it. What to do about that (apart from upgrade) I'm not sure, but if you get the InvocationTargetException with those lines in the stack trace, you probably haven't got it either.

Luckily for me I have occasional access to a newer computer so I might be around occasionally, but not half as often as I would be if my old computer was a little less old.
martin
Posts: 7382
Joined: Sun Feb 25, 2001 7:12 am
Location: vienna

Post by martin »

How about installing openGL-drivers?

Martin
User avatar
Nop
Developer
Posts: 2297
Joined: Tue Jul 05, 2005 10:47 am

Post by Nop »

Thank you for the explanation. Now I know what is happening, I just have no idea why.

When it tries to initialize openGL, it cannot find the library. It has nothing to do with your graphics card. It cannot find the DLL file to connect to the graphics driver. I got that message several times during development when I had the path to the library wrong.

The wierd thing is: This libary is included with the client and installed/updated automatically. I have no idea how your installation manages to get this wrong. But it seems the library is not where the client is looking for it.

Did you use online or offline installation?

I can only recommend removing the client (start "javaws.exe" to do that) and installing it again - online version if you can.
User avatar
Naybet Grint
Posts: 92
Joined: Fri Feb 11, 2005 9:24 am
Location: South-eastern forest *me watches* (( UK ))
Contact:

Post by Naybet Grint »

I used the online installation. It had to install J2SE 1.5.0 first, but then got on with the client installation. Java webstart seems to think I have everything. First of all I'll retry the online installation as you recommend. If that fails I'll do more research into if I have the dll I need somewhere on my disk in the wrong place, and if it is missing I'll get hold of it from a separate source.

In either case I'll let you know if I can get it to work or not to help anyone else with the same errors.
User avatar
Nop
Developer
Posts: 2297
Joined: Tue Jul 05, 2005 10:47 am

Post by Nop »

The DLL is downloaded together with the client. Either your download was incomplete or something in the config is shot so it doesn't find it.
User avatar
Naybet Grint
Posts: 92
Joined: Fri Feb 11, 2005 9:24 am
Location: South-eastern forest *me watches* (( UK ))
Contact:

Post by Naybet Grint »

Hooray - removing and reinstalling the client has fixed the problem. Thanks Nop.

Sadly after about a minute of playing in Windowed mode with reduced graphics the client crashed informing me that I was running too slowly and should reduce graphics and/or frame rate.
I reduced my machines colour-depth to 16 bit and set the same in the client. I reduced the frame rate to 8 and set the application to run in full screen mode. I ran via javaws and got a black screen for 3 to 4 seconds. This was followed by a dialog reading:
Logged out by server
Reason: Old Client Version
Character: <char name>
I switched character and got the same behaviour. I ran via the "Play Game" link on the downloads page and got the same behaviour. I switched back to windowed mode and the client worked.
With the low frame rate it wasn't great but the new UI stuffs are nice and I managed 5 minutes of play. Sadly I then got the message that I was running too slowly and should use reduced graphics again.
Lastly, I tried logging in again to see if I could work out which actions provoke my exit. I tried both with javaws the "Play Game" button on the website. Both times I got the "old client version" error message.

I'm running Windows 2000 (SP4) on an AMD-K7 processer (I think it is 733 MHz) with 450Mb of RAM and a Voodoo 5 graphics card (I think). Its not the newest computer in the world, so if the conclusion is "the game won't run on this" then fair enough. Plenty of freeware doesn't.

I'll try tweaking more settings and let you know if I provoke any other behaviours.
User avatar
Nop
Developer
Posts: 2297
Joined: Tue Jul 05, 2005 10:47 am

Post by Nop »

You didn't mention it, so: Have you set the graphics to "reduced"?

Also, on most graphcis cards 32bit is FASTER than 16bit.
User avatar
Naybet Grint
Posts: 92
Joined: Fri Feb 11, 2005 9:24 am
Location: South-eastern forest *me watches* (( UK ))
Contact:

Post by Naybet Grint »

Yes I've set the graphics to reduced throughout. Sorry I failed to report this. I have also since experimented with 32 bit mode. In both cases I have seen no change in behaviour, that is sometimes I get told I have an old client version, and sometimes I get to play for a minute or so. I have tried experimenting with other options too but haven't been successful in logging in since I did that. Sadly I won't have much free time today to experiment further, but I'll let you know if any options tweaking produces different behaviour or not, and if I can link being logged out with particular events happening in the client.

Thanks for taking the time to help me out.
Post Reply