You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Ted Kirby (JIRA)" <ji...@apache.org> on 2010/10/22 21:58:16 UTC

[jira] Commented: (GERONIMODEVTOOLS-677) Testsuite not working on Mac cocoa

    [ https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923994#action_12923994 ] 

Ted Kirby commented on GERONIMODEVTOOLS-677:
--------------------------------------------

https://bugs.eclipse.org/bugs/show_bug.cgi?id=303869 has some info on the warning:
1. It suggests a jvm arg of -XstartOnFirstThread may be a bypass
2. Apple: Bug ID# 7840189 may fix it.
The bug fixed it for them on Mac OS 10.6 (Snow Leopard).
The bug is in this update: http://developer.apple.com/library/mac/#releasenotes/CrossPlatform/JavaSnowLeopardUpdate2LeopardUpdate7RN/ResolvedIssues/ResolvedIssues.html#//apple_ref/doc/uid/TP40009967-CH3-DontLinkElementID_28

The update is also Java for Mac OS X 10.5 Update 7, taking java 6 to 1.6.0_20.
I have Leopard (10.5), and java 6 1.6.0_22, and I still have the problem.

However, the good news is that a jvm arg of -XstartOnFirstThread gets past this problem!

I used it in testsuite/plugins/org.apache.geronimo.testsuite.common/library.xml:

<target name="java-test">
....
<jvmarg line="${vmargs} ${extraVMargs} *-XstartOnFirstThread*"/>

This did launch and eclipse instance on my Mac.  An initial test failed, however, since the menus are different on Mac v. Windows.  In windows, it's Help->About Eclipse.  On Mac, it's Eclipse->About Eclipse, but I could see the code open the Apple Icon in top left corner, and just hang, with this error in 
testsuite/launcher/results/junit/org.apache.geronimo.testsuite.v30.ui.EclipseUITest.xml:


eclipse.buildId=M20100909-0800
java.version=1.6.0_22
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -application org.eclipse.test.uitestapplication formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,/Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/eclipse/eclipse/org.apache.geronimo.testsuite.v30.ui.EclipseUITest.xml -testPluginName org.apache.geronimo.testsuite.v30 -className org.apache.geronimo.testsuite.v30.ui.EclipseUITest
Command-line arguments:  -application org.eclipse.test.uitestapplication -data /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/eclipse/eclipse/jdt_folder formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,/Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/eclipse/eclipse/org.apache.geronimo.testsuite.v30.ui.EclipseUITest.xml -testPluginName org.apache.geronimo.testsuite.v30 -className org.apache.geronimo.testsuite.v30.ui.EclipseUITest -os macosx -ws cocoa -arch x86_64 -consolelog

!ENTRY org.eclipse.core.net 1 0 2010-10-22 15:37:54.023
!MESSAGE System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences
testEclipseUI: Activating Shell {Resource - Eclipse Platform}
initial validation and set up
testEclipseUI: 61.494 sec.

!ENTRY org.eclipse.ui 4 0 2010-10-22 15:39:05.878
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (abbot.swt.tester.ActionFailedException: java.lang.NoSuchFieldException: menus)
	at org.eclipse.swt.SWT.error(SWT.java:4083)
	at org.eclipse.swt.SWT.error(SWT.java:3998)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:137)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3586)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3279)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.ui.internal.about.AboutHandler.execute(AboutHandler.java:32)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
	at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157)
	at org.eclipse.ui.internal.actions.CommandAction.run(CommandAction.java:171)
	at org.eclipse.ui.internal.cocoa.CocoaUIEnhancer.runAction(CocoaUIEnhancer.java:416)
	at org.eclipse.ui.internal.cocoa.CocoaUIEnhancer.aboutMenuItemSelected(CocoaUIEnhancer.java:520)
	at org.eclipse.ui.internal.cocoa.CocoaUIEnhancer.actionProc(CocoaUIEnhancer.java:540)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:4483)
	at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4739)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
	at org.eclipse.swt.internal.cocoa.NSApplication.nextEventMatchingMask(NSApplication.java:85)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3271)
	at abbot.swt.junit.extensions.UserThread.sync(UserThread.java:94)
	at abbot.swt.junit.extensions.UserThread.syncExec(UserThread.java:25)
	at abbot.swt.junit.extensions.SWTTestCase.runBare(SWTTestCase.java:250)
	at junit.framework.TestResult$1.protect(TestResult.java:110)
	at junit.framework.TestResult.runProtected(TestResult.java:128)
	at junit.framework.TestResult.run(TestResult.java:113)
	at junit.framework.TestCase.run(TestCase.java:124)
	at junit.framework.TestSuite.runTest(TestSuite.java:232)
	at junit.framework.TestSuite.run(TestSuite.java:227)
	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
	at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
	at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:376)
	at org.eclipse.test.EclipseTestRunner.run(EclipseTestRunner.java:209)
	at org.eclipse.test.UITestApplication$3.run(UITestApplication.java:195)
	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:3586)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3279)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.test.UITestApplication.runApplication(UITestApplication.java:138)
	at org.eclipse.test.UITestApplication.run(UITestApplication.java:60)
	at org.eclipse.test.UITestApplication.start(UITestApplication.java:210)
	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:369)
	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:619)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
	at org.eclipse.core.launcher.Main.main(Main.java:34)
