Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Weird error when using p2-installable-unit

> just realized that we put -d32 to ensure it uses 32bit jam for testing, but maybe the platform configuration
> sees we are running 64bit and resolves against that ?

So I removed the -d32 and arch poperty and now it starts up (hinting its running via 64bit but now
the launcher.macosx is not being installed resulting in failure.

Feel there is some combo that should work …. just not finding it.
/max

> 
> /max
> 
> On Nov 29, 2011, at 19:50, Igor Fedorenko wrote:
> 
>> Can you attach -X -Dtycho.debug.resolver=<artufactId> log for the SWT failure?
>> 
>> --
>> Regards,
>> Igor
>> 
>> On 11-11-29 1:47 PM, Max Rydahl Andersen wrote:
>>> 
>>> every attempt I do on this causes SWT errors for me when running the tests.
>>> 
>>> I'm lost :(
>>> 
>>> /max
>>> 
>>> On Nov 29, 2011, at 17:26, Igor Fedorenko wrote:
>>> 
>>>> <environments combine.self="override">  workaround works for the small
>>>> example project I setup (see attached).
>>>> 
>>>> For the proper solution I've opened
>>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=365090
>>>> 
>>>> --
>>>> Regards,
>>>> Igor
>>>> 
>>>> On 11-11-29 6:51 AM, Max Rydahl Andersen wrote:
>>>>>> Looks like your build has multiple os/ws/arch configured and resolution
>>>>>> fails when trying to resolve for win32/win32/x86 combo. Here is the
>>>>>> relevant log message (from right above the error ;-) )
>>>>> 
>>>>> Couldn't see the forrest for trees.
>>>>> 
>>>>>> [INFO] Cannot complete the request.  Generating details.
>>>>>> [INFO] {org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1, osgi.ws=win32, osgi.arch=x86, osgi.os=win32, org.eclipse.update.install.features=true, org.osgi.framework.system.packages=}
>>>>>> [ERROR] Cannot resolve project dependencies:
>>>>>> [ERROR]   You requested to install 'bundle org.eclipse.jdt.launching.macosx 3.2.100.v20110509' but it could not be found
>>>>>> 
>>>>>> 
>>>>>> Try adding the following to your test project pom.xml (insert<version>,
>>>>>> if you don't have corresponding<pluginManagement>).
>>>>>> 
>>>>>> 
>>>>>> <build>
>>>>>>   <plugins>
>>>>>>     <plugin>
>>>>>>       <groupId>org.eclipse.tycho</groupId>
>>>>>>       <artifactId>target-platform-configuration</artifactId>
>>>>>>       <configuration>
>>>>>>         <environments combine.self="override">
>>>>>>         </environments>
>>>>>>       </configuration>
>>>>>>     </plugin>
>>>>>>   </plugins>
>>>>>> </build>
>>>>> When I do that I get:
>>>>> 
>>>>> !ENTRY org.eclipse.osgi 4 0 2011-11-29 12:47:59.109
>>>>> !MESSAGE An error occurred while automatically activating bundle org.eclipse.ui.workbench (147).
>>>>> !STACK 0
>>>>> org.osgi.framework.BundleException: The activator org.eclipse.ui.internal.WorkbenchPlugin for bundle org.eclipse.ui.workbench is invalid
>>>>>        at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:171)
>>>>>        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679)
>>>>>        at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
>>>>> …
>>>>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>>>>>        at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)
>>>>>        at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
>>>>>        at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1207)
>>>>>        at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
>>>>>        at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
>>>>>        at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
>>>>>        at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
>>>>>        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:191)
>>>>>        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)
>>>>> Caused by: java.lang.NoClassDefFoundError: org/eclipse/swt/SWTError
>>>>>        at java.lang.Class.getDeclaredConstructors0(Native Method)
>>>>>        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
>>>>>        at java.lang.Class.getConstructor0(Class.java:2699)
>>>>>        at java.lang.Class.newInstance0(Class.java:326)
>>>>>        at java.lang.Class.newInstance(Class.java:308)
>>>>>        at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:166)
>>>>>        ... 34 more
>>>>> Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.SWTError
>>>>>        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
>>>>>        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
>>>>>        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
>>>>>        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
>>>>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>>>>>        ... 40 more
>>>>> 
>>>>> If I actually go and physically remove the other target platforms in my parent:
>>>>> 
>>>>> <plugin>
>>>>>                                <groupId>org.eclipse.tycho</groupId>
>>>>>                                <artifactId>target-platform-configuration</artifactId>
>>>>>                                <version>${tychoVersion}</version>
>>>>>                                <configuration>
>>>>>                                        <resolver>p2</resolver>
>>>>>                                        <ignoreTychoRepositories>true</ignoreTychoRepositories>
>>>>>                                        <environments>
>>>>>                                                <environment>
>>>>>                                                        <os>macosx</os>
>>>>>                                                        <ws>cocoa</ws>
>>>>>                                                        <arch>x86</arch>
>>>>>                                                </environment>
>>>>>                                        </environments>
>>>>>                                </configuration>
>>>>>                        </plugin>
>>>>> 
>>>>> 
>>>>> Then it works!
>>>>> 
>>>>> That is just weird because we got other stuff that is os specific.
>>>>> 
>>>>> /max
>>>>> 
>>>>> 
>>>>> 
>>>>>> 
>>>>>> 
>>>>>> This should tell Tycho to only resolve test project's dependencies for
>>>>>> the current os/ws/arch. If this helps, please open a bugreport, Tycho
>>>>>> should only resolve test runtime for the current system's os/ws/arch.
>>>>>> 
>>>>>> --
>>>>>> Regards,
>>>>>> Igor
>>>>>> 
>>>>>> 
>>>>>> On 11-11-28 7:45 PM, Max Rydahl Andersen wrote:
>>>>>>>> You should see way more logs
>>>>>>> 
>>>>>>> Yeah, I got it now.
>>>>>>> 
>>>>>>>> For p2 you should see entire resolver data flow, separately for each os/ws/arch combo enabled in target resolver configuration
>>>>>>>> * Available IUs: shows all installable units visible to the project
>>>>>>> 
>>>>>>> Yes, launching.macosx is listed here
>>>>>>>> * Root IUs: shows project installable unit(s)
>>>>>>> 
>>>>>>> 
>>>>>>> Yes, launching.macosx is listed here
>>>>>>> 
>>>>>>>> * Extra IUs: shows installable units generated from<dependency/>
>>>>>>>> elements
>>>>>>> 
>>>>>>> 
>>>>>>> Yes, launching.macosx is listed here
>>>>>>> 
>>>>>>>> * Slice: shows installable units "reachable" from the root and extra IUs
>>>>>>> 
>>>>>>> its not listed here and then I get the error about it being non resolvable with no explanation ;(
>>>>>>> 
>>>>>>> I've taken the liberty to attach my raw log file for the output in case you can spot anything out of the ordinary.
>>>>>>> 
>>>>>>> Note, i've got rid of the object team feature problem so now i'm just trying to grok why it won't install this plugin ;(
>>>>>>> 
>>>>>>> I also tried the trick about only enabling it conditionally in a profile but when I did that it never gets attempted to be installed (which surprises me)
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> * Resolved IUs: shows IUs after resolving all conflicts and duplicates
>>>>>>>> 
>>>>>>>> 
>>>>>>>> For equinox
>>>>>>>> * Resolved OSGi state: resolved OSGi state, i.e. RESOLVED lines you see
>>>>>>>> 
>>>>>>>> --
>>>>>>>> Regards,
>>>>>>>> Igor
>>>>>>>> 
>>>>>>>> On 11-11-28 10:32 AM, Max Rydahl Andersen wrote:
>>>>>>>>>>>> Running the build with -X -Dtycho.debug.resolver=<artifactId>      will
>>>>>>>>>>>> provide detailed information about dependency resolution, starting with
>>>>>>>>>>>> all installable units visible to the project.
>>>>>>>>>>> 
>>>>>>>>>>> Okey, I'll try see what that will give me.
>>>>>>>>>>> 
>>>>>>>>>>> I looked in the code and I couldn't find a place where tycho.debug.resolver was used for anything beyond a boolean flag.
>>>>>>>>>>> Where is the artifactid taken into account ?
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> DebugUtils checks for project artifactId
>>>>>>>>>> 
>>>>>>>>>> http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/tree/tycho-core/src/main/java/org/eclipse/tycho/core/osgitools/DebugUtils.java
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Ah gothca!
>>>>>>>>> 
>>>>>>>>> Thought you mean tycho.debug.resolver=<pluginid>     so I had tycho.debug.resolver=org.eclipse.jdt.launching.macosx and saw no diff output.
>>>>>>>>> 
>>>>>>>>> With tycho.debug.resolver=<my project artifactid>     I get a lot of RESOLVED: lines - I assume that is what you referenced to?
>>>>>>>>> 
>>>>>>>>> /max
>>>>>>>>> http://about.me/maxandersen
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> tycho-user mailing list
>>>>>>>>> tycho-user@xxxxxxxxxxx
>>>>>>>>> https://dev.eclipse.org/mailman/listinfo/tycho-user
>>>>>>>> _______________________________________________
>>>>>>>> tycho-user mailing list
>>>>>>>> tycho-user@xxxxxxxxxxx
>>>>>>>> https://dev.eclipse.org/mailman/listinfo/tycho-user
>>>>>>> 
>>>>>>> /max
>>>>>>> http://about.me/maxandersen
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> tycho-user mailing list
>>>>>>> tycho-user@xxxxxxxxxxx
>>>>>>> https://dev.eclipse.org/mailman/listinfo/tycho-user
>>>>>> _______________________________________________
>>>>>> tycho-user mailing list
>>>>>> tycho-user@xxxxxxxxxxx
>>>>>> https://dev.eclipse.org/mailman/listinfo/tycho-user
>>>>> 
>>>>> /max
>>>>> http://about.me/maxandersen
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> tycho-user mailing list
>>>>> tycho-user@xxxxxxxxxxx
>>>>> https://dev.eclipse.org/mailman/listinfo/tycho-user
>>>> <multienv.zip>_______________________________________________
>>>> tycho-user mailing list
>>>> tycho-user@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/tycho-user
>>> 
>>> /max
>>> http://about.me/maxandersen
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> tycho-user mailing list
>>> tycho-user@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/tycho-user
>> _______________________________________________
>> tycho-user mailing list
>> tycho-user@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/tycho-user
> 
> /max
> http://about.me/maxandersen
> 
> 
> 

/max
http://about.me/maxandersen





Back to the top