Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 328146 - self update: Garbage Collector deletes most of my old "org.eclipse.equinox.launcher.win32.win32.x86" bundle, leaves on .dll behind, which makes eclipse crash
Summary: self update: Garbage Collector deletes most of my old "org.eclipse.equinox.la...
Status: CLOSED DUPLICATE of bug 304639
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 critical (vote)
Target Milestone: ---   Edit
Assignee: P2 Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-19 11:33 EDT by Helmut J. Haigermoser CLA
Modified: 2010-10-21 08:08 EDT (History)
0 users

See Also:


Attachments
A log file showing the huge problems we run into if parts of a bundle remain behind... (34.02 KB, application/octet-stream)
2010-10-19 11:34 EDT, Helmut J. Haigermoser CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Helmut J. Haigermoser CLA 2010-10-19 11:33:14 EDT
Build Identifier: 3.6 final

Just tried to self-update my RCP from 3.6 base to 3.6.1 base. It almost worked, but for one thing: When restarting an application error happens:

!MESSAGE Unexpected exception occurred loading manifest for bundle at the location: reference:file:plugins/org.eclipse.equinox.launcher.win32.win32.x86_<old>/.

This seems to be a huge issue since the whole SimpleConfigurator bundle seems to be unusable from that point on.

Looking closer at the issue I saw the problem: The garbage collector got rid of the no longer needed bundles, including the old "org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503" bundle. However, it could not remove one file in there, the file "eclipse_1307.dll" was still in use and remained. So, my plugins directory contains a bundle with only one file, a dll, and no manifest or plugin.xml

I was able to work around the issue by removing the lone directory including the single dll, but that's obviously no solution for our customers, so I'd like you guys to look at the problem.

Part of the question is why Eclipse seems to behave differently than my RCP. I tried to reproduce the same thing when updating Eclipse 3.6 to 3.6.1 but failed to do so. The garbage collector seemed to leave behind all "directory released" bundles in the plugins directory, it only deleted the jar'ed bundles. So, if I could tell my RCP to do the same this bug could be worked around.

Still, this nasty NullPointerException(see attached log file) leading to an unusable SimpleConfigurator bundle should be fixed despite me getting a workaround since it could cause other problems as well..

Please let me know what you think!
Helmut

Reproducible: Always

Steps to Reproduce:
1. Have a Windows RCP, base it on 3.6
2. Update that RCP to 3.6.1
3. Upon restart watch the RCP log an error and crash
Comment 1 Helmut J. Haigermoser CLA 2010-10-19 11:34:46 EDT
Created attachment 181194 [details]
A log file showing the huge problems we run into if parts of a bundle remain behind...
Comment 2 Helmut J. Haigermoser CLA 2010-10-21 08:08:58 EDT
Guys, I'm marking this as a duplicate of the real problem:
The SimpleProfileRegistry changed in 3.6 such that it does not recognize the SELF profile for our RCP anymore. Debugging the issue and recognizing the faulty part lead to a workaround we can release with but I'm still hoping we can work together in getting the profile registry fixed.. :)
Helmut

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