[jbosstools-issues] [JBoss JIRA] (JBIDE-11666) Add -XstartOnFirstThread as a command line argument for Mac

Nick Boldt (JIRA) jira-events at lists.jboss.org
Thu Apr 26 11:36:18 EDT 2012


    [ https://issues.jboss.org/browse/JBIDE-11666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12688073#comment-12688073 ] 

Nick Boldt commented on JBIDE-11666:
------------------------------------

We already have a profile for this, which sets systemProperties:

{code}                <profile>
                        <id>osx</id>
                        <activation>
                                <property>
                                        <name>java.vendor.url</name>
                                        <value>http://www.apple.com/</value>
                                </property>
                        </activation>
                        <properties>
                                <!-- THE FOLLOWING LINE MUST NOT BE BROKEN BY AUTOFORMATTING -->
                                <systemProperties combine.children="append"> -d32 -Dosgi.arch=x86 -XstartOnFirstThread </systemProperties>
                        </properties>
                </profile>
{code}
Does that also work for tests, or do we need to have that profile also override this string?
{code}
<argLine>${tycho.testArgLine} ${memoryOptions1} ${memoryOptions2} ${systemProperties} -Dusage_reporting_enabled=false</argLine>
{code}
Is it possible that the specific test you're running overrides the configuration for the tycho-surefire-plugin plugin in its pom.xml?

Or is it possible that the vendor string for YOUR JDK isn't matching this name/value pair?

{code}<name>java.vendor.url</name>
<value>http://www.apple.com/</value>{code}

                
> Add -XstartOnFirstThread as a command line argument for Mac
> -----------------------------------------------------------
>
>                 Key: JBIDE-11666
>                 URL: https://issues.jboss.org/browse/JBIDE-11666
>             Project: Tools (JBoss Tools)
>          Issue Type: Feature Request
>          Components: Build/Releng
>    Affects Versions: 3.3.0.Beta3
>            Reporter: Lucia Jelinkova
>            Assignee: Nick Boldt
>
> I am trying to run SWTBot tests on Jenkins on a Mac OS slave. By default, it fails with the following error:
> {code}
> rg.eclipse.swt.SWTException: Invalid thread access
> 	at org.eclipse.swt.SWT.error(SWT.java:4282)
> 	at org.eclipse.swt.SWT.error(SWT.java:4197)
> 	at org.eclipse.swt.SWT.error(SWT.java:4168)
> 	at org.eclipse.swt.widgets.Display.error(Display.java:1065)
> 	at org.eclipse.swt.widgets.Display.createDisplay(Display.java:822)
> 	at org.eclipse.swt.widgets.Display.create(Display.java:805)
> 	at org.eclipse.swt.graphics.Device.<init>(Device.java:130)
> 	at org.eclipse.swt.widgets.Display.<init>(Display.java:696)
> 	at org.eclipse.swt.widgets.Display.<init>(Display.java:687)
> 	at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:716)
> 	at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
> 	at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:153)
> 	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:95)
> 	at org.eclipse.tycho.surefire.osgibooter.UITestApplication.runApplication(UITestApplication.java:31)
> 	at org.eclipse.tycho.surefire.osgibooter.AbstractUITestApplication.run(AbstractUITestApplication.java:114)
> 	at org.eclipse.tycho.surefire.osgibooter.UITestApplication.start(UITestApplication.java:37)
> 	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:344)
> 	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:622)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
> 	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
> {code}
> I've found out that the Display needs to be created on thread 0 - this can be accomplished by adding -XstartOnFirstThread as a VM argument. However, the VM on Linux cannot handle the parameter, so it needs to be specified only for Mac. 
> In order not to repeat the configuration in every test module. Could you please provide a new profile in parent pom activated for Mac that would add the mentioned parameter to the tycho-surefire-plugin's argLine property?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbosstools-issues mailing list