Caused by: abbot.swt.tester.ActionFailedException: java.lang.NoSuchFieldException: menus
	at abbot.swt.finder.WidgetHierarchyImpl$2.run(WidgetHierarchyImpl.java:159)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:179)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4233)
	at abbot.swt.utilities.Displays.syncExec(Displays.java:113)
	at abbot.swt.finder.WidgetHierarchyImpl.getWidgets(WidgetHierarchyImpl.java:132)
	at abbot.swt.finder.WidgetHierarchyImpl.getChildren(WidgetHierarchyImpl.java:76)
	at abbot.swt.finder.WidgetHierarchyImpl.getChildren(WidgetHierarchyImpl.java:1)
	at abbot.swt.hierarchy.VisitableImpl.acceptInternal(VisitableImpl.java:17)
	at abbot.swt.hierarchy.VisitableImpl.acceptInternal(VisitableImpl.java:29)
	at abbot.swt.hierarchy.HierarchyImpl.accept(HierarchyImpl.java:30)
	at abbot.swt.junit.extensions.SWTTestCase$3.run(SWTTestCase.java:138)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
	... 64 more
Caused by: java.lang.NoSuchFieldException: menus
	at java.lang.Class.getDeclaredField(Class.java:1882)
	at abbot.swt.finder.WidgetHierarchyImpl$2.run(WidgetHierarchyImpl.java:147)
	... 77 more

I am going to change focus to windows for further testsuite testing.

