Bug 760454 - update to 3.7.1-7 breaks pydev (and others)
Summary: update to 3.7.1-7 breaks pydev (and others)
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: eclipse
Version: 16
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Sami Wagiaalla
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 769532 772951 773132 773380 773581 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-12-06 09:02 UTC by Matthias Runge
Modified: 2016-06-07 22:46 UTC (History)
16 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-04-30 15:30:50 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
The debug log file of sample session non-functional pydev. (507.98 KB, text/plain)
2012-01-12 21:23 UTC, Alex
no flags Details
log file of a sample session with failing pydev. (725.33 KB, application/octet-stream)
2012-01-16 19:40 UTC, Alex
no flags Details
debug log of failing session (2.58 MB, text/plain)
2012-01-16 20:28 UTC, Serge Pavlovsky
no flags Details

Description Matthias Runge 2011-12-06 09:02:42 UTC
Description of problem:

the subject describes it. broken are (at least) pydev, jgit, php, 


downgrading helps
Removed:
  eclipse-jdt.x86_64 1:3.7.1-7.fc16         eclipse-pde.x86_64 1:3.7.1-7.fc16   
  eclipse-platform.x86_64 1:3.7.1-7.fc16    eclipse-rcp.x86_64 1:3.7.1-7.fc16   
  eclipse-swt.x86_64 1:3.7.1-7.fc16        

Installed:
  eclipse-jdt.x86_64 1:3.7.1-4.fc16         eclipse-pde.x86_64 1:3.7.1-4.fc16   
  eclipse-platform.x86_64 1:3.7.1-4.fc16    eclipse-rcp.x86_64 1:3.7.1-4.fc16   
  eclipse-swt.x86_64 1:3.7.1-4.fc16

Comment 1 Alexander Kurtakov 2011-12-06 09:09:04 UTC
Sami,
Please take a look.

Comment 2 Sami Wagiaalla 2011-12-07 17:49:40 UTC
I should mention that I am looking into this.
Matthias, thanks for testing and reporting.

Comment 3 Sami Wagiaalla 2011-12-09 04:05:01 UTC
The problem here is that the root bundles.info now contains org.eclipse.jdt.core which was not present in 1:3.7.1-4.fc16.

When you run eclipse 1:3.7.1-4.fc16 all the bundles in the root bundles.info is transfered to the user's bundles.info. Then when you upgrade to 1:3.7.1-7.fc16 and start eclipse it compares the root bundles.info with the user's bundles.info finds an extra bundle in the root one (org.eclipse.jdt.core) and decides to use the root one ignoring the user's one.

org.eclipse.jdt.core was introduced by this commit:

commit 61b11d443a76cbe4902091c546a2a1f03d06a8de
Author: Roland Grunberg <rgrunber>
Date:   Fri Nov 25 09:32:56 2011 -0500

    Re-apply "Upgrade to Tomcat 7 Jasper."
    
    This reverts commit ec169bcf9de5350f44b8de5b26005ed424628e5e.

I'll look into getting that bundle out of the build bundles.info otherwise the solution is to advice users to remove ~/.eclipse

