orat / EuclidView3d

Viewer for 3d geometrical objects like planes, spheres, points, circles.
Apache License 2.0
0 stars 2 forks source link

After rotating the screen with the mouse the robot pose sliders do not work any more. #13

Open orat opened 1 year ago

orat commented 1 year ago

Reproducable on windows and linux

Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Waited 5000ms for: <715bb635, 3959b81c>[count 2, qsz 0, owner ] - at jogamp.common.util.locks.RecursiveLockImpl01Unfairish.lock(RecursiveLockImpl01Unfairish.java:198) at jogamp.newt.WindowImpl.lockSurface(WindowImpl.java:1066) at jogamp.opengl.GLDrawableImpl.lockSurface(GLDrawableImpl.java:307) at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:607) at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:591) at org.jzy3d.painters.NativeDesktopPainter.getCurrentGL(NativeDesktopPainter.java:93) at org.jzy3d.painters.NativeDesktopPainter.acquireGL(NativeDesktopPainter.java:77) at org.jzy3d.chart.Chart.add(Chart.java:541) at org.jzy3d.plot3d.primitives.ChessFloor.draw(ChessFloor.java:215) at org.jzy3d.plot3d.primitives.ChessFloor.update(ChessFloor.java:128) at org.jzy3d.plot3d.primitives.ChessFloor.getSingelton(ChessFloor.java:56) at de.orat.math.view.euclidview3d.GeometryView3d.updateChessFloor(GeometryView3d.java:794) at de.orat.math.view.euclidview3d.GeometryView3d.lambda$setUpRobotMovement$0(GeometryView3d.java:166) at java.desktop/javax.swing.JSlider.fireStateChanged(JSlider.java:454) at java.desktop/javax.swing.JSlider$ModelListener.stateChanged(JSlider.java:369) at java.desktop/javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:371) at java.desktop/javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:309) at java.desktop/javax.swing.DefaultBoundedRangeModel.setValueIsAdjusting(DefaultBoundedRangeModel.java:238) at java.desktop/javax.swing.JSlider.setValueIsAdjusting(JSlider.java:660) at java.desktop/javax.swing.plaf.basic.BasicSliderUI$TrackListener.mouseDragged(BasicSliderUI.java:2135) at java.desktop/java.awt.Component.processMouseMotionEvent(Component.java:6674) at java.desktop/javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3407) at java.desktop/java.awt.Component.processEvent(Component.java:6395) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4592) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Waited 5000ms for: <715bb635, 3959b81c>[count 2, qsz 0, owner ] - at jogamp.common.util.locks.RecursiveLockImpl01Unfairish.lock(RecursiveLockImpl01Unfairish.java:198) at jogamp.newt.WindowImpl.lockSurface(WindowImpl.java:1066) at jogamp.opengl.GLDrawableImpl.lockSurface(GLDrawableImpl.java:307) at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:607) at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:591) at org.jzy3d.painters.NativeDesktopPainter.getCurrentGL(NativeDesktopPainter.java:93) at org.jzy3d.painters.NativeDesktopPainter.acquireGL(NativeDesktopPainter.java:77) at org.jzy3d.chart.Chart.add(Chart.java:541) at org.jzy3d.plot3d.primitives.EuclidPart.addToChart(EuclidPart.java:67) at org.jzy3d.plot3d.primitives.EuclidPart.drawPart(EuclidPart.java:57) at org.jzy3d.plot3d.primitives.EuclidPart.rotateAroundVector2(EuclidPart.java:138) at org.jzy3d.plot3d.primitives.EuclidRobot.rotateTheta(EuclidRobot.java:150) at org.jzy3d.plot3d.primitives.EuclidRobot.setTheta(EuclidRobot.java:278) at de.orat.math.view.euclidview3d.GeometryView3d.lambda$setUpRobotMovement$0(GeometryView3d.java:165) at java.desktop/javax.swing.JSlider.fireStateChanged(JSlider.java:454) at java.desktop/javax.swing.JSlider$ModelListener.stateChanged(JSlider.java:369) at java.desktop/javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:371) at java.desktop/javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:309) at java.desktop/javax.swing.DefaultBoundedRangeModel.setValue(DefaultBoundedRangeModel.java:175) at java.desktop/javax.swing.JSlider.setValue(JSlider.java:551) at java.desktop/javax.swing.plaf.basic.BasicSliderUI$TrackListener.mouseDragged(BasicSliderUI.java:2180) at java.desktop/java.awt.Component.processMouseMotionEvent(Component.java:6674) at java.desktop/javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3407) at java.desktop/java.awt.Component.processEvent(Component.java:6395) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4592) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.nio.FloatBuffer.capacity()" because the return value of "org.jzy3d.plot3d.primitives.EuclidVBO2.getVertices()" is null at org.jzy3d.plot3d.primitives.EuclidVBO2.rotateAroundVector(EuclidVBO2.java:84) at org.jzy3d.plot3d.primitives.EuclidPart.rotateAroundVector2(EuclidPart.java:129) at org.jzy3d.plot3d.primitives.EuclidRobot.rotateTheta(EuclidRobot.java:150) at org.jzy3d.plot3d.primitives.EuclidRobot.setTheta(EuclidRobot.java:278) at de.orat.math.view.euclidview3d.GeometryView3d.lambda$setUpRobotMovement$0(GeometryView3d.java:165) at java.desktop/javax.swing.JSlider.fireStateChanged(JSlider.java:454) at java.desktop/javax.swing.JSlider$ModelListener.stateChanged(JSlider.java:369) at java.desktop/javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:371) at java.desktop/javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:309) at java.desktop/javax.swing.DefaultBoundedRangeModel.setValueIsAdjusting(DefaultBoundedRangeModel.java:238) at java.desktop/javax.swing.JSlider.setValueIsAdjusting(JSlider.java:660) at java.desktop/javax.swing.plaf.basic.BasicSliderUI$TrackListener.mouseReleased(BasicSliderUI.java:1958) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389) at java.desktop/java.awt.Component.processEvent(Component.java:6391) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

DragonflyCode11 commented 1 year ago

What I found out was: after rotating the chart, the thread changes (new ThreadID at least).

Possible solutions could be: Updating the sliders after rotating with overwriting the listener. Or removing the original mouseController that handles rotation and create a new one, that does not change the threasds.