I have more information about the problem. I am now pretty sure it happens since the last HUD modifications, but I have no real proof about it. Since the new HUD modifications, applications with an HUD (even those in the xith-tk tests) crash on some Intel hardware. Those crashes did not happen before.
Stack: [0x03330000,0x03380000], sp=0x0337f010, free space=316k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [ig4icd32.dll+0x5d98e]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.sun.opengl.impl.GLImpl.glCallList(I)V+0
j org.xith3d.render.jsr231.DisplayListRenderPeer.playbackDisplayList(Ljavax/media/opengl/GL;I)V+2
j org.xith3d.render.jsr231.DisplayListRenderPeer.renderDisplayList(Ljavax/media/opengl/GL;Lorg/xith3d/render/preprocessing/ShapeAtom;Lorg/xith3d/scenegraph/Geometry;Lorg/xith3d/render/CanvasPeer;Lorg/xith3d/render/OpenGLCapabilities;Lorg/xith3d/render/OpenGLStatesCache;Z)V+149
j org.xith3d.render.jsr231.ShapeAtomPeer.render(Ljavax/media/opengl/GL;Lorg/xith3d/render/preprocessing/ShapeAtom;Lorg/xith3d/scenegraph/Geometry;Lorg/xith3d/scenegraph/Geometry;Lorg/xith3d/render/CanvasPeer;Lorg/xith3d/render/RenderPeer;Lorg/xith3d/render/OpenGLCapabilities;Lorg/xith3d/render/OpenGLStatesCache;Lorg/xith3d/render/RenderOptions;Z)I+105
j org.xith3d.render.jsr231.ShapeAtomPeer.renderAtom(Lorg/xith3d/render/preprocessing/RenderAtom;Ljava/lang/Object;Lorg/xith3d/render/RenderPeer;Lorg/xith3d/render/OpenGLCapabilities;Lorg/xith3d/scenegraph/View;Lorg/xith3d/render/RenderOptions;JJLorg/xith3d/render/RenderPeer$RenderMode;J)I+418
J org.xith3d.render.RenderPeer.renderAtom(Lorg/xith3d/render/preprocessing/RenderAtom;Ljava/lang/Object;Lorg/xith3d/render/CanvasPeer;Lorg/xith3d/render/OpenGLCapabilities;Lorg/xith3d/render/OpenGLStatesCache;Lorg/xith3d/scenegraph/View;Lorg/xith3d/render/RenderOptions;JJLorg/xith3d/render/RenderPeer$RenderMode;J)I
j org.xith3d.render.jsr231.RenderPeerImpl.drawBin(Ljavax/media/opengl/GL;Lorg/xith3d/render/OpenGLStatesCache;Lorg/xith3d/render/OpenGLCapabilities;Lorg/xith3d/render/RenderOptions;ZZLorg/xith3d/render/preprocessing/RenderBin;Lorg/xith3d/scenegraph/View;JIJJLorg/xith3d/render/RenderPeer$RenderMode;)I+106
j org.xith3d.render.jsr231.RenderPeerImpl.renderMain(Ljavax/media/opengl/GL;Lorg/xith3d/render/OpenGLCapabilities;Lorg/xith3d/render/OpenGLStatesCache;Lorg/xith3d/render/RenderOptions;ZZLorg/xith3d/scenegraph/View;Lorg/xith3d/render/RenderPass;JIJJLorg/xith3d/render/RenderPeer$RenderMode;)I+100
j org.xith3d.render.jsr231.RenderPeerImpl.renderRenderPass(Ljava/lang/Object;Lorg/xith3d/render/OpenGLCapabilities;Lorg/xith3d/render/OpenGLStatesCache;Ljava/util/List;Lorg/xith3d/render/RenderPass;IZLorg/xith3d/render/RenderPeer$RenderMode;Lorg/xith3d/scenegraph/View;ZJJJLorg/xith3d/picking/PickRequest;I)I+629
j org.xith3d.render.jsr231.RenderPeerImpl.render(Ljava/lang/Object;Lorg/xith3d/scenegraph/View;Ljava/util/List;ZJJJLorg/xith3d/picking/PickRequest;)Ljava/lang/Object;+246
j org.xith3d.render.jsr231.CanvasPeerImplBase.doRender(Lorg/xith3d/scenegraph/View;Ljava/util/List;ZJJJLorg/xith3d/picking/PickRequest;)Ljava/lang/Object;+19
j org.xith3d.render.jsr231.CanvasPeerImplAWT.display(Ljavax/media/opengl/GLAutoDrawable;)V+162
j com.sun.opengl.impl.GLDrawableHelper.display(Ljavax/media/opengl/GLAutoDrawable;)V+29
j javax.media.opengl.GLCanvas$DisplayAction.run()V+80
j com.sun.opengl.impl.GLDrawableHelper.invokeGL(Ljavax/media/opengl/GLDrawable;Ljavax/media/opengl/GLContext;Ljava/lang/Runnable;Ljava/lang/Runnable;)V+418
j javax.media.opengl.GLCanvas$DisplayOnEventDispatchThreadAction.run()V+35
j java.awt.event.InvocationEvent.dispatch()V+11
j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+26
j java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+204
j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j java.awt.EventDispatchThread.run()V+9
v ~StubRoutines::call_stub
If I remove the HUD, there is no crash any more. If I add "canvas.getRenderOptions().setDisplayListsEnabled(false);" the crash is no more present too. The NullPointerException (on my nVidia hardware) I mentioned above follows the same scheme : does not happen if I remove the HUD or if I deactivate the display lists.
Sadly I have no test case which gives the NullPointerException always yet on my nVidia hardware, but on my Intel hardware the crash is always reproducible. It seems that on some hardware there is sometimes a NullPointerException in drawBin from RenderPeerImpl, and on some other hardware no NullPointerException in drawBin but a crash in the following glCallList. I am still trying to create a small test case that always throws this NullPointerException on my nVidia or this crash on my Intel.