Comment 4 Andrew Overholt 2011-12-09 14:02:05 UTC
(In reply to comment #3)
> I'll look into getting that bundle out of the build bundles.info otherwise the
> solution is to advice users to remove ~/.eclipse

Unfortunately it can't be removed because it needs to be there to break the loop between eclipse-platform and eclipse-jdt.

To avoid this situation in the future I think we should file a bug (and probably supply a patch for it) with p2 to make the reconciler inject new "root" IUs into the user's bundles.info if there are only additions when it compares the two bundles.info files.

Matthias, can you try the following:  close eclipse; mv ~/.eclipse{,.bak20111209}; start eclipse ?

Comment 5 Sami Wagiaalla 2011-12-09 16:15:15 UTC
> [...] make the reconciler inject new
> "root" IUs into the user's bundles.info if there are only additions when it
> compares the two bundles.info files.
>

I am just speculating but I think we can accomplish that by making the configurator default to the user's bundles.info instead of the root one in the case of a confusion. The rconciler is happy to inject bundles if it has permissions.

Comment 6 Sami Wagiaalla 2011-12-09 16:18:56 UTC
> [...] default to the user's bundles.info instead of the root one in the
> case of a confusion.

Better yet, check write permissions and pick the one for which Eclipse has those privileges. In the fedora case that would be the user's and in upstream case that would be the one in the installation root.

Comment 7 Matthias Runge 2011-12-09 19:12:17 UTC
Thank you guys for digging into this.

(In reply to comment #4)
> Matthias, can you try the following:  close eclipse; mv
> ~/.eclipse{,.bak20111209}; start eclipse ?
On another system this works for me, I didn't notice a regression. (pydev, I don't have currently access to my devel-system. 

I'm not convinced removing users .eclipse-dir from time to time will make users happy, avoiding this will definitely reduce amounts of bugzilla tickets.

Comment 8 Andrew Overholt 2011-12-09 19:28:14 UTC
(In reply to comment #7)
> Thank you guys for digging into this.
> 
> (In reply to comment #4)
> > Matthias, can you try the following:  close eclipse; mv
> > ~/.eclipse{,.bak20111209}; start eclipse ?
> On another system this works for me, I didn't notice a regression. (pydev, I
> don't have currently access to my devel-system. 

Odd.

> I'm not convinced removing users .eclipse-dir from time to time will make users
> happy, avoiding this will definitely reduce amounts of bugzilla tickets.

Agreed :)  It's nowhere near an ideal situation and we really want to avoid it at all costs.  This churn right now due to the JDT move is the cause but hopefully it won't happen again.  Sami's looking at making it so, at least.

Thanks for the bug report and following up on it!

Comment 9 Matthias Runge 2011-12-12 07:43:34 UTC
ok, confirming moving/removing ~/.eclipse-dir fixes this for me on my development-system, too.

Comment 10 Andrew Overholt 2011-12-21 13:44:08 UTC
*** Bug 769532 has been marked as a duplicate of this bug. ***

Comment 11 Alex 2012-01-10 12:38:31 UTC
Here deleting ~/.eclipse doesn't solve the issue. I'm not very familiar with eclipse configuration, so if you need further information to reproduce please contact me.

Comment 12 Alexander Kurtakov 2012-01-10 13:41:57 UTC
*** Bug 772951 has been marked as a duplicate of this bug. ***

Comment 13 Sami Wagiaalla 2012-01-10 14:29:45 UTC
Alex,

After you run eclipse a new .eclipse will be created. Please do that then post the output of the following command:

diff `find /usr/lib*/eclipse -name bundles.info` `find ~/.eclipse -name bundles.info`

Comment 14 Alex 2012-01-10 20:03:09 UTC
I pasted the output of the command to: http://pastebin.com/qGECC8FP

Comment 15 Alexander Kurtakov 2012-01-11 08:01:55 UTC
*** Bug 773132 has been marked as a duplicate of this bug. ***

Comment 16 Andrew Overholt 2012-01-11 17:51:47 UTC
*** Bug 773380 has been marked as a duplicate of this bug. ***

Comment 17 Martin Preisler 2012-01-12 13:37:12 UTC
*** Bug 773581 has been marked as a duplicate of this bug. ***

Comment 18 Sami Wagiaalla 2012-01-12 17:09:39 UTC
Alex,

Thanks for the info. Looking at the diff you've posted there are no obvious problems so I will need some more information to debug this:

- Which eclipse packages you have installed:
rpm -qa | grep eclipse

- Log of the eclipse startup process:
created a file ~/.options containing the following:
org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true
org.eclipse.equinox.p2.engine/engine/debug=true

then run eclipse with these flags:
eclipse -debug -consolelog -vmargs -Dosgi.checkConfiguration=true >& log

and attach the log file to this bug.

Meanwhile I will try to reproduce your bug locally.

Thanks

Comment 19 Sami Wagiaalla 2012-01-12 20:59:44 UTC
Okay I was able to figure out what plugins you had installed from the bundles.info diff you posted, but I am not able to reproduce the problem.

That log file should provide some hints.

One more question: Is it only pydev that dissappears or are the other plugins gone as well? Can you still see the C++ and Java prespectives for example ?

Comment 20 Alex 2012-01-12 21:23:27 UTC
Created attachment 552505 [details]
The debug log file of sample session non-functional pydev.

Comment 21 Alex 2012-01-12 21:24:39 UTC
wrd@atlas:~$ rpm -qa | grep eclipse
eclipse-vrapper-0.16.0-0.1.git3a2bac.fc16.noarch
eclipse-pydev-2.2.4-1.fc16.noarch
eclipse-pde-3.7.1-7.fc16.x86_64
eclipse-rcp-3.7.1-7.fc16.x86_64
icu4j-eclipse-4.4.2-2.fc16.x86_64
eclipse-emf-2.6.0-2.fc14.noarch
eclipse-cdt-8.0.0-5.fc16.x86_64
eclipse-cmakeed-1.1.5-2.fc15.noarch
eclipse-platform-3.7.1-7.fc16.x86_64
eclipse-rse-3.2-3.fc15.noarch
tomcat5-jasper-eclipse-5.5.31-3.fc15.noarch
eclipse-swt-3.7.1-7.fc16.x86_64
eclipse-jdt-3.7.1-7.fc16.x86_64
wrd@atlas:~$ 

My eclipse related packages. CDT and Java perspectives work as advertised.

Comment 22 Sami Wagiaalla 2012-01-13 20:16:46 UTC
So the fact that CDT and JDT plugins are present means that this is a different bug from the one originally described here, but I am still not able to reproduce this. Lets try one more thing:

with the same .options file as before do this:

rm -rf ~/.eclipse
eclipse -debug -consolelog >& log

and post the log here. This is the same command as before but without the vmargs

Comment 23 Serge Pavlovsky 2012-01-16 17:43:22 UTC
i lost cdt
-----
$ rpm -qa|grep eclipse
eclipse-nls-ru-3.6.0.v20100814043401-5.fc15.noarch
eclipse-swt-3.7.1-7.fc16.x86_64
eclipse-cdt-8.0.0-5.fc16.x86_64
eclipse-nls-3.6.0.v20100814043401-5.fc15.noarch
eclipse-emf-2.6.0-2.fc14.noarch
eclipse-rcp-3.7.1-7.fc16.x86_64
eclipse-platform-3.7.1-7.fc16.x86_64
icu4j-eclipse-4.4.2-2.fc16.x86_64
eclipse-rse-3.2-3.fc15.noarch
-----
$ cat .eclipse.log 
CompilerOracle: exclude org/eclipse/core/internal/dtree/DataTreeNode.forwardDeltaWith
CompilerOracle: exclude org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding.<init>
CompilerOracle: exclude org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.instantiateTemplate
CompilerOracle: exclude org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.addBinding
CompilerOracle: exclude org/python/pydev/editor/codecompletion/revisited/PythonPathHelper.isValidSourceFile
CompilerOracle: exclude org/python/pydev/ui/filetypes/FileTypesPreferencesPage.getDottedValidSourceFiles
Install location:
    file:/usr/lib64/eclipse/
Configuration file:
    file:/usr/lib64/eclipse/configuration/config.ini loaded
Configuration location:
    file:/home/pal/.eclipse/org.eclipse.platform_3.7.0_793567567/configuration
Configuration file:
    file:/home/pal/.eclipse/org.eclipse.platform_3.7.0_793567567/config.ini not found or not read
Shared configuration location:
    file:/usr/lib64/eclipse/configuration/
Framework located:
    file:/usr/lib64/eclipse/plugins/org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar
Framework classpath:
    file:/usr/lib64/eclipse/plugins/org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar
Splash location:
    /usr/lib64/eclipse/plugins/org.eclipse.platform_3.7.1.r371_v20110810-0800/splash.bmp
Debug options:
    file:/home/pal/.options not found
Time to load bundles: 4
!SESSION 2012-01-16 19:39:01.916 -----------------------------------------------
eclipse.buildId=R3_7_1
java.version=1.6.0_22
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=ru_RU
Command-line arguments:  -os linux -ws gtk -arch x86_64 -debug -consolelog

!ENTRY org.eclipse.equinox.p2.engine 4 4 2012-01-16 19:39:11.555
!MESSAGE An error occurred while installing the items
!SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2012-01-16 19:39:11.555
!MESSAGE session context was:(profile=PlatformProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null --> [R]com.sun.jna 3.2.7, action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction).
!SUBENTRY 1 org.eclipse.equinox.p2.touchpoint.eclipse 4 0 2012-01-16 19:39:11.555
!MESSAGE The artifact file for osgi.bundle,com.sun.jna,3.2.7 was not found.
Starting application: 9664

!ENTRY org.eclipse.ui 4 0 2012-01-16 19:39:15.818
!MESSAGE Unable to create editor ID org.eclipse.cdt.ui.editor.CEditor: No editor descriptor for id org.eclipse.cdt.ui.editor.CEditor
!STACK 1
org.eclipse.ui.PartInitException: No editor descriptor for id org.eclipse.cdt.ui.editor.CEditor
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:601)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
	at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271)
	at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1459)
	at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:972)
	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
	at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
	at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1595)
	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	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:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	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)
