JMP Alpha-4 freezes on ubuntu 11.04

I’m running ubuntu 11.04 with JMP alpha-4 and the latest nightly updates.

But as soon as i open the scene viewer the whole IDE freezes.



Some infos…


Running on jMonkey Engine 3 Alpha 0.6
Extraction Directory #1: file:/home/madlion/jmonkeyplatform/jmonkeyplatform/modules/ext/
Extraction Directory #2: /home/madlion/.jmonkeyplatform
Extraction Directory #3: /home/madlion
Cannot locate native library: linux/libbulletjme.so
MAIN: Creating OGL thread.
Using LWJGL 2.7.1
OGL: Pbuffer has been created
Caps: [FrameBuffer, FrameBufferMRT, FrameBufferMultisample, TextureMultisample, OpenGL20, OpenGL21, OpenGL30, OpenGL31, OpenGL32, ARBprogram, GLSL100, GLSL110, GLSL120, GLSL130, GLSL140, GLSL150, VertexTextureFetch, TextureArray, TextureBuffer, FloatTexture, FloatColorBuffer, FloatDepthBuffer, PackedFloatTexture, SharedExponentTexture, PackedFloatColorBuffer, TextureCompressionLATC, NonPowerOfTwoTextures, MeshInstancing, VertexBufferArray]
Adapter: null
Driver Version: null
Vendor: NVIDIA Corporation
OpenGL Version: 3.3.0 NVIDIA 270.41.06
Renderer: GeForce GTX 285M/PCI/SSE2
GLSL Ver: 3.30 NVIDIA via Cg compiler


Does anyone have the same problem?

http://hub.jmonkeyengine.org/forums/?fs=ubuntu

Hm well this isn’t really helpful…



  • Running as root does not work.

  • I do not have a crash.

  • Running TestSafeCanvas works fine.



It looks more like the issue mentioned there http://hub.jmonkeyengine.org/groups/jmonkeyplatform/forum/topic/deadlock-problem-in-vehicle-editor/ .
jconsole gives me a deadlock.


Name: AWT-EventQueue-1
State: WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@1a73a8c owned by: LWJGL Renderer Thread
Total blocked: 575 Total waited: 546
Stack trace:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178)
java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
sun.awt.SunToolkit.awtLock(SunToolkit.java:236)
sun.awt.X11.XDecoratedPeer.getLocationOnScreen(XDecoratedPeer.java:968)
java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:1961)
java.awt.Component.getLocationOnScreen(Component.java:1939)
- locked java.awt.Component$AWTTreeLock@134da62
javax.swing.SwingUtilities.convertPointToScreen(SwingUtilities.java:364)
org.netbeans.core.windows.view.EditorView.getPureBounds(EditorView.java:95)
org.netbeans.core.windows.view.ViewHierarchy.getPureEditorAreaBounds(ViewHierarchy.java:914)
org.netbeans.core.windows.view.DefaultView.guessSlideSide(DefaultView.java:120)
org.netbeans.core.windows.ViewRequestor.guessSlideSide(ViewRequestor.java:113)
org.netbeans.core.windows.Central.guessSlideSide(Central.java:1815)
org.netbeans.core.windows.WindowManagerImpl.guessSlideSide(WindowManagerImpl.java:908)
org.netbeans.core.windows.view.ui.tabcontrol.TabbedAdapter$WinsysInfo.getOrientation(TabbedAdapter.java:534)
org.netbeans.swing.tabcontrol.plaf.TabControlButtonFactory$SlidePinButton.getButtonId(TabControlButtonFactory.java:165)
org.netbeans.swing.tabcontrol.plaf.TabControlButton.getIcon(TabControlButton.java:134)
javax.swing.plaf.synth.SynthButtonUI.getIcon(SynthButtonUI.java:263)
javax.swing.plaf.synth.SynthButtonUI.paint(SynthButtonUI.java:223)
javax.swing.plaf.synth.SynthButtonUI.update(SynthButtonUI.java:206)
javax.swing.JComponent.paintComponent(JComponent.java:752)
javax.swing.JComponent.paint(JComponent.java:1029)
javax.swing.JComponent.paintChildren(JComponent.java:862)
- locked java.awt.Component$AWTTreeLock@134da62
javax.swing.JComponent.paint(JComponent.java:1038)
javax.swing.JComponent.paintChildren(JComponent.java:862)
- locked java.awt.Component$AWTTreeLock@134da62
javax.swing.JComponent.paint(JComponent.java:1038)
javax.swing.JComponent.paintChildren(JComponent.java:862)
- locked java.awt.Component$AWTTreeLock@134da62
javax.swing.JComponent.paint(JComponent.java:1038)
org.netbeans.swing.tabcontrol.TabbedContainer.paint(TabbedContainer.java:959)
javax.swing.JComponent.paintChildren(JComponent.java:862)
- locked java.awt.Component$AWTTreeLock@134da62
javax.swing.JComponent.paint(JComponent.java:1038)
javax.swing.JComponent.paintChildren(JComponent.java:862)
- locked java.awt.Component$AWTTreeLock@134da62
javax.swing.JComponent.paint(JComponent.java:1038)
org.netbeans.core.windows.view.ui.MultiSplitPane.paint(MultiSplitPane.java:330)
javax.swing.JComponent.paintChildren(JComponent.java:862)
- locked java.awt.Component$AWTTreeLock@134da62
javax.swing.JComponent.paint(JComponent.java:1038)
org.netbeans.core.windows.view.ui.MultiSplitPane.paint(MultiSplitPane.java:330)
javax.swing.JComponent.paintChildren(JComponent.java:862)
- locked java.awt.Component$AWTTreeLock@134da62
javax.swing.JComponent.paint(JComponent.java:1038)
javax.swing.JComponent.paintChildren(JComponent.java:862)
- locked java.awt.Component$AWTTreeLock@134da62
javax.swing.JComponent.paint(JComponent.java:1038)
javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
javax.swing.JComponent.paintChildren(JComponent.java:862)
- locked java.awt.Component$AWTTreeLock@134da62
javax.swing.JComponent.paint(JComponent.java:1038)
javax.swing.JComponent.paintToOffscreen(JComponent.java:5124)
javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1479)
javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1410)
javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:294)
javax.swing.RepaintManager.paint(RepaintManager.java:1224)
javax.swing.JComponent._paintImmediately(JComponent.java:5072)
javax.swing.JComponent.paintImmediately(JComponent.java:4882)
javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:785)
javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:642)
java.awt.EventQueue.access$000(EventQueue.java:85)
java.awt.EventQueue$1.run(EventQueue.java:603)
java.awt.EventQueue$1.run(EventQueue.java:601)
java.security.AccessController.doPrivileged(Native Method)
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
java.awt.EventQueue.dispatchEvent(EventQueue.java:612)
org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