> Testsuite not working on Mac cocoa
> ----------------------------------
>
>                 Key: GERONIMODEVTOOLS-677
>                 URL: https://issues.apache.org/jira/browse/GERONIMODEVTOOLS-677
>             Project: Geronimo-Devtools
>          Issue Type: Bug
>          Components: eclipse-plugin
>         Environment: Mac OS X
>            Reporter: Ted Kirby
>            Assignee: Delos Dai
>
> It looks like there is a fatal cocoa restriction currently blocking the testsuite from running on Mac OS X, based on this message:
> "***WARNING: Display must be created on main thread due to Cocoa restrictions."
> details:
> [INFO] ------------------------------------------------------------------------
> [INFO] Building Geronimo Eclipse Plugin :: Testsuite :: Launcher
> [INFO]    task-segment: [install]
> [INFO] ------------------------------------------------------------------------
> ...
> [INFO] [antrun:run {execution: run-testsuite}]
> [INFO] Executing tasks
> init:
> Please install Aries tools manually for eclipse under testsuite/launcher/eclipse,
> Free Aries tools download URL is http://www.ibm.com/developerworks/rational/downloads/10/rationaldevtoolsforosgiapplications.html
> Press Enter to continue...
>         
> mac:
>      [echo] Launching Equinox with -Dos=macosx -Dws=cocoa
>      [java] Buildfile: testsuite.xml
>      [java] 
>      [java] all:
>      [java] 
>      [java] testsuite.v30:
>      [java] 
>      [java] junit:
>      [java] 
>      [java] init:
>      [java] 
>      [java] suite:
>      [java]    [delete] Deleting directory /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/eclipse/eclipse/jdt_folder
>      [java]     [mkdir] Created dir: /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/eclipse/eclipse/jdt_folder/src
>      [java]      [copy] Copying 13 files to /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/eclipse/eclipse/jdt_folder/src
>      [java] 
>      [java] init:
>      [java] 
>      [java] ui-test:
>      [java] 
>      [java] java-test:
>      [java]      [echo] Running org.apache.geronimo.testsuite.v30.ui.aries.NewOSGiBundleTest. Result file: /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/results/junit/org.apache.geronimo.testsuite.v30.ui.aries.NewOSGiBundleTest.xml.
>      [java] 
>      [java] BUILD FAILED
>      [java] /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/testsuite.xml:72: The following error occurred while executing this line:
>      [java] /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/testsuite.xml:56: The following error occurred while executing this line:
>      [java] /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/testsuite.xml:38: The following error occurred while executing this line:
>      [java] /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/testsuite.xml:46: The following error occurred while executing this line:
>      [java] /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/eclipse/eclipse/plugins/org.apache.geronimo.testsuite.v30-3.0.0/test.xml:94: The following error occurred while executing this line:
>      [java] /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/library.xml:74: The following error occurred while executing this line:
>      [java] /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/plugins/org.apache.geronimo.testsuite.common/library.xml:89: Java returned: 13
>      [java] 
>      [java] Total time: 19 seconds
>      [java] An error has occurred. See the log file
>      [java] /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/workspace/.metadata/.log.
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] An Ant BuildException has occured: The following error occurred while executing this line:
> /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/build.xml:99: The following error occurred while executing this line:
> /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/build.xml:83: Java returned: 13
> [INFO] ------------------------------------------------------------------------
> [INFO] For more information, run Maven with the -e switch
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 9 minutes 5 seconds
> [INFO] Finished at: Mon Oct 18 11:30:49 EDT 2010
> [INFO] Final Memory: 427M/507M
> [INFO] ------------------------------------------------------------------------
> from testsuite/launcher/results/junit/org.apache.geronimo.testsuite.v30.ui.aries.NewOSGiBundleTest.txt :
> ***WARNING: Display must be created on main thread due to Cocoa restrictions.
> !SESSION 2010-10-18 11:30:29.172 -----------------------------------------------
> eclipse.buildId=M20100909-0800
> java.version=1.6.0_20
> java.vendor=Apple Inc.
> BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
> Framework arguments:  -application org.eclipse.test.uitestapplication formatter=org.apache.tools.ant.taskdefs.optional.junit.X
> MLJUnitResultFormatter,/Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/eclipse/eclipse/org.apache.geronimo.
> testsuite.v30.ui.aries.NewOSGiBundleTest.xml -testPluginName org.apache.geronimo.testsuite.v30 -className org.apache.geronimo.
> testsuite.v30.ui.aries.NewOSGiBundleTest
> Command-line arguments:  -application org.eclipse.test.uitestapplication -data /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk
> /testsuite/launcher/eclipse/eclipse/jdt_folder formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,
> /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/eclipse/eclipse/org.apache.geronimo.testsuite.v30.ui.aries.
> NewOSGiBundleTest.xml -testPluginName org.apache.geronimo.testsuite.v30 -className org.apache.geronimo.testsuite.v30.ui.aries.
> NewOSGiBundleTest -os macosx -ws cocoa -arch x86_64 -consolelog
> !ENTRY org.eclipse.osgi 4 0 2010-10-18 11:30:44.403
> !MESSAGE Application error
> !STACK 1
> org.eclipse.swt.SWTException: Invalid thread access
>         at org.eclipse.swt.SWT.error(SWT.java:4083)
>         at org.eclipse.swt.SWT.error(SWT.java:3998)
>         at org.eclipse.swt.SWT.error(SWT.java:3969)
>         at org.eclipse.swt.widgets.Display.error(Display.java:1027)
>         at org.eclipse.swt.widgets.Display.createDisplay(Display.java:794)
>         at org.eclipse.swt.widgets.Display.create(Display.java:777)
>         at org.eclipse.swt.graphics.Device.<init>(Device.java:130)
>         at org.eclipse.swt.widgets.Display.<init>(Display.java:668)
>         at org.eclipse.swt.widgets.Display.<init>(Display.java:659)
>         at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:708)
>         at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
>         at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:145)
>         at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:88)
>         at org.eclipse.test.UITestApplication.runApplication(UITestApplication.java:138)
>         at org.eclipse.test.UITestApplication.run(UITestApplication.java:60)
>         at org.eclipse.test.UITestApplication.start(UITestApplication.java:210)
>         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:369)
>         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:619)
>         at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
>         at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
>         at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
>         at org.eclipse.core.launcher.Main.main(Main.java:34)
> An error has occurred. See the log file
> /Users/tedkirby/svn/gdvtls/eclipse-plugin/trunk/testsuite/launcher/eclipse/eclipse/jdt_folder/.metadata/.log.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.