Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 365908 - Regression: I20111206-1015 doesn't pick up any extensions when emf-2.7.1 is installed
Summary: Regression: I20111206-1015 doesn't pick up any extensions when emf-2.7.1 is i...
Status: CLOSED INVALID
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: 3.8.0 Juno   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: P2 Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-07 10:12 EST by Martin Oberhuber CLA
Modified: 2017-11-14 03:59 EST (History)
6 users (show)

See Also:


Attachments
config area, logs and batchfile (1.73 MB, application/octet-stream)
2011-12-07 10:12 EST, Martin Oberhuber CLA
no flags Details
Logs (374.42 KB, text/plain)
2011-12-07 10:50 EST, Martin Oberhuber CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Oberhuber CLA 2011-12-07 10:12:36 EST
Created attachment 208052 [details]
config area, logs and batchfile

Build ID: I20111206-1015 (4.2m4 candidate)

In order to integration test my project against the Release Train, I'm typically downloading a fresh Eclipse SDK, then copy *.link files into a space/dropins/ folder for picking up all the extensions I need, then launch with -configuration space/configuration.

This fails with I20111206-1015 in a strange way:

- Looking at About : Installed software, my extensions are all visible
- But looking at About : Plugins, all plugins are missing
    - Same for About : Features, and About : Configuration (extensions missing)
- But in the bundles.info file, all my extensions are listed (attached)

This is blocking my testing, since I can't easily get all my dependent extensions into Eclipse without major reinstall.

I checked back and noticed that 
- In 4.2m2, exactly the same setup did work as expected
- In 4.2m3, only RSE was picked up but CDT-8.0.1 was not (I didn't notice that)
- In I20111206-1015 RSE also isn't picked up any more. 
- Installing RSE from its Repo into I20111206-1015 works so it's not a
  bundle dependency problem.

I'm attaching a ZIP that has the batchfile I'm using to launch, as well as the config.log from "About:Configuration" and my entire configuration area (including bundles.info) and dropins and *.link files.
Comment 1 Martin Oberhuber CLA 2011-12-07 10:50:55 EST
Created attachment 208055 [details]
Logs

I tried installing my various extensions manually via the UI, and it looks like installing EMF-2.7.1 breaks things.

Steps to reproduce:
1. Launch I20111206-1015
2. Install something from the Indigo Repo, eg TM/RSE or CDT, Restart
   --> The extension is visible (RSE or CDT Perspective
3. Install EMF-2.7.1 from Indigo
   --> Note that EMF common is "not installed because a newer version is
       already installed"
4. Restart
   --> TM, RSE plugins gone.

There's also a couple odd error messages in the log (log attached; note that some of the older log entries may be from previous runs in that workspace with older versions of Eclipse, but the recent ones are all from I20111206-1015).
Comment 2 Martin Oberhuber CLA 2011-12-07 10:57:11 EST
Confirmed that reverting the emf-2.7.1 install via About:Configuration brings back the CDT, RSE, eGit etc UI contributions.

An incompatibility like that shouldn't happen with proper dependencies ?!?

This log entry remains:

Exception while dispatching event org.osgi.service.event.Event [topic=org/eclipse/e4/ui/model/application/ApplicationElement/tags/ADD] to handler org.eclipse.e4.ui.services.internal.events.UIEventHandler@16437f7
java.lang.NullPointerException
	at org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon.getBarForElement(MinMaxAddon.java:742)
Comment 3 Martin Oberhuber CLA 2011-12-07 11:21:46 EST
Not a blocker for me any more since getting rid of the emf-2.7.1 extension got my original configuration back. Updating Summary to reflect recent findings.

I'm still concerned that 4.2m4 candidate seems to be incompatible with emf-2.7.1 since there may be products / extensions which depend on emf, pull in emf from indigo, and thus run into this problem.
Comment 4 DJ Houghton CLA 2011-12-07 12:37:57 EST
I followed the steps in comment 1 and it worked fine for me on my Mac. I will try the same on Win7.
Comment 5 DJ Houghton CLA 2011-12-07 13:46:13 EST
I've done the steps and installed from the UI from comment 1 on both mac and win7 without problems. I also tried following the same steps and using link files to "install" both RSE and EMF and it also worked ok.
Comment 6 Martin Oberhuber CLA 2011-12-07 19:54:36 EST
Hm... strange. I reproduced the issue 3 times on a blank empty config area. Host was Win7-64bit with a 32bit Oracle jre6u25. For now I'm reducing severity since this seems to be more of a special case.

One thing I did "specially" when I installed from the UI, was install from my local extension locations rather than the online repos. I didn't want to redownload everything but use what I had.

Maybe reproducing the issue takes more extensions than just TM / CDT + emf2.7.1 ... I'll try again later this week.

Is there any comment on the logs I saw (NPE)? Any additional tracing I could add? Anything else to track this down?
Comment 7 Paul Webster CLA 2011-12-08 14:04:04 EST
Eric, can you comment on comment #2?

PW
Comment 8 DJ Houghton CLA 2011-12-16 13:25:55 EST
Eric is gone for the holidays so we will have to wait until the new year before we hear from him.

If you turn on some of the tracing options you can see more info about the reconciler, the profile change request it is building, the plan that is generates, and the operations it performs. Things installed through the links folder is like using the drop-ins and thus everything is considered optional so if something doesn't get installed, we don't always say why.

org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true

There are more debug options listed in the .options file in the org.eclipse.equinox.p2.core project which might be helpful too. 

I usually also run with -console and then do an "ss" once I've started up. If you see any bundles in the "INSTALLED" state it means there is a problem and they can't be RESOLVED. Try typing "start xxx" where xxx is the bundle id number, and you should get a message printed out why the bundle couldn't be resolved.
Comment 9 Mickael Istria CLA 2017-11-14 03:59:16 EST
Let's mark this extremely old bug as out-of-date and INVALID.