Menu

#44 OSX: under Eclipse, PIPE hangs after main screen displays; no entry possible

PIPEv4.3.0
closed-fixed
None
5
2014-08-18
2013-09-15
No

Running OSX 10.8.4, eclipse Juno SR 2. At PIPE startup, receive these messages:
2013-09-14 16:02:00.939 java[11200:707] [Java CocoaComponent compatibility mode]: Enabled
2013-09-14 16:02:00.940 java[11200:707] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000

The application paints the main window, but the window never responds to any keyboard or mouse entry (see screenshot; note upper left close/minimize/maximize buttons are greyed out).

The application behaves normally when launched through the command line using launch.sh.


Fix:

Experimenting, I changed the PIPE main from "SwingUtilities.invokeLater(runnable)" to use invokeAndWait(); received the same messages as above with these in addition:
2013-09-14 16:04:52.472 java[11214:c103] *** -[NSConditionLock unlock]: lock (<nsconditionlock: 0x7ff0532165b0=""> '(null)') unlocked when not locked
2013-09-14 16:04:52.472 java[11214:c103] *** Break on _NSLockError() to debug.
2013-09-14 16:04:52.575 java[11214:c103] *** -[NSConditionLock unlock]: lock (<nsconditionlock: 0x7ff05320fd80=""> '(null)') unlocked when not locked
2013-09-14 16:04:52.575 java[11214:c103] *** Break on _NSLockError() to debug.
2013-09-14 16:04:52.680 java[11214:c103] *** -[NSConditionLock unlock]: lock (<nsconditionlock: 0x7ff0532b5cb0=""> '(null)') unlocked when not locked
2013-09-14 16:04:52.680 java[11214:c103] *** Break on _NSLockError() to debug.</nsconditionlock:></nsconditionlock:></nsconditionlock:>

I found several problem reports with similar symptoms:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=290970
http://hub.jmonkeyengine.org/forum/topic/solved-jme2-mac-helios-swt-problems/
http://fantom.org/sidewalk/topic/2005

I'm guessing that Swing is waiting for events from eclipse on the Event Dispatch Thread. A common theme from the problem reports is misbehavior of SWT. I created a toy Swing project to show a window, and then began adding Jars from PIPE one by one. When, and only when, I added jfreechart-1.0.6-swt.jar, I re-created the problem.

I then dropped jfreechart-1.0.6-swt.jar from PIPE, and the problem disappeared. Dropping the jar causes no compilation problems, indicating it is unused. Browsed the jar contents, and grepped for 'swt' and 'experimental' from the package names in the PIPEv4.3.0 project; not found. Checked both old and recent POMs for the related jars jfreechart-1.0.6.jar and jcommon-1.0.10.jar; neither have dependencies on the deleted jar.

Re-tested with the most current version that Maven retrieves: jfreechart-swt-1.0.9.jar
This version does not cause the same problem. Therefore, if in the future we need to re-add the swt functions, we should use the current artifacts from Maven for jfreechart-swt, as well as jfreechart and jcommon.

Fix has been committed to PIPEv4.3.0.

Steve Doubleday

1 Attachments

Discussion

  • Steve Doubleday

    Steve Doubleday - 2013-09-15
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -3,3 +3,32 @@
     2013-09-14 16:02:00.940 java[11200:707] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
    
     The application paints the main window, but the window never responds to any keyboard or mouse entry (see screenshot; note upper left close/minimize/maximize buttons are greyed out).    
    +
    +The application behaves normally when launched through the command line using launch.sh. 
    +
    +----------------
    +Fix: 
    +
    +Experimenting, I changed the PIPE main from "SwingUtilities.invokeLater(runnable)" to use invokeAndWait(); received the same messages as above with these in addition:
    +2013-09-14 16:04:52.472 java[11214:c103] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x7ff0532165b0> '(null)') unlocked when not locked
    +2013-09-14 16:04:52.472 java[11214:c103] *** Break on _NSLockError() to debug.
    +2013-09-14 16:04:52.575 java[11214:c103] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x7ff05320fd80> '(null)') unlocked when not locked
    +2013-09-14 16:04:52.575 java[11214:c103] *** Break on _NSLockError() to debug.
    +2013-09-14 16:04:52.680 java[11214:c103] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x7ff0532b5cb0> '(null)') unlocked when not locked
    +2013-09-14 16:04:52.680 java[11214:c103] *** Break on _NSLockError() to debug.
    +
    +I found several problem reports with similar symptoms: 
    +https://bugs.eclipse.org/bugs/show_bug.cgi?id=290970
    +http://hub.jmonkeyengine.org/forum/topic/solved-jme2-mac-helios-swt-problems/
    +http://fantom.org/sidewalk/topic/2005
    +
    +I'm guessing that Swing is waiting for events from eclipse on the Event Dispatch Thread.  A common theme from the problem reports is misbehavior of SWT.  I created a toy Swing project to show a window, and then began adding Jars from PIPE one by one.  When, and only when, I added jfreechart-1.0.6-swt.jar, I re-created the problem.  
    +
    +I then dropped jfreechart-1.0.6-swt.jar from PIPE, and the problem disappeared.  Dropping the jar causes no compilation problems, indicating it is unused.  Browsed the jar contents, and grepped for 'swt' and 'experimental' from the package names in the PIPEv4.3.0 project; not found.  Checked both old and recent POMs for the related jars jfreechart-1.0.6.jar and jcommon-1.0.10.jar; neither have dependencies on the deleted jar.  
    +
    +Re-tested with the most current version that Maven retrieves:  jfreechart-swt-1.0.9.jar
    +This version does not cause the same problem.  Therefore, if in the future we need to re-add the swt functions, we should use the current artifacts from Maven for jfreechart-swt, as well as jfreechart and jcommon.  
    +
    +Fix has been committed to PIPEv4.3.0.    
    +
    +Steve Doubleday
    
     
  • Steve Doubleday

    Steve Doubleday - 2013-09-15
    • Group: v1.0 (example) --> PIPEv4.3.0
     

Log in to post a comment.

Auth0 Logo