!SUBENTRY 1 org.eclipse.ui 4 0 2012-01-16 19:39:15.820
!MESSAGE No editor descriptor for id org.eclipse.cdt.ui.editor.CEditor

!ENTRY org.eclipse.ui 2 2 2012-01-16 19:39:15.879
!MESSAGE Ignored attempt to add saveable that was already registered
!STACK 0
org.eclipse.core.runtime.AssertionFailedException: unknown saveable: org.eclipse.ui.internal.DefaultSaveable@264532ba from part: org.eclipse.ui.internal.ErrorEditorPart@264532ba
	at org.eclipse.ui.internal.SaveablesList.logWarning(SaveablesList.java:187)
	at org.eclipse.ui.internal.SaveablesList.addModel(SaveablesList.java:117)
	at org.eclipse.ui.internal.SaveablesList.addModels(SaveablesList.java:289)
	at org.eclipse.ui.internal.SaveablesList.postOpen(SaveablesList.java:695)
	at org.eclipse.ui.internal.PartList.partOpened(PartList.java:234)
	at org.eclipse.ui.internal.PartList.access$0(PartList.java:210)
	at org.eclipse.ui.internal.PartList$1.propertyChanged(PartList.java:40)
	at org.eclipse.ui.internal.WorkbenchPartReference.fireInternalPropertyChange(WorkbenchPartReference.java:375)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:610)
	at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271)
	at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1459)
	at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:972)
	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
	at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
	at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1595)
	at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
	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:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	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)
