Author Topic: Bug: Exception during paint...  (Read 8245 times)

Offline boogie

  • Just dropped in
  • Posts: 20
    • View Profile
Bug: Exception during paint...
« on: 22. June 2010, 09:00:26 AM »
Feel free to move this thread to bug reporting, as I'm unable to post there...

From the latest source distribution I got the exception below. Not sure how to reproduce the error. This is a severe bug, as it causes any application to crash without the ability to work around or catch the exception.

Code: [Select]
java.lang.NullPointerException
        at org.xith3d.render.jsr231.RenderPeerImpl.drawBin(RenderPeerImpl.java:367)
        at org.xith3d.render.jsr231.RenderPeerImpl.renderMain(RenderPeerImpl.java:657)
        at org.xith3d.render.jsr231.RenderPeerImpl.renderRenderPass(RenderPeerImpl.java:812)
        at org.xith3d.render.jsr231.RenderPeerImpl.render(RenderPeerImpl.java:905)
        at org.xith3d.render.jsr231.CanvasPeerImplBase.doRender(CanvasPeerImplBase.java:338)
        at org.xith3d.render.jsr231.CanvasPeerImplSwing.display(CanvasPeerImplSwing.java:608)
        at com.sun.opengl.impl.GLDrawableHelper.display(GLDrawableHelper.java:78)
        at javax.media.opengl.GLJPanel$Updater.display(GLJPanel.java:1067)
        at com.sun.opengl.impl.GLDrawableHelper.display(GLDrawableHelper.java:78)
        at com.sun.opengl.impl.GLPbufferImpl$DisplayAction.run(GLPbufferImpl.java:222)
        at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:194)
        at com.sun.opengl.impl.GLPbufferImpl.maybeDoSingleThreadedWorkaround(GLPbufferImpl.java:208)
        at com.sun.opengl.impl.GLPbufferImpl.display(GLPbufferImpl.java:88)
        at javax.media.opengl.GLJPanel.paintComponent(GLJPanel.java:659)
        at javax.swing.JComponent.paint(JComponent.java:1029)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JComponent.paintToOffscreen(JComponent.java:5124)
        at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
        at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
        at javax.swing.JComponent._paintImmediately(JComponent.java:5072)
        at javax.swing.JComponent.paintImmediately(JComponent.java:4882)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:785)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
« Last Edit: 22. June 2010, 09:02:46 AM by boogie »

Offline Oliver

  • Enjoying the stay
  • *
  • Posts: 28
    • View Profile
Re: Bug: Exception during paint...
« Reply #1 on: 29. June 2010, 06:53:40 AM »
I can confirm the crash and I am able to reproduce it: Take another window and move it over the window containing the xith3d canvas. After a cuple of flickerings the application will crash. Same will happen when moving the xith3d window a cuple of times.

my setup:
  • Windows XP SP3
  • GeForce 6800
  • NVidia Driver Version 257.21
  • Java Version 1.6.0_20


Code: [Select]
java.lang.NullPointerException
        at org.xith3d.render.jsr231.RenderPeerImpl.drawBin(RenderPeerImpl.java:367)
        at org.xith3d.render.jsr231.RenderPeerImpl.renderMain(RenderPeerImpl.java:657)
        at org.xith3d.render.jsr231.RenderPeerImpl.renderRenderPass(RenderPeerImpl.java:812)
        at org.xith3d.render.jsr231.RenderPeerImpl.render(RenderPeerImpl.java:905)
        at org.xith3d.render.jsr231.CanvasPeerImplBase.doRender(CanvasPeerImplBase.java:338)
        at org.xith3d.render.jsr231.CanvasPeerImplAWT.display(CanvasPeerImplAWT.java:705)
        at com.sun.opengl.impl.GLDrawableHelper.display(GLDrawableHelper.java:78)
        at javax.media.opengl.GLCanvas$DisplayAction.run(GLCanvas.java:435)
        at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:194)
        at javax.media.opengl.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:412)
        at javax.media.opengl.GLCanvas.display(GLCanvas.java:244)
        at javax.media.opengl.GLCanvas.paint(GLCanvas.java:277)
        at sun.awt.RepaintArea.paintComponent(RepaintArea.java:248)
        at sun.awt.RepaintArea.paint(RepaintArea.java:224)
        at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:306)
        at java.awt.Component.dispatchEventImpl(Component.java:4659)
        at java.awt.Component.dispatchEvent(Component.java:4413)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Offline ChrisE

  • Becoming dependent
  • **
  • Posts: 104
    • View Profile
Re: Bug: Exception during paint...
« Reply #2 on: 08. December 2010, 06:12:54 PM »
Yet another confirmation.

Setup is Windows 7-64 Pro, GTX 260, driver version 191.07, java 1.6.0_17.
I'm using the JOGL interface for my app, and the renderloop is in RUN_SEPARATE_THREAD.

The exception occurred when switching to another pane in a tabbed application, and back; this does not always cause a crash. Moving another window (external application) over the viewport and moving it around or leaving it does not seem to cause a crash.

Stack trace is similar to previous posts:

Code: [Select]
Thread [AWT-EventQueue-0] (Suspended (exception NullPointerException))
RenderPeerImpl.drawBin(GL, OpenGLStatesCache, OpenGLCapabilities, RenderOptions, boolean, boolean, RenderBin, View, long, int, long, long, RenderPeer$RenderMode) line: 367
RenderPeerImpl.renderMain(GL, OpenGLCapabilities, OpenGLStatesCache, RenderOptions, boolean, boolean, View, RenderPass, long, int, long, long, RenderPeer$RenderMode) line: 657
RenderPeerImpl.renderRenderPass(Object, OpenGLCapabilities, OpenGLStatesCache, List<RenderPass>, RenderPass, int, boolean, RenderMode, View, boolean, long, long, long, PickRequest, int) line: 812
RenderPeerImpl.render(Object, View, List<RenderPass>, boolean, long, long, long, PickRequest) line: 905
CanvasPeerImplAWT(CanvasPeerImplBase).doRender(View, List<RenderPass>, boolean, long, long, long, PickRequest) line: 338
CanvasPeerImplAWT.display(GLAutoDrawable) line: 705
GLDrawableHelper.display(GLAutoDrawable) line: 78
GLCanvas$DisplayAction.run() line: 435
GLDrawableHelper.invokeGL(GLDrawable, GLContext, Runnable, Runnable) line: 194
GLCanvas.maybeDoSingleThreadedWorkaround(Runnable, Runnable) line: 412
GLCanvas.display() line: 244
GLCanvas.paint(Graphics) line: 277
RepaintArea.paintComponent(Component, Graphics) line: 248
RepaintArea.paint(Object, boolean) line: 224
WCanvasPeer(WComponentPeer).handleEvent(AWTEvent) line: 306
GLCanvas(Component).dispatchEventImpl(AWTEvent) line: 4706
GLCanvas(Component).dispatchEvent(AWTEvent) line: 4460
EventQueue.dispatchEvent(AWTEvent) line: 599
EventDispatchThread.pumpOneEventForFilters(int) line: 269
EventDispatchThread.pumpEventsForFilter(int, Conditional, EventFilter) line: 184
EventDispatchThread.pumpEventsForHierarchy(int, Conditional, Component) line: 174
EventDispatchThread.pumpEvents(int, Conditional) line: 169
EventDispatchThread.pumpEvents(Conditional) line: 161
EventDispatchThread.run() line: 122