Login  Register

Re: GLWindow.setSize exception upgrading to rc8

Posted by Sven Gothel on May 07, 2012; 12:48am
URL: https://forum.jogamp.org/GLWindow-setSize-exception-upgrading-to-rc8-tp3966421p3967548.html

On 05/06/2012 05:14 PM, jouvieje [via jogamp] wrote:

> I trying to upgrade to rc8 from jogl 661
> <http://jogamp.org/deployment/archive/master/gluegen_494-joal_286-jogl_661-jocl_562/>.
>
>
> When my application is starting, the frame is resized. Now with rc8, using a
> NewtCanvasAWT prevents my application from starting by the exception below
> which shows up after a 5s freeze (screenshop
> <http://jerome.jouvie.free.fr/jogl-rc8-error.png> during the freeze).
> rc6 and rc7 also show this problem.
>
> I'm running Windows 7 64 bit with a NVidia GTX 260 with drivers up to date
> (296.10).
>
> Using GLCanvas instead of NEWT solve the problem, ie everything start properly
> and no freeze, but would be better if I could fix the exception with newt.
> Is someone have seen this problem or have a suggestion to fix it ?
>
Thank you for the report Jérôme,

I am afraid we have a NEWT regression in this case and we shall fix it of course.


Can you provide a test case or at least a very detailed procedure using the existing
tests/demos to reproduce the freeze/starvation ?

In the meantime ..
I guess you are using your own RenderLoop for periodic rendering.
You may like to register it as an GLAnimationControl via GLAutoDrawable:
 "public void setAnimator(GLAnimatorControl animatorControl)"

This will remove GLAutoDrawable's (GLWindow ..) immediate render attempt
(the display() call). This behavior allows fluent rendering in case an animation
is being performed by a registered GLAnimatorControl.

Even though the above will avoid the freeze and allows a more fluent animation,
let's fix the root cause of the freeze :)

~Sven


> Exception in thread "RenderLoop-0" java.lang.RuntimeException: Waited 5000ms for: <7ef3de76, 2b521f12>[count 1, qsz 0, owner <RenderLoop-0>] - <main-Display-Windows_nil-1-EDT-1>
> at jogamp.common.util.locks.RecursiveLockImpl01Unfairish.lock(RecursiveLockImpl01Unfairish.java:182)
> at jogamp.opengl.GLContextImpl.lockConsiderFailFast(GLContextImpl.java:238)
> at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:393)
> at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:415)
> at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:364)
> at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:560)
> at com.jogamp.newt.opengl.GLWindow$1.windowResized(GLWindow.java:91)
> at jogamp.newt.WindowImpl.consumeWindowEvent(WindowImpl.java:2314)
> at jogamp.newt.WindowImpl.sendWindowEvent(WindowImpl.java:2257)
> at jogamp.newt.WindowImpl.sizeChanged(WindowImpl.java:2401)
> at jogamp.newt.driver.windows.WindowsWindow.reconfigureWindow0(Native Method)
> at jogamp.newt.driver.windows.WindowsWindow.reconfigureWindowImpl(WindowsWindow.java:201)
> at jogamp.newt.WindowImpl$SetSizeAction.run(WindowImpl.java:821)
> at jogamp.newt.DisplayImpl.runOnEDTIfAvail(DisplayImpl.java:193)
> at jogamp.newt.WindowImpl.runOnEDTIfAvail(WindowImpl.java:1578)
> at jogamp.newt.WindowImpl.setSize(WindowImpl.java:844)
> at com.jogamp.newt.opengl.GLWindow.setSize(GLWindow.java:340)
> at jogamp.newt.awt.event.AWTParentWindowAdapter$1.run(AWTParentWindowAdapter.java:101)
> at com.jogamp.common.util.RunnableTask.run(RunnableTask.java:116)
> at jogamp.newt.DefaultEDTUtil$EventDispatchThread.run(DefaultEDTUtil.java:295)
> java.lang.RuntimeException: Waited 5000ms for: <7ef3de76, 3c925617>[count 1, qsz 0, owner <main-Display-Windows_nil-1-EDT-1>] - <RenderLoop-0>
> at jogamp.common.util.locks.RecursiveLockImpl01Unfairish.lock(RecursiveLockImpl01Unfairish.java:182)
> at jogamp.newt.WindowImpl.lockSurface(WindowImpl.java:562)
> at jogamp.opengl.GLDrawableImpl.lockSurface(GLDrawableImpl.java:195)
> at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:397)
> at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:415)
> at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:364)
> at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:560)
> at jouvieje.scene.target.jogl2.NativeCanvas_jogl2.onDisplay(NativeCanvas_jogl2.java:121)
> at jouvieje.opengl.RenderLoop$Loop.run(RenderLoop.java:62)
>
> Jérôme
>
>
> If you reply to this email, your message will be added to the discussion below:
> http://forum.jogamp.org/GLWindow-setSize-exception-upgrading-to-rc8-tp3966421.html
>
> To start a new topic under jogl, email [hidden email]
> To unsubscribe from jogl, click here
> <
> NAML
> <
http://forum.jogamp.org/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>

--
health & wealth
mailto:[hidden email] ; http://jausoft.com
land : +49 (471) 4707742 ; fax : +49 (471) 4707741
Timezone CET: PST+9, EST+6, UTC+1


signature.asc (910 bytes) Download Attachment