Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 311805

Summary: [Mac] CocoaUIEnhancer null pointer exception
Product: [Eclipse Project] Platform Reporter: dwain Mising name <dwain.bethel>
Component: UIAssignee: Platform UI Triaged <platform-ui-triaged>
Status: RESOLVED WORKSFORME QA Contact: Prakash Rangaraj <prakash>
Severity: major    
Priority: P3 CC: curtis.windatt.public, darin.eclipse, pwebster, remy.suen
Version: 3.6   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description dwain Mising name CLA 2010-05-05 18:23:13 EDT
Build Identifier: 20100218-1602

I have posted this question in several forums thinking that it was something that I was doing wrong when exporting my program but I have had no luck and am beginning to think it is a bug rather then something I am doing.  We are deploying our RCP application through a JNLP file.  I am able to deploy my program and it runs great on Linux and Windows, however in Mac I started getting an exception in the libswt-pi-carbon-355.jnilib plugin that would just kill the entire program.  So I changed is so that it would use cocoa since that is replacing carbon anyway.  Now when the program loads from the JNLP file, it throws a NullPointerException in CocoaUIEnhancer.java line: 375 and the program is almost completely unresponsive.  I am sorry if this is the wrong place to report the bug, it seemed to fit better then most of the other places.  Thank you,

Dwain

Reproducible: Always
Comment 1 Darin Wright CLA 2010-05-06 09:29:21 EDT
Do you have a compelte stack trace? (I don't know what the CocoaUIEnahncer is)
Comment 2 dwain Mising name CLA 2010-05-06 11:23:51 EDT
Here is the stack trace.  The CocoaUIEnhancer is in the org.eclipse.ui.cocoa package.  

java.lang.NullPointerException: null
at org.eclipse.ui.internal.cocoa.CocoaUIEnhancer.hookApplicationMenu(CocoaUIEnhancer.java:375)
at org.eclipse.ui.internal.cocoa.CocoaUIEnhancer.access$5(CocoaUIEnhancer.java:355)
at org.eclipse.ui.internal.cocoa.CocoaUIEnhancer$1.run(CocoaUIEnhancer.java:235)
at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:155)
at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3405)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3102)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.vanns.csi.Application.start(Application.java:25)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.WebStartMain.basicRun(WebStartMain.java:79)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.WebStartMain.main(WebStartMain.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.javaws.Launcher.invokeMainMethod(Launcher.java:1535)
Comment 3 Curtis Windatt CLA 2010-05-06 11:28:01 EDT
Moving to Platform UI for comment.
Comment 4 dwain Mising name CLA 2010-05-07 16:21:35 EDT
I don't know if this will help, but I swapped out the org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar for the org.eclipse.equinox.launcher_1.1.0.v20100307.jar, which I pulled from the 3.6M6 build and I no longer see the exception.
Comment 5 Prakash Rangaraj CLA 2010-08-03 02:43:10 EDT
I guess the issue was because of a wrong version of jnilib being used. Marking as works-for-me as per Comment# 4