Name: LWJGL Renderer Thread
State: BLOCKED on java.awt.Component$AWTTreeLock@134da62 owned by: AWT-EventQueue-1
Total blocked: 12 Total waited: 10.331
Stack trace:
java.awt.Container.getComponentZOrder(Container.java:894)
javax.swing.LayoutComparator.compare(LayoutComparator.java:100)
java.util.Arrays.mergeSort(Arrays.java:1270)
java.util.Arrays.mergeSort(Arrays.java:1282)
java.util.Arrays.mergeSort(Arrays.java:1281)
java.util.Arrays.sort(Arrays.java:1210)
java.util.Collections.sort(Collections.java:159)
javax.swing.SortingFocusTraversalPolicy.enumerateAndSortCycle(SortingFocusTraversalPolicy.java:119)
javax.swing.SortingFocusTraversalPolicy.getComponentAfter(SortingFocusTraversalPolicy.java:244)
javax.swing.LayoutFocusTraversalPolicy.getComponentAfter(LayoutFocusTraversalPolicy.java:88)
java.awt.Component.preNextFocusHelper(Component.java:7663)
java.awt.Component.nextFocusHelper(Component.java:7642)
java.awt.Component.doAutoTransfer(Component.java:7574)
java.awt.Component.autoTransferFocus(Component.java:7557)
java.awt.Component.setFocusable(Component.java:6904)
org.lwjgl.opengl.LinuxDisplay.setFocused(LinuxDisplay.java:904)
org.lwjgl.opengl.LinuxDisplay.processEvents(LinuxDisplay.java:761)
org.lwjgl.opengl.LinuxDisplay.update(LinuxDisplay.java:796)
org.lwjgl.opengl.Display.processMessages(Display.java:634)
- locked java.lang.Object@dac573
com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:173)
com.jme3.system.lwjgl.LwjglCanvas.runLoop(LwjglCanvas.java:199)
com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:217)
java.lang.Thread.run(Thread.java:662)

Can i provide any more useful informations?

If I recall correctly its generally not a good idea to call swing/awt methods outside of the EDT thread, and it seems like LWJGL is doing just that

Are you using java or open JDK? There some suggestions could help:

1 have a try to start JMP from a console

2 Have a try to install java instead of openJDK - http://hub.jmonkeyengine.org/groups/documentation/forum/topic/how-to-install-java-on-linux-ubuntu-10-10-tutorial

3 Switch scene viewer (model viewer) window off or detach it.

mifth said:
Are you using java or open JDK?

I have to double check but i've installed sun jre 1.6 and using it as the system default.
mifth said:
1 have a try to start JMP from a console

I will try this.
mifth said:
3 Switch scene viewer (model viewer) window off or detach it.

I'll try to detach it.
It is closed for now, but if i open it jmp freezes.
Thanks for your suggestions! ^^
Momoko_Fan said:
If I recall correctly its generally not a good idea to call swing/awt methods outside of the EDT thread, and it seems like LWJGL is doing just that

Hm... so sounds like a lwjgl problem.
Maybe the new ubuntu unity desktop is buggy.

i use kubuntu… kde does not have unity…

I started my ubuntu without unity now and it seems to be much more stable. ^^

Yes Unity uses hardware acceleration … However that doesn’t play well with other things that also use hardware acceleration, like jME



With OpenJDK I had the “X error” issue, but when I switched to Sun JDK things started working. I have an NVIDIA card though

I had gnome 2 + compiz (you know uses hardware acceleration too) before and i think i had no freezes there. But i may be wrong.

It’s a bit weird that all new desktops/window manager using hardware acceleration now. Well it’s nice for effects but sometimes causing problems with open gl applications.



Thanks for your support guys.