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

Bug 301139

Summary: Errors on startup after update
Product: [Eclipse Project] Equinox Reporter: DJ Houghton <dj.houghton>
Component: p2Assignee: P2 Inbox <equinox.p2-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: major    
Priority: P3 CC: curtis.windatt.public, daniel_megert, darin.eclipse, kim.moir, pascal, stephan.herrmann, tjwatson
Version: 3.6   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
log none

Description DJ Houghton CLA 2010-01-28 10:13:02 EST
- download, unzip, start up i0127-0100
- add i-build update site (http://download.eclipse.org/eclipse/updates/3.6-I-builds)
- check for updates
- update to i0127-1800
- get a bunch of errors in the log on startup
- plug-ins in my workspace are in a weird state with compile errors, etc presumably because dependent bundles containing builders couldn't be started.

Caused by: java.lang.IllegalArgumentException: The service parameter is null
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:167)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:507)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:525)
	at org.eclipse.equinox.internal.p2.engine.EngineActivator.addingService(EngineActivator.java:72)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)
	at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:184)
	at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:339)
	at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:273)
	at org.eclipse.equinox.internal.p2.engine.EngineActivator.start(EngineActivator.java:94)
Comment 1 DJ Houghton CLA 2010-01-28 10:21:16 EST
Created attachment 157527 [details]
log
Comment 2 DJ Houghton CLA 2010-01-28 10:26:18 EST
Relevant comments from bug 301138:

Both Darin and I updated this morning to I20100127-1800 from yesterday's I
build.  The update appeared to complete successfully, but after restart there
are problems building.

The PDE Core bundle is unable to start, so our builders fail and none of the
PDE UI is available.  While we don't use p2 services during the bundle start
method, we do access them as soon as the PDE model manager gets initialized
(which is on workbench startup for people who have PDE editors open).

Opening the about dialog > installation details I have a message that says
"Plug-in org.eclipse.equinox.p2.ui.sdk was unable to load class
org.eclipse.equinox.p2.ui.InstalledSoftwarePage"

Marking as major as this cripples the current build if you upgrade.  Note that
downloading from the site works fine.  I cannot revert to an earlier install
because the installation details page won't open.
Comment 3 DJ Houghton CLA 2010-01-28 10:26:48 EST
*** Bug 301138 has been marked as a duplicate of this bug. ***
Comment 4 Pascal Rapicault CLA 2010-01-28 10:58:30 EST
Running with -clean addresses the issue.
Comment 5 John Arthorne CLA 2010-01-28 11:09:40 EST
I don't know why this only surfaced now but this looks like another example of bug 300692. The Engine activator is trying to obtain a service that should have been registered by a DS component declared in the same bundle.
Comment 6 Stephan Herrmann CLA 2010-01-28 11:16:21 EST
(In reply to comment #5)
> I don't know why this only surfaced now but this looks like another example of
> bug 300692. The Engine activator is trying to obtain a service that should have
> been registered by a DS component declared in the same bundle.

That's what I was thinking.

Is there a chance to get the fix in bug 300692 into M5?
Comment 7 Thomas Watson CLA 2010-01-28 13:03:37 EST
(In reply to comment #5)
> I don't know why this only surfaced now but this looks like another example of
> bug 300692. The Engine activator is trying to obtain a service that should have
> been registered by a DS component declared in the same bundle.

This is related to bug 300692.  The issue is an install ordering issue.  In this case exemplary setup has a lower bundle ID than the engine bundle.  This is because engine was updated and re-installed so got a higher ID.  This causes the same issue as bug 300692 where the lazy event for engine is not getting fired before we enter the Activator.start() method.  The patch in bug 300692 fixes the issue.

I need to review with the team to make sure the logic is correct in the patch.  I also need to run the patch against the OSGi CT to make sure it is working correctly before considering for M5.
Comment 8 Thomas Watson CLA 2010-01-28 14:01:08 EST
Resolving as a dup.  The fix in bug 300692 will fix this issue.  We are going to release the fix for M5.  Expect a rebuild request soon.

*** This bug has been marked as a duplicate of bug 300692 ***