I'm writing a GUI with OscP5 providing OSC functionality and been having severe system hangs (hard reboot needed). I thought it was bad programming somewhere, but it turns out it was the 'Trusteer Endpoint Protection' application installed by an online banking site. The associated 'Rapport Management Service' was hogging CPU as it tried to sniff out network activity and resulted in the whole system (Win 7) hanging (nice work there, Trusteer). Uninstalling the app fixed the problem.
Hopefully this will prevent head-scratching for others...
I'm loading 20 images to PGraphics objects and tiling them to the screen. Everything works perfectly when no renderer is specified (PDE 2.01) but I can't use mask(). So trying to use P2D, P3D, OpenGL instead. This notably slows the image load time on running the sketch, but the images load okay. If I try to reload 20 new images I get a NPE as per the error message below. I must stress that this doesn't happen if P2D etc not specified, so I don't think it's a problem with my sketch as such. I'm doing some other stuff with the image data (copying brightness values to an array) which could be taking some time, so I'm worried this is a nasty threading issue.
The code is too big to post, but I'll try to recreate in a simpler sketch. In the meantime, all comments and ideas welcome.
java.lang.RuntimeException: java.lang.NullPointerException
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadingPlugin.java:100)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:205)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:483)
at processing.opengl.PGL.requestDraw(PGL.java:1155)
at processing.opengl.PGraphicsOpenGL.requestDraw(PGraphicsOpenGL.java:1602)
at processing.core.PApplet.run(PApplet.java:2141)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
at rastogramPlayer1.mapImageDataToSignal(rastogramPlayer1.java:166)
at rastogramPlayer1.loadRandomImages(rastogramPlayer1.java:139)
at rastogramPlayer1.keyPressed(rastogramPlayer1.java:287)
at processing.core.PApplet.keyPressed(PApplet.java:3355)
at processing.core.PApplet.handleKeyEvent(PApplet.java:3173)
at processing.core.PApplet.dequeueEvents(PApplet.java:2610)
at processing.core.PApplet.handleDraw(PApplet.java:2281)
at processing.opengl.PGL$PGLListener.display(PGL.java:2643)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:576)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:561)
at javax.media.opengl.awt.GLCanvas$7.run(GLCanvas.java:1054)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1024)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:899)
at javax.media.opengl.awt.GLCanvas$8.run(GLCanvas.java:1065)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:666)
at java.awt.EventQueue.access$400(EventQueue.java:81)
at java.awt.EventQueue$2.run(EventQueue.java:627)
at java.awt.EventQueue$2.run(EventQueue.java:625)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:636)
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)