Community
Participate
Working Groups
Build Identifier: Version: 3.7.1 Build id: M20110909-1335 The SWT-AWT bridge relies on the apple.awt.CEmbeddedFrame class but this is no longer available in openjdk 7. A variant (?) of the class exists in sun.lwawt.macosx.CEmbeddedFrame but is not completely compatible. Since Apple are no longer maintaining their own VM and will delegate to Openjdk for all releases this will effectively break the usage of SWT-AWT on OS X with Java 7 The root cause is org.eclipse.swt.SWTError: Not implemented (java.lang.ClassNotFoundException: apple.awt.CEmbeddedFrame) at org.eclipse.swt.SWT.error(SWT.java:4308) at org.eclipse.swt.SWT.error(SWT.java:4197) Fortunately the SWT guys were forward thinking enough to provide an override mechanism for the classname so this would normally allow plugin vendors to patch around the problem with an update to the new classes located in sun.lwawt.macosx.CEmbeddedFrame. But alas that also fails since the two classes differ in method signatures for the constructor. SWT_AWT.embeddedFrameClass = "sun.lwawt.macosx.CEmbeddedFrame"; fFrame = SWT_AWT.new_Frame(fMainComposite); java.lang.NoSuchMethodException: sun.lwawt.macosx.CEmbeddedFrame.<init>(long) Since the new class has more methods there may of course be other compatibility problems. FYI due to https://bugs.eclipse.org/bugs/show_bug.cgi?id=372951 the SWT_AWT bridge is already in bad state ATM on mac Reproducible: Always Steps to Reproduce: 1. Spend $$ on an Apple system :) 2. Install Openjdk 1.7 for Mac OS X 3. Install Eclipse 3.6+ 4. Install any plugin that uses the SWT_AWT bridge 5. See it crash as soon as you use that functionality Triggered by creating a new frame using java.awt.Frame f = SWT_AWT.new_Frame(Composite);
Since the openjdk is still in early access, I've also made a post on the feedback forums http://www.java.net/forum/topic/jdk/java-se-snapshots-project-feedback/eclipse-swtawt-bridge-broken-mac-os-x-openjdk-7u4ea
adding Silenio for comments.
An feature request is filed against JDK7 AWT on Mac OS X: 7154778: [macosx] NSView-based implementation of sun.awt.EmbeddedFrame Given the current (late) 7u4 development phase, it's targeted to 7u6.
Preliminary webrev for AWT bug 7154778: http://cr.openjdk.java.net/~art/pchelko/7154778/ Patch for SWT: http://cr.openjdk.java.net/~art/pchelko/7154778/swt_patch.txt Comments and suggestions are welcome (it would be fine if discussion is cross-posted to awt-dev @ openjdk).
Changed priorty to reflect the fact that SWT_AWT is completely broken on JDK7.
(In reply to comment #4) > Preliminary webrev for AWT bug 7154778: > > http://cr.openjdk.java.net/~art/pchelko/7154778/ > > Patch for SWT: > > http://cr.openjdk.java.net/~art/pchelko/7154778/swt_patch.txt > > Comments and suggestions are welcome (it would be fine if discussion is > cross-posted to awt-dev @ openjdk). Thanks for the patch. I tried to run it against JDK 1.7.0_09, but I still get java.lang.ClassNotFoundException: sun.lwawt.macosx.CViewEmbeddedFrame Which JDK version I need? One problem with the patch is that the SWT.Activate/SWT.Deactivate listeners added to the shell need to be removed when the parent is disposed. The same way the SWT.Iconify/SWT.Deiconify listeners are.
> Thanks for the patch. > > I tried to run it against JDK 1.7.0_09, but I still get > > java.lang.ClassNotFoundException: sun.lwawt.macosx.CViewEmbeddedFrame > > Which JDK version I need? CViewEmbeddedFrame is not in JDK yet, it's under review right now - see the link to webrev at cr.openjdk.java.net. So to see it in action, you need to get the latest JDK8 from hg.openjdk.java.net, apply the patch, then build it, and run with patched SWT.
Setting the target for the next milestone.
Created attachment 226385 [details] Problem launching Swing application from within Eclipse I'm not sure if this is the same bug. I was trying to launch a Swing application from within Eclipse and it failed. When I launch from the command line, there is no problem. I have attached the source code. I have attached the output listings from both launching from CLI and from within Eclipse. Launched from CLI window appears correctly BradleyRossMacBook:~ bradleyross$ java bradleyross.development.swing.DragDrop true Thread name is main first - Thread name is main buildGui - Thread name is main Launched from CLI window appears correctly BradleyRossMacBook:~ bradleyross$ java bradleyross.development.swing.DragDrop false Thread name is main first - Thread name is main buildGui - Thread name is AWT-EventQueue-0 Launched from Eclipse with option = false window does not appear Thread name is main first - Thread name is main buildGui - Thread name is AWT-EventQueue-0 No windows appear - apparently thread blocking - reasonable since that is what will happen according to documentation if I don't use SwingUtilities Launched from Eclipse with option = true window does not appear Thread name is main first - Thread name is main buildGui - Thread name is main 2013-01-31 09:25:11.482 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d74a53 Java_sun_java2d_opengl_CGLLayer_nativeCreateLayer + 119 1 ??? 0x00000001048ddf90 0x0 + 4371373968 2 ??? 0x00000001048d2275 0x0 + 4371325557 3 ??? 0x00000001048d2158 0x0 + 4371325272 4 ??? 0x00000001048d2158 0x0 + 4371325272 ) 2013-01-31 09:25:11.489 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case. 2013-01-31 09:25:11.492 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d7d621 Java_sun_lwawt_macosx_CPlatformView_nativeCreateView + 169 1 ??? 0x00000001048ddf90 0x0 + 4371373968 2 ??? 0x00000001048d2275 0x0 + 4371325557 3 ??? 0x00000001048d2158 0x0 + 4371325272 ) 2013-01-31 09:25:11.493 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case. 2013-01-31 09:25:11.496 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d7d9b9 Java_sun_lwawt_macosx_CPlatformWindow_nativeCreateNSWindow + 188 1 ??? 0x00000001048ddf90 0x0 + 4371373968 2 ??? 0x00000001048d2275 0x0 + 4371325557 ) 2013-01-31 09:25:11.497 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case. 2013-01-31 09:25:11.508 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d83145 Java_sun_lwawt_macosx_CPlatformComponent_nativeCreateComponent + 119 1 ??? 0x00000001048ddf90 0x0 + 4371373968 2 ??? 0x00000001048d2275 0x0 + 4371325557 3 ??? 0x00000001048d2806 0x0 + 4371326982 4 ??? 0x00000001048d2158 0x0 + 4371325272 ) 2013-01-31 09:25:11.508 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case. 2013-01-31 09:25:11.510 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d8208a Java_sun_lwawt_macosx_CPlatformWindow_nativeSetNSWindowBounds + 79 1 ??? 0x00000001048ddf90 0x0 + 4371373968 ) 2013-01-31 09:25:11.511 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case. 2013-01-31 09:25:11.512 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d82cfa Java_sun_lwawt_macosx_CPlatformWindow_nativeSetNSWindowTitle + 60 1 ??? 0x00000001048ddf90 0x0 + 4371373968 ) 2013-01-31 09:25:11.513 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case. 2013-01-31 09:25:11.514 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d8256b Java_sun_lwawt_macosx_CPlatformWindow_nativeSetNSWindowStyleBits + 69 1 ??? 0x00000001048ddf90 0x0 + 4371373968 ) 2013-01-31 09:25:11.515 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case. 2013-01-31 09:25:12.333 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d81ef4 Java_sun_lwawt_macosx_CPlatformWindow_nativeSetNSWindowMinMax + 79 1 ??? 0x00000001048ddf90 0x0 + 4371373968 ) 2013-01-31 09:25:12.334 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case. 2013-01-31 09:25:12.335 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d82e04 Java_sun_lwawt_macosx_CPlatformWindow_nativeGetNSWindowInsets + 72 1 ??? 0x00000001048ddf90 0x0 + 4371373968 ) 2013-01-31 09:25:12.336 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case. 2013-01-31 09:25:12.358 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d81865 Java_sun_lwawt_macosx_CPlatformWindow_nativeSetNSWindowMinimizedIcon + 64 1 ??? 0x00000001048ddf90 0x0 + 4371373968 2 ??? 0x00000001048d2158 0x0 + 4371325272 3 ??? 0x00000001048d2158 0x0 + 4371325272 4 ??? 0x00000001048d2806 0x0 + 4371326982 ) 2013-01-31 09:25:12.360 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case. 2013-01-31 09:25:12.362 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d8162e Java_sun_lwawt_macosx_CPlatformWindow_nativeSynthesizeMouseEnteredExitedEvents + 59 1 ??? 0x00000001048ddf90 0x0 + 4371373968 2 ??? 0x00000001048d2158 0x0 + 4371325272 3 ??? 0x00000001048d2806 0x0 + 4371326982 ) 2013-01-31 09:25:12.363 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case. 2013-01-31 09:25:12.365 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d8433c Java_sun_lwawt_macosx_CCursorManager_nativeGetCursorPosition + 66 1 ??? 0x00000001048ddf90 0x0 + 4371373968 2 ??? 0x00000001048d2333 0x0 + 4371325747 3 ??? 0x00000001048d2333 0x0 + 4371325747 ) 2013-01-31 09:25:12.366 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case. 2013-01-31 09:25:12.368 java[15684:707] Cocoa AWT: Running on AppKit thread 0 when not expected. ( 0 liblwawt.dylib 0x0000000168d8256b Java_sun_lwawt_macosx_CPlatformWindow_nativeSetNSWindowStyleBits + 69 1 ??? 0x00000001048ddf90 0x0 + 4371373968 ) 2013-01-31 09:25:12.369 java[15684:707] Please file a bug report at http://java.net/jira/browse/MACOSX_PORT with this message and a reproducible test case.
Is this bug going to actually be fixed for 4.3M6? I am considering whether I should port back all my code to Java1.6 in order to get Mac OS X support.
I cleanup the patch and released it. There is no practical way of testing it, but it certainly cannot make the situation worse. Thanks Artem! http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=269e9bd88659168cd99ab994fb73a4e91595fd06
I applied the patch to a local 3.2.2 AWT_SWT and ran it against the developer pre-released of Java 7, and it worked. Unfortunately, the last two releases of Java 7 (13 and 15) have not contained the necessary class, sun.lwawt.macosx.CViewEmbeddedFrame. Is there any way to guess when this class will be released into the wild by Oracle?
CViewEmbeddedFrame is available in JDK8 and backported to JDK7u. It will be available in the next limited JDK7u update - both 7u13 and 7u15 were security updates, that's why the class is not there.
Does anyone know if a Java 7 release that supports this has happened? If so, which one was it? If not, does anyone know if/when it will happen? I know it was supposed to be in Java 7u12 but that one was never formally released as far as I know (it still appears as a 'developer preview' on Oracle's website). All releases since u10 appear to simply be security fixes.
I confirmed that the developer pre-release of 12 contains the fix, but the fix has still not been released to the world.
(In reply to comment #15) > I confirmed that the developer pre-release of 12 contains the fix, but the > fix has still not been released to the world. Where can I download the developer pre-release of 12?
> Where can I download the developer pre-release of 12? 12 isn't the current developer beta. The fix is also in the current developer pre-release (Java7u40) https://jdk7.java.net/download.html
(In reply to comment #17) > > Where can I download the developer pre-release of 12? > > 12 isn't the current developer beta. The fix is also in the current > developer pre-release (Java7u40) > > https://jdk7.java.net/download.html Thank you James. But i'm still getting the error with 7u40... how is this possible?
Did you specify the new class name for the AWT Frame? I have been using it for a few weeks now. (In reply to comment #18) > (In reply to comment #17) > > > Where can I download the developer pre-release of 12? > > > > 12 isn't the current developer beta. The fix is also in the current > > developer pre-release (Java7u40) > > > > https://jdk7.java.net/download.html > > Thank you James. But i'm still getting the error with 7u40... how is this > possible?
(In reply to comment #19) > Did you specify the new class name for the AWT Frame? I have been using it > for a few weeks now. > > (In reply to comment #18) > > (In reply to comment #17) > > > > Where can I download the developer pre-release of 12? > > > > > > 12 isn't the current developer beta. The fix is also in the current > > > developer pre-release (Java7u40) > > > > > > https://jdk7.java.net/download.html > > > > Thank you James. But i'm still getting the error with 7u40... how is this > > possible? Solved... :) I missed the "SWT_AWT.embeddedFrameClass = "sun.lwawt.macosx.CViewEmbeddedFrame";" part
The new implementation of EmbeddedFrame provided by Oracle seems to be having problems getting activated (not sure if this is something to file here, in a new bug, or over on Oracle's side). Once the frame has been deactivated, I can't get focus to it again without calling synthesizeWindowActivation The SWT bridge code already calls this when the Frame's parent gets focus but it seems to also require a call when the parent's shell is activated (and the parent is already the focused control).
Hello. I'm an author of the CViewEmbeddedFrame class. In order to work properly the new implementation needs some changes in SWT code. I thought it was already contributed to you, but it looks like the latest stable SWT release do not contain the changes. The patch which describes the idea of the changes could be found here: http://cr.openjdk.java.net/~art/pchelko/7154778/swt_patch.txt We needed these changes because of the differences in AWT implementation between Apple's JDK an OpenJDK. Could you please check if it works with this patch? There could be issues, the AWT was changed quite a lot from the time when CViewEmbeddedFrame was created. With best regards. Petr.
(In reply to comment #22) > Hello. > > I'm an author of the CViewEmbeddedFrame class. In order to work properly the > new implementation needs some changes in SWT code. I thought it was already > contributed to you, but it looks like the latest stable SWT release do not > contain the changes. The patch which describes the idea of the changes could > be found here: > > http://cr.openjdk.java.net/~art/pchelko/7154778/swt_patch.txt > > We needed these changes because of the differences in AWT implementation > between Apple's JDK an OpenJDK. Could you please check if it works with this > patch? There could be issues, the AWT was changed quite a lot from the time > when CViewEmbeddedFrame was created. > > With best regards. Petr. This patch is already released in git.eclipse.org and it is available in the latest 4.3 build. http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/bundles/org.eclipse.swt/Eclipse%20SWT%20AWT/cocoa/org/eclipse/swt/awt/SWT_AWT.java?h=integration&id=269e9bd88659168cd99ab994fb73a4e91595fd06
Ok, could you please make some reproducible test case for the issue, I'll get a look if this is a problem in the CViewEmbeddedFrame or the SWT side should be changed a bit more.
Ah, I was working with SWT 3.8.1.v3834 (and manually specifying the new class name) since I have an RCP application that cannot update to Eclipse 4.x (yet). I have applied the patch to my SWT class and it now works as expected. Thanks!
(In reply to comment #23) After applying the patch, I did find an issue with the Dispose listener. Calling Display.sleep() while in the display's dispose notification means that anything in Swing's shutdown that might want to enqueue an event in the SWT thread or even check which thread it is on (with Display.getCurrent() == null) will cause the application to hang. Changing the call from sleep() to wait(timeout) would seem to make more sense to me since it would allow access to the Display's monitor while things are shutting down.
As I understand from the JavaDoc, the display.sleep method puts the device to sleep until the event is received, so the loop in the display dispose notification prevents SWT from exiting the main runloop and does not stop dispatching events in the main loop. Could you please provide a test case when the code hangs? This code was added to prevent hang on the shutdown, when AWT is trying to perform some selector on the main thread and SWT has already stopped the main runloop. However, this is not a perfect solution, because it does not support more complex cases when we have multiple SWT and AWT windows, and open one from another. The same problem exist in AWT/JavaFX interop. There is an idea to implement a global analogue of the AWTAutoshutdown, which would be used by all GUI toolkits or improve the shutdown situation somehow else. Here's the JDK bug for this: http://bugs.sun.com/view_bug.do?bug_id=8006326
Please have patience with my question and tell me if my problem is the same as what's described in this bug. We have a pure Swing app that we reworked into an Eclipse RCP app, to get the drop-ins feature etc. Our app makes no use of SWT, altho I believe the Eclipse launcher might. Our app works fine in Windows and Linux; does not launch in MacOSX. Does this discussion and "fixed" status on the bug mean that if we use Java 1.7 plus a few minor tweaks, we will regain access to the MacOSX platform for our app? Thanks for your comments.
(In reply to comment #28) > Please have patience with my question and tell me if my problem is the same > as what's described in this bug. I do not think this is your problem. This bug is about embedded AWT/Swing components in a SWT widget tree. But there have been other bug fixes in Eclipse 4.3 related to launching a swing application (see bug#302584). You should be able to start your swing app using the eclipse launcher.
Is there any knowledge out there about when Oracle might release their next non-security update to Java 7? Do customers have to wait for Java 8 at this point?
Oracle says it is coming (though they keep pushing the General Availability date back). It is now at mid-September. Track it here: http://openjdk.java.net/projects/jdk7u/releases/7u40.html (In reply to comment #30) > Is there any knowledge out there about when Oracle might release their next > non-security update to Java 7? Do customers have to wait for Java 8 at this > point?
I just installed Java's new update 40 and continue to receive: org.eclipse.swt.SWTError: Not implemented (java.lang.ClassNotFoundException: apple.awt.CEmbeddedFrame) at org.eclipse.swt.SWT.error(SWT.java:4387) at org.eclipse.swt.SWT.error(SWT.java:4276) at org.eclipse.swt.awt.SWT_AWT.new_Frame(SWT_AWT.java:145). . . . at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:386) at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:240) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595) at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:315) at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:534) at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180) at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270) at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65) at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473) at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245) at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1198) at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1597) at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:643) at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:570) at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:568) at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:272) at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:981) at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2727) at org.eclipse.ui.internal.WorkbenchWindow$28.run(WorkbenchWindow.java:3030) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:3011) at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java:799) at org.eclipse.ui.internal.Workbench$23.runWithException(Workbench.java:1229) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3946) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3623) at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803) at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1600) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180) at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150) at org.eclipse.swt.widgets.Display.syncExec(Display.java:4607) at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:94) at org.eclipse.ui.internal.Workbench.init(Workbench.java:1595) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2628) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at com.xio.management.rcp.XtremApp.start(XtremApp.java:65) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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:353) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) at org.eclipse.equinox.launcher.Main.run(Main.java:1438) at org.eclipse.equinox.launcher.Main.main(Main.java:1414) Caused by: java.lang.ClassNotFoundException: apple.awt.CEmbeddedFrame at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:270) at org.eclipse.swt.awt.SWT_AWT.new_Frame(SWT_AWT.java:140) ... 61 more
That's because you need to change the class name from "apple.awt.CEmbeddedFrame" to "sun.lwawt.macosx.CViewEmbeddedFrame". Update your SWT or apply the patch that was posted here earlier. (In reply to Dan NJ from comment #32) > I just installed Java's new update 40 and continue to receive: > org.eclipse.swt.SWTError: Not implemented (java.lang.ClassNotFoundException: > apple.awt.CEmbeddedFrame) > at org.eclipse.swt.SWT.error(SWT.java:4387) > at org.eclipse.swt.SWT.error(SWT.java:4276) > at org.eclipse.swt.awt.SWT_AWT.new_Frame(SWT_AWT.java:145). > . > . > . > at > org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java: > 386) > at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:240) > at > org.eclipse.ui.internal.WorkbenchPartReference. > getPart(WorkbenchPartReference.java:595) > at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:315) > at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:534) > at > org.eclipse.ui.internal.presentations.PresentablePart. > setVisible(PresentablePart.java:180) > at > org.eclipse.ui.internal.presentations.util.PresentablePartFolder. > select(PresentablePartFolder.java:270) > at > org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder. > select(LeftToRightTabOrder.java:65) > at > org.eclipse.ui.internal.presentations.util.TabbedStackPresentation. > selectPart(TabbedStackPresentation.java:473) > at > org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack. > java:1245) > at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1198) > at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1597) > at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:643) > at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:570) > at > org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer. > java:568) > at > org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java: > 272) > at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:981) > at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2727) > at org.eclipse.ui.internal.WorkbenchWindow$28.run(WorkbenchWindow.java:3030) > at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) > at > org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java: > 3011) > at > org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java: > 799) > at > org.eclipse.ui.internal.Workbench$23.runWithException(Workbench.java:1229) > at > org.eclipse.ui.internal.StartupThreading$StartupRunnable. > run(StartupThreading.java:31) > at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) > at > org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) > at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3946) > at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3623) > at > org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor. > java:803) > at > org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1600) > at > org.eclipse.ui.internal.StartupThreading$StartupRunnable. > run(StartupThreading.java:31) > at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180) > at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150) > at org.eclipse.swt.widgets.Display.syncExec(Display.java:4607) > at > org.eclipse.ui.internal.StartupThreading. > runWithoutExceptions(StartupThreading.java:94) > at org.eclipse.ui.internal.Workbench.init(Workbench.java:1595) > at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2628) > at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499) > at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679) > at > org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) > at > org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668) > at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) > at com.xio.management.rcp.XtremApp.start(XtremApp.java:65) > at > org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java: > 196) > 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:353) > at > org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl. > java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) > at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) > at org.eclipse.equinox.launcher.Main.run(Main.java:1438) > at org.eclipse.equinox.launcher.Main.main(Main.java:1414) > Caused by: java.lang.ClassNotFoundException: apple.awt.CEmbeddedFrame > at java.net.URLClassLoader$1.run(URLClassLoader.java:366) > at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:354) > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:270) > at org.eclipse.swt.awt.SWT_AWT.new_Frame(SWT_AWT.java:140) > ... 61 more