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

Bug 294535

Summary: [shared] Conflicts between elements of user installed content could cause loss of previously installed content
Product: [Eclipse Project] Equinox Reporter: Dave <davidkwood>
Component: p2Assignee: Simon Kaegi <simon_kaegi>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P3 CC: dk, eclipse10, eclipse, jamesblackburn+eclipse, mfrim, Olivier_Thomann, pascal, polet82, remy.suen, thatnitind
Version: 3.5.1   
Target Milestone: 3.6 M7   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Dave CLA 2009-11-07 17:20:28 EST
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.14) Gecko/2009090217 Ubuntu/9.04 (jaunty) Firefox/3.0.14
Build Identifier: M20090917-0800

With 3.3 and 3.4, I would download the IDE for Java, and install CDT, Subclipse, and PyDev. This worked without a problem. With 3.5+, this stopped working, and the failure mode was awful - the plugins would install but not appear in the UI, yet there would be no error messages or other indication of why or what was wrong, and the plugins were still visible in the Installation Details. 

When attempting the same steps with Classic (i.e. the SDK), everything works fine.

It appears that there are two serious problems here:

1. There is a major regression re. plugins in 3.5 in the IDE for Java
2. There is a serious problem with error handling and/or logging 

Reproducible: Always

Steps to Reproduce:
1. Download and extract Eclipse IDE for Java 3.5.1 or IDE for J2EE 3.5.1.
2. Start completely clean: rm -rf ~/.eclipse ~/workspace/.metadata 
3. Launch eclipse
4. Help -> Install New Software..., then specify the URL for CDT ( http://download.eclipse.org/tools/cdt/releases/galileo)
5. Complete the installation. (I selected core components plus build, debugging, gdb integration, memory visualization). Eclipse will restart.
6. So far so good. CDT features may appear in the UI. 
7. Help -> Install New Software..., then specify the URL for subclipse (http://subclipse.tigris.org/update_1.6.x) 
8. Complete the installation. I use SVN kit rather than JNA or JavaHL, and I leave out mylyn and the graph. Eclipse will restart.
9. When eclipse restarts, neither CDT nor Subclipse features will be present in the UI, nor will their preferences be available in the preferences panel. You will be able to see these plugins in the Installation Details. There will be no output of significance on the console, nor in the Error Log. 

If you go into the Installation Details and uninstall one of the plugins, the problem will still remain. I.e. if I uninstall subclipse, CDT UI/preferences/features will not return.

I have also reproduced this by using pydev and subclipse, or pydev and CDT. (My project includes C, Java and Python). 

NOTE: If I attempt the same steps with Eclipse Classic (SDK), everything works as expected.
Comment 1 Olivier Thomann CLA 2009-11-07 18:13:48 EST
Move to CDT
Comment 2 Dave CLA 2009-11-07 18:30:51 EST
I am just curious how this can be CDT related if you can reproduce the bug without CDT? With pydev and subclipse, for instance?
Comment 3 polet82 CLA 2009-12-10 00:33:14 EST
It has nothing to do with CDT.

I have PyDev installed. Once I update Eclipse, PyDev is gone.
Same with Subclipse.

I'm sick of reinstalling Eclipse and PyDev every time I accidentally run update.
Comment 4 Mark Frimston CLA 2010-02-28 09:06:21 EST
I experienced the same symptoms as these. With a fresh install of 3.5.1, after installing certain plugins via the update manager, all plugins would disappear from the UI, even though they still reported as installed on the "about" dialog.

So for example, I could install PyDev and this would be fine - I could then create PyDev projects and so on. But if I then installed another plugin such as CDT or the J2EE tools, when Eclipse restarted all the UI options relating to all of the installed plugins would have disappeared - not able to create PyDev projects, CDT projects, or open the relevant perspectives.

For me, it seems there was a linux permissions problem. After reinstalling eclipse and this time granting the current user write permissions to the eclipse installation directory, the update manager worked fine and plugins could be installed successfully.

But there is definately a problem here as no errors were reported in the log!
Comment 5 James Blackburn CLA 2010-02-28 10:00:47 EST
(In reply to comment #1)
> Move to CDT

Olivier not really sure why you moved this to CDT if it can be reproduced without CDT being involved. Sounds like a P2 provisioning issue, I don't believe the standard cdt feature does anything special in this regard...
Comment 6 Dave CLA 2010-02-28 10:29:37 EST
> > Move to CDT
> 
> Olivier not really sure why you moved this to CDT if it can be reproduced
> without CDT being involved. Sounds like a P2 provisioning issue, I don't
> believe the standard cdt feature does anything special in this regard...

I asked why this bug was moved to CDT, and there was no answer. That was months ago. This is obviously not a CDT issue. I don't want to tell someone else how to run their issue tracker, but I would recommend keeping this issue classified properly so that there is greater hope the bug will be fixed.
Comment 7 Pascal Rapicault CLA 2010-02-28 21:40:05 EST
Hi Dave, I have just tried this today (using CDT content from the recently released Galileo SR2) and I can not reproduce the problem. Can you reproduce it again?
Comment 8 Olivier Thomann CLA 2010-03-01 07:31:52 EST
(In reply to comment #5)
> Olivier not really sure why you moved this to CDT if it can be reproduced
> without CDT being involved. Sounds like a P2 provisioning issue, I don't
> believe the standard cdt feature does anything special in this regard...
My mistake. I should have moved it to p2.
Comment 9 Michael Nugent CLA 2010-03-06 15:27:01 EST
I had this issue with 3.5.1, but after moving to 3.5.2 it seems to have cleared up.  I had to delete my entire install including my .eclipse directory, but having no problems now.

Platform: Windows Vista, Sun Java, Using both Python and IronPython and all stable (as opposed to dev or nightly build) versions of pyDev, Egit and Subclipse.
Comment 10 Derry CLA 2010-03-07 05:37:50 EST
I am also experiencing this problem, repeatably, on 3.5.0, 3.5.1 and 3.5.2. I am on Windows Vista, and have used various pairs of PyDev, Subclipse and Instantiations Window Builder. In all cases the first software installation after the new Eclipse installation works, and the second one causes the first's features and plugins (but not the installed software items) to disappear. I'm not able to use Eclipse at the moment. Several have remarked on a permissions problem, but I'm not sure how that applies to Windows.
Comment 11 Derry CLA 2010-03-07 12:05:21 EST
I think this is in fact a file security problem in the installation directory, as others have noted. My installation had been a subdirectory of "Program Files" (in Windows Vista) which is restricted by Windows User Account Control. I reinstalled it in a subdirectory of C:\ and now the problem no longer occurs. Under "Program Files", my installation worked correctly a few months ago, with 3.5.1, and now it fails there without any Eclipse changes. My theory is that some Vista update changed the behavior of User Account Control enough to provoke the permissions bug.

Bottom line: Do not install Eclipse under "Program Files" in Windows Vista. The good news is that this appears to provide a solidly repeatable test case for the root cause. Contact me if additional information is required.
Comment 12 Michael Nugent CLA 2010-03-07 16:54:04 EST
Re: Vista UAC

I did have Eclipse 3.5.1 installed in the program files directory, but I made no changes to Vista when upgrading to 3.5.2 which began working.  It may be UAC related, but, from here, that isn't the only thing.
Comment 13 Pascal Rapicault CLA 2010-03-11 20:34:26 EST
Re-reading the explanations it looks like this issue could be caused by conflicts between the dependencies of the various plug-ins installed in the user space. this could be happening if the user installed bundle were only marked optionally in the profile (just a thought).
Comment 14 Derry CLA 2010-03-12 01:22:49 EST
That doesn't seem to likely to me, at least for my experience of the issue. Installing in C:\Eclipse vs. C:\Program Files\Eclipse does not cause any change in dependencies, and yet it eliminates the problem. The old title of this case did describe the problem I experienced, but the new title doesn't, so let me know if I should report it as a new case so it does not get lost.
Comment 15 Michael Nugent CLA 2010-03-12 04:24:00 EST
Also, in regards to the \Program Files, it installs user plugins in C:\User\<User>\.eclipse on my Vista system.
Comment 16 dye CLA 2010-04-14 14:35:45 EDT
I experienced a similar problem with Eclipse 3.5 SR2, build 20100218-1602, the current stable version available at http://www.eclipse.org/downloads/.  After installing the second in a set of plugins - TestNG, p4wsad, FindBugs - the previous plugin installed ceased to work, and all further plugins installed didn't work.  In the case of p4wsad, there was no Perforce perspective listed and no team option for sharing the project; in the case of FindBugs, the right-click menu options were not present; and in the case of TestNG, the test view was not present.

I had the same problem on two GNU/Linux instances, both running Gnome 2.28:
32bit Gentoo running 2.6.30-tuxonice-r6
64bit Debian squeeze running 2.6.32-9

The problem did not present when I tried gentoo-provided Eclipse versions 3.4-r2
and 3.5.1-r1, build M20090917-0800.
Comment 17 Simon Kaegi CLA 2010-04-20 15:12:51 EDT
Fixed as part of bug 287246