Application Started: 15386
Start VM: /usr/bin/java
-Xms128m
-Xmx512m
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/usr/share/eclipse/dropins
-Dorg.eclipse.swt.browser.UseWebKitGTK=true
-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith
-XX:CompileCommand=exclude,org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding,<init>
-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates,instantiateTemplate
-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage,addBinding
-XX:CompileCommand=exclude,org/python/pydev/editor/codecompletion/revisited/PythonPathHelper,isValidSourceFile
-XX:CompileCommand=exclude,org/python/pydev/ui/filetypes/FileTypesPreferencesPage,getDottedValidSourceFiles
-XX:MaxPermSize=256m
-jar /usr/lib64/eclipse//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
-os linux
-ws gtk
-arch x86_64
-showsplash
-launcher /usr/lib64/eclipse/eclipse
-name Eclipse
--launcher.library /usr/lib64/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505/eclipse_1407.so
-startup /usr/lib64/eclipse//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.overrideVmargs
-exitdata 8f801f
-debug
-consolelog
-vm /usr/bin/java
-vmargs
-Xms128m
-Xmx512m
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/usr/share/eclipse/dropins
-Dorg.eclipse.swt.browser.UseWebKitGTK=true
-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith
-XX:CompileCommand=exclude,org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding,<init>
-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates,instantiateTemplate
-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage,addBinding
-XX:CompileCommand=exclude,org/python/pydev/editor/codecompletion/revisited/PythonPathHelper,isValidSourceFile
-XX:CompileCommand=exclude,org/python/pydev/ui/filetypes/FileTypesPreferencesPage,getDottedValidSourceFiles
-XX:MaxPermSize=256m
-jar /usr/lib64/eclipse//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar

