Description
When you run the javafx-demo and rotate the plot repeatedly towards the point where it stops (it takes about 30s to a minute to do this) a NPE is thrown as you can see in the gif:
The printed stack trace is:
Exception in thread "JavaFX Application Thread" com.jogamp.opengl.GLException: Caught NullPointerException: Cannot invoke "org.jzy3d.maths.Coord3d.add(org.jzy3d.maths.Coord3d)" because "positionAligned" is null on thread JavaFX Application Thread at com.jogamp.opengl.GLException.newGLException(GLException.java:76) at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1327) at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147) at jogamp.opengl.GLAutoDrawableBase.defaultDisplay(GLAutoDrawableBase.java:476) at com.jogamp.opengl.GLAutoDrawableDelegate.display(GLAutoDrawableDelegate.java:190) at org.jzy3d.plot3d.rendering.canvas.OffscreenCanvas.forceRepaint(OffscreenCanvas.java:154) at org.jzy3d.plot3d.rendering.view.View.shoot(View.java:318) at org.jzy3d.plot3d.rendering.view.View.setViewPoint(View.java:1596) at org.jzy3d.plot3d.rendering.view.View.rotate(View.java:397) at org.jzy3d.chart.controllers.camera.AbstractCameraController.rotate(AbstractCameraController.java:54) at org.jzy3d.chart.controllers.camera.AbstractCameraController.rotate(AbstractCameraController.java:50) at org.jzy3d.javafx.controllers.mouse.JavaFXCameraMouseController.mouseDragged(JavaFXCameraMouseController.java:102) at org.jzy3d.javafx.controllers.mouse.JavaFXCameraMouseController$2.handle(JavaFXCameraMouseController.java:74) at org.jzy3d.javafx.controllers.mouse.JavaFXCameraMouseController$2.handle(JavaFXCameraMouseController.java:71) at javafx.base@21.0.2/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) at javafx.base@21.0.2/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232) at javafx.base@21.0.2/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189) at javafx.base@21.0.2/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at javafx.base@21.0.2/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at javafx.base@21.0.2/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at javafx.base@21.0.2/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at javafx.base@21.0.2/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at javafx.base@21.0.2/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at javafx.base@21.0.2/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at javafx.base@21.0.2/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at javafx.base@21.0.2/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at javafx.base@21.0.2/javafx.event.Event.fireEvent(Event.java:198) at javafx.graphics@21.0.2/javafx.scene.Scene$MouseHandler.process(Scene.java:3984) at javafx.graphics@21.0.2/javafx.scene.Scene.processMouseEvent(Scene.java:1890) at javafx.graphics@21.0.2/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2708) at javafx.graphics@21.0.2/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411) at javafx.graphics@21.0.2/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at javafx.graphics@21.0.2/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450) at javafx.graphics@21.0.2/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424) at javafx.graphics@21.0.2/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449) at javafx.graphics@21.0.2/com.sun.glass.ui.View.handleMouseEvent(View.java:551) at javafx.graphics@21.0.2/com.sun.glass.ui.View.notifyMouse(View.java:937) at javafx.graphics@21.0.2/com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at javafx.graphics@21.0.2/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:185) at java.base/java.lang.Thread.run(Thread.java:1575) Caused by: java.lang.NullPointerException: Cannot invoke "org.jzy3d.maths.Coord3d.add(org.jzy3d.maths.Coord3d)" because "positionAligned" is null at org.jzy3d.plot3d.text.renderers.TextRenderer.drawText(TextRenderer.java:88) at org.jzy3d.plot3d.text.AbstractTextRenderer.drawText(AbstractTextRenderer.java:39) at org.jzy3d.plot3d.primitives.axis.AxisTickProcessor.drawAxisTickNumericLabel(AxisTickProcessor.java:358) at org.jzy3d.plot3d.primitives.axis.AxisTickProcessor.drawAxisTicks(AxisTickProcessor.java:329) at org.jzy3d.plot3d.primitives.axis.AxisTickProcessor.drawAxisTicks(AxisTickProcessor.java:226) at org.jzy3d.plot3d.primitives.axis.AxisTickProcessor.drawTicks(AxisTickProcessor.java:76) at org.jzy3d.plot3d.primitives.axis.AxisTickProcessor.drawTicks(AxisTickProcessor.java:41) at org.jzy3d.plot3d.primitives.axis.AxisBox.drawTicksAndLabelsX(AxisBox.java:337) at org.jzy3d.plot3d.primitives.axis.AxisBox.drawTicksAndLabels(AxisBox.java:281) at org.jzy3d.plot3d.primitives.axis.AxisBox.draw(AxisBox.java:141) at org.jzy3d.plot3d.rendering.view.View.renderAxeBox(View.java:1378) at org.jzy3d.plot3d.rendering.view.View.renderAxeBox(View.java:1365) at org.jzy3d.plot3d.rendering.view.View.renderScene(View.java:824) at org.jzy3d.plot3d.rendering.view.layout.ViewAndColorbarsLayout.renderView(ViewAndColorbarsLayout.java:134) at org.jzy3d.plot3d.rendering.view.layout.ViewAndColorbarsLayout.render(ViewAndColorbarsLayout.java:117) at org.jzy3d.chart.ChartView.render(ChartView.java:42) at org.jzy3d.javafx.offscreen.JavaFXOffscreenRenderer3d.display(JavaFXOffscreenRenderer3d.java:32) at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692) at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674) at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443) at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293) ... 39 more
Versions:
- Jzy3D: 2.2.1
- JVM / JDK: 23
- GPU: NVIDIA GeForce RTX 4060
- OS: Windows 11