Crash with canvas3d

Hi!

I have to develop a 3D framework in Java that will work on multiple systems (with different hardware) and on multiple OS. I begin with Java3D because it seems to be efficient, safe and supported by a real company (Suns). In the past, I work with frameworks which were not develop by recongnized enterprise and it was hell! For all these reasons, I though that Java3D was the choice to take.

However I have very big problems with the canvas3d.

First of all, I tried the Java3d 1.3.2 release from Sun on my system and it worked fine. But, on an other system with the I845G intel graphic chipset and on some system with a ATI card, it just crash telling that the canvas 3d cannot be created. This happens with the helloworld Java3d tutorial example. In order to fix the problem, I had to use the Java3d 1.3.1 version which is managed by Blackdown. I was a little disapointed since I don’t know if it means that I will be stuck with an older version of Java3D forever.

After switching to the older version, everyting work nice except for a system using an NVIDIA QUADRO FX500 card. While executing my program, it simply crash during the execution with the following message :

An unexpected error has been detected by HotSpot Virtual Machine:

SIGSEGV (0xb) at pc=0x470daccb, pid=5094, tid=163860

Java VM: Java HotSpot™ Client VM (1.5.0_02-b09 mixed mode, sharing)

Problematic frame:

C [libGLcore.so.1+0xbaccb]

I had the 1.0-7174 driver, so I tried updating the NVIDIA driver with the newest one which is the 1.0-7664 and it kept crashing. So I tried an older version (the one specified in the Java3d requirements 1.0-4191) and it crashed again. I searched the web for a solution and it seemed to be a recurrent problem with the NVIDIA driver. However, it seems that after the 62xx release the problem is resolved.

My crashes are about 1 time on 3 executions and it happens in the Canvas3D.useCtx, Canvas3D.destroyCtx or Canvas3D.createCtx. I tried with shared_ctx On and Off and it kept crashing.

Now I don’t know what to do and I feel on giving up and try JOGL…

I would be very happy if someone could help me on that…
If you need more details, please feel free to ask.

Julie

This is Linux?

I doubt youll have a lot more luck with JOGL frankly, or LWJGL.

The problem isnt these libraries, the problem is that soem companies support Linux with good drivers (NVidia being the chief example) and soem don’t (ATI drivers are notoriously bad under Linux if you cna get them installed at all.)

I believe the reason yo uare having trouble with the newer Java3D on your Intel and ATI boxes are because the newest Java3D has support added for more recent OGL features and I know the ATI OGL drivers at least are terribly behind the curve.

The short answer is Nvidia really is the only choice for reasonable 3D on Linux today. if you dont liek this then complain to the makers of the other boards abotu their crappy Linux support.

Thanks for your answer!

Just in case that it interest you, I manage to fix the crash problem with my NVIDIA card (with the latest driver on Linux) and the solution was to disable the display list with the -Dj3d.displaylist=false option. If I find something else I’ll let you know.

Julie