Comment 24 Andrew Overholt 2012-01-16 18:38:29 UTC
Hi Serge,

I presume you've seen the standard blurb about this, but just in case you haven't:

This situation occurs because we had to break a packaging loop by moving a plugin from eclipse-jdt to eclipse-platform. Unfortunately, without invasive, fragile workarounds, the only way to fix this is to stop Eclipse, mv ~/.eclipse{,.bak} and restart Eclipse. Some user preferences may be lost and plugins you manually installed will be gone but you should get the RPM-installed plugins back and you'll be able to re-install anything you previously installed from within Eclipse.

We apologize for this issue and are working on a more robust solution to ensure it never happens again.

Comment 25 Alex 2012-01-16 19:40:41 UTC
Created attachment 555586 [details]
log file of a sample session with failing pydev.

This time at least an editor field opened (I ran yum update today) with python highlighting enabled. However as soon as I open the PyDev perspective all the toolbars disappear again.

Comment 26 Serge Pavlovsky 2012-01-16 20:28:28 UTC
Created attachment 555592 [details]
debug log of failing session

(In reply to comment #24)
> Hi Serge,
hi
> mv
> ~/.eclipse{,.bak} and restart Eclipse.
i tried to make log as per comment #22, so ~/.eclipse was removed, but i overlooked part about ~/.options (strange name btw)
reposting log with .options

Comment 27 Serge Pavlovsky 2012-01-17 14:22:51 UTC
also bundles.info is missing:
$ find ~/.eclipse -name bundles\*
/home/pal/.eclipse/org.eclipse.platform_3.7.0_793567567/configuration/org.eclipse.osgi/bundles

Comment 28 Sami Wagiaalla 2012-01-17 16:29:45 UTC
Hi Serge,

Looking at your log it looks like there is a problem loading com.sun.jna. We need to find out where that requirement is coming from.
First to make sure that you have a standard install post to output of this:

rpm -qV eclipse-rcp eclipse-platform

If that is clean try this:
rpm -qf /usr/lib*/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/*.profile.gz

If that is clean we'll try to figure it out from there.

Comment 29 Serge Pavlovsky 2012-01-17 20:08:13 UTC
(In reply to comment #28)
> rpm -qV eclipse-rcp eclipse-platform

clean
 
> rpm -qf
> /usr/lib*/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/*.profile.gz

file /usr/lib64/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/1322607155436.profile.gz is not owned by any package
file /usr/lib64/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/1325088444792.profile.gz is not owned by any package
file /usr/lib64/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/1326713794394.profile.gz is not owned by any package
file /usr/lib64/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/1326728692838.profile.gz is not owned by any package
file /usr/lib64/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/1326728697864.profile.gz is not owned by any package
file /usr/lib64/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/1326733325451.profile.gz is not owned by any package
file /usr/lib64/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/1326733330124.profile.gz is not owned by any package
file /usr/lib64/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/PlatformProfile.profile/1326733747113.profile.gz is not owned by any package

Comment 30 Sami Wagiaalla 2012-01-17 20:48:19 UTC
Okay it looks like your installation is different form a standard installation. You may have run eclipse as root at some point.

Try (as root) removing these orphaned .profile.gz files. If that does not work Try removing all eclipse packages; remove all unowned files in /usr/lib64/eclipse and reinstall all.

If there still is a problem please repost a log file.

Comment 31 Serge Pavlovsky 2012-01-18 00:38:09 UTC
(In reply to comment #30)
> Okay it looks like your installation is different form a standard installation.
> You may have run eclipse as root at some point.

yes, it was my standard reaction to missing plugins
 
> Try (as root) removing these orphaned .profile.gz files. If that does not work
> Try removing all eclipse packages; remove all unowned files in
> /usr/lib64/eclipse and reinstall all.

last options worked ( together with removing ~/.eclipse )

Comment 32 Sami Wagiaalla 2012-01-18 15:51:09 UTC
Serge, Great!

Alex,

It looks like you and I were looking at different bugs I was just trying to make sure that the PyDev perspective is present. But I am still unsuccessful in reproducing your problem. This is a shot in the dark but maybe you can try to solution described in comment 30.

Comment 33 Clive Messer 2012-02-21 00:14:16 UTC
Fedora 16 is supposed to be a stable release! Requiring me to nuke my .eclipse directory and lose configuration settings (user libraries, run/debug  configurations that will take me 5 hours to re-configure), just to be able to work on a Java project is not really acceptable in the middle of a stable release.

While I'm sure you had a good reason for sorting this packaging loop dependency, could it not have waited until F17? Is it a security issue?  Busting eclipse in this way in the middle of a stable release is not really on.

Comment 34 Alexander Kurtakov 2012-02-21 07:20:12 UTC
(In reply to comment #33)
> Fedora 16 is supposed to be a stable release! Requiring me to nuke my .eclipse
> directory and lose configuration settings (user libraries, run/debug 
> configurations that will take me 5 hours to re-configure), just to be able to
> work on a Java project is not really acceptable in the middle of a stable
> release.

We know and we are sorry about that and we work on upstream projects to prevent such cases.

> 
> While I'm sure you had a good reason for sorting this packaging loop
> dependency, could it not have waited until F17? 
No, but you're right that it should have gone in before F16 release we just didn't managed to do it in time.
> Is it a security issue? 
Sadly it was a security issue too. Because tomcat5 was not really maintained in the last few years hence security updates were applied with way too big delays if at all applied so we(Eclipse packagers) had no option but choose between losing user configurations or shipping a package including insecure libs. I know that tomcat5 is still in F16 but at least we are not exposing Eclipse users to its vulnerabilities. Believe it or not that was one of the main concerns when we have done this change. 

> Busting eclipse in this way in the middle of a stable release is not really on.

We are sorry again but Eclipse is high in the stack (read has many dependencies) and Eclipse packagers fail on keeping the whole stack working. If there were people actively working on lower stack this probably wouldn't have happened at all.

Comment 35 Sami Wagiaalla 2012-02-24 19:21:46 UTC
There might be a less severe workaround. You could try to update the ~/.eclipse/.../bundles.info with the missing bundle org.eclipse.jdt.core,3.7.1.v_B76_R37x,plugins/org.eclipse.jdt.core_3.7.1.v_B76_R37x.jar,4,false

Here is a script that does the above:

diff `find /usr/lib*/eclipse/ -name bundles.info` `find ~/.eclipse/ -name bundles.info` | grep "<" | sed s/"< "/""/ >> `find ~/.eclipse/ -name bundles.info`

Disclaimer: I have only tested this with the rpms listed in the original report to fix the issue in the original report (missing org.eclipse.jdt.core).


Note You need to log in before you can comment on or make changes to this bug.