Bug 262295 - [3.5] [plan] [weaving-service] Equinox weaving cannot start when org.eclipse.equinox.hook is not in same directory as osgi bundle
Summary: [3.5] [plan] [weaving-service] Equinox weaving cannot start when org.eclipse....
Status: RESOLVED FIXED
Alias: None
Product: AJDT
Classification: Tools
Component: Core (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 2.0.1   Edit
Assignee: AJDT-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 241477 257178
Blocks:
  Show dependency tree
 
Reported: 2009-01-24 15:16 EST by Eugen Pribulla CLA
Modified: 2009-09-30 13:29 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eugen Pribulla CLA 2009-01-24 15:16:34 EST
Equinox weaving cannot start on Rational Software Modeler 7.5.1.
After a RSM is started, Error log contains 3 new entries (see below). JDT weawing is disabled. I changed it to ENABLED but after restart it still DISABLED.


-- Error Details --
Date: Sat Jan 24 21:07:54 CET 2009
Message: Could not find extension: org.eclipse.equinox.weaving.hook
Severity: Error
Plugin: org.eclipse.equinox.launcher
Session Data:

-- Error Details --
Date: Sat Jan 24 21:07:54 CET 2009
Message: Bundle org.eclipse.equinox.weaving.hook not found.
Severity: Error
Plugin: org.eclipse.osgi
Session Data:
eclipse.buildId=unknown
java.fullversion=J2RE 1.6.0 IBM J9 2.4 Windows XP x86-32 jvmwi3260-20081105_25433 (JIT enabled, AOT enabled)
J9VM - 20081105_025433_lHdSMr
JIT  - r9_20081031_1330
GC   - 20081027_AB
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=sk_SK
Framework arguments:  -product com.ibm.rational.rsm.product.v75.ide
Command-line arguments:  -os win32 -ws win32 -arch x86 -product com.ibm.rational.rsm.product.v75.ide

-- Error Details --
Date: Sat Jan 24 21:08:14 CET 2009
Message: 
Severity: Error
Plugin: org.eclipse.equinox.weaving.aspectj
Session Data:
eclipse.buildId=unknown
java.fullversion=J2RE 1.6.0 IBM J9 2.4 Windows XP x86-32 jvmwi3260-20081105_25433 (JIT enabled, AOT enabled)
J9VM - 20081105_025433_lHdSMr
JIT  - r9_20081031_1330
GC   - 20081027_AB
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=sk_SK
Framework arguments:  -product com.ibm.rational.rsm.product.v75.ide
Command-line arguments:  -os win32 -ws win32 -arch x86 -product com.ibm.rational.rsm.product.v75.ide


Exception Stack Trace:
org.osgi.framework.BundleException: Exception in org.eclipse.equinox.weaving.aspectj.WeavingServicePlugin.start() of bundle org.eclipse.equinox.weaving.aspectj.
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(Unknown Source)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(Unknown Source)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(Unknown Source)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(Unknown Source)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Unknown Source)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(Unknown Source)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(Unknown Source)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(Unknown Source)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(Unknown Source)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(Unknown Source)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/equinox/service/weaving/IWeavingServiceFactory
at org.eclipse.equinox.weaving.aspectj.WeavingServicePlugin.start(Unknown Source)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Unknown Source)
... 11 more
Root exception:
java.lang.NoClassDefFoundError: org/eclipse/equinox/service/weaving/IWeavingServiceFactory
at org.eclipse.equinox.weaving.aspectj.WeavingServicePlugin.start(Unknown Source)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Unknown Source)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(Unknown Source)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(Unknown Source)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(Unknown Source)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(Unknown Source)
at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Unknown Source)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(Unknown Source)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(Unknown Source)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(Unknown Source)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(Unknown Source)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(Unknown Source)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(Unknown Source)
Comment 1 Andrew Eisenberg CLA 2009-01-24 17:03:41 EST
Several questions:

1. Is AJDT installed in the same directory as your RSM?
2. In your config.ini, do you see a line that looks something like:
    osgi.bundles=reference\:file\:org.eclipse.equinox.weaving.hook_1.0.0.200901221200.jar@4,reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.0.v20080604.jar@1\:start
3. Is the org.eclipse.equinox.weaving.hook bundle present in your plugins directory?
4. In the file eclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info, there should be two lines like:
org.eclipse.equinox.weaving.aspectj,1.0.0.200901221200,file:plugins/org.eclipse.equinox.weaving.aspectj_1.0.0.200901221200.jar,4,true
org.eclipse.equinox.weaving.hook,1.0.0.200901221200,file:plugins/org.eclipse.equinox.weaving.hook_1.0.0.200901221200.jar,4,false


If all of these are ok, then there is probably some other exception being thrown somewhere.
Comment 2 Eugen Pribulla CLA 2009-01-25 14:54:47 EST
Sory for my english.

1. Is AJDT installed in the same directory as your RSM?

I used AJDT update site and RSM stored AJDT plugins into:
plugins into : ROOT/SDPShared/plugins/plugins
features into : ROOT/SDPShared/plugins/features (yes, features as plugins subfolder)

Core RSM plugins and features are stored in ROOT/SDPShared/plugins and ROOT/SDPShared/features

RSM is using another folder named ROOT/SDP with similar structure as eclipse. It contains only one plugin org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731.

In the nutshell: RSM uses slightly diferrent folder structure compared to eclipse.org bundles.

2. In your config.ini , do you see a line that looks something like:
It is present. (folder ROOT/SDP/configuration/config.ini).
My osgi.bundles:
osgi.bundles=reference\:file\:com.ibm.cds_2.0.4.200802251155.jar@4,reference\:file\:org.eclipse.equinox.transforms.hook_1.0.0.v20080610.jar@4,reference\:file\:plugins\\org.eclipse.equinox.weaving.hook_1.0.0.200901221200.jar@4,reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.0.v20080604.jar@1\:start

3. Is the org.eclipse.equinox.weaving.hook bundle present in your plugins directory?
I found it in the ROOT/SDPShared/plugins/plugins folder as another plugins downloded using update site. As I mentioned above, core RSM plugins are stored in the ROOT/SDPShared/plugins folder.

4. In the file eclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info, there should be two lines like:
Yes, they are present. (SDP/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info). 
My lines:
org.eclipse.equinox.weaving.aspectj,1.0.0.200901221200,file:../SDPShared\plugins\plugins\org.eclipse.equinox.weaving.aspectj_1.0.0.200901221200.jar,4,true
org.eclipse.equinox.weaving.hook,1.0.0.200901221200,file:../SDPShared\plugins\plugins\org.eclipse.equinox.weaving.hook_1.0.0.200901221200.jar,4,false

Sory for my English.
Comment 3 Andrew Eisenberg CLA 2009-01-25 15:55:19 EST
It looks like the org.eclipse.weaving.hook bundle is not in the same directory as the org.eclipse.osgi bundle.  Is this correct?

Unfortunately, it is necessary to have the two bundles in the same directory.  See Bug 257178.  We are hoping to have this addressed for eclipse 3.5.
Comment 4 Eugen Pribulla CLA 2009-01-26 04:14:37 EST
(In reply to comment #3)
> It looks like the org.eclipse.weaving.hook bundle is not in the same directory
> as the org.eclipse.osgi bundle.  Is this correct?
> Unfortunately, it is necessary to have the two bundles in the same directory. 
> See Bug 257178.  We are hoping to have this addressed for eclipse 3.5.


Correct. It is in another directory. Probably only way to install it into RSM is manual installation. I will try it.
Comment 5 Andrew Eisenberg CLA 2009-01-26 12:19:39 EST
We are working on a better solution than manual installation and will post here when we find one.
Comment 6 Andrew Eisenberg CLA 2009-01-30 19:27:17 EST
Adding a dependency to the two bugs one in P2 and the other in Equinox.
Comment 7 Andrew Eisenberg CLA 2009-03-13 13:02:19 EDT
A work around for this is now available in http://wiki.eclipse.org/JDT_weaving_features#Installing_JDT_Weaving_in_a_non-default_location

Thanks, Miles, this is largely borrowed from your notes here:
https://lampsvn.epfl.ch/trac/scala/wiki/EclipsePlugin

However, this is a less than ideal solution as most people will not be willing to edit their config.ini.  This bug will remain open until a better solution is found and the bugs it depends on are fixed.
Comment 8 Andrew Eisenberg CLA 2009-09-30 13:29:50 EDT
This is now fixed in the 3.5 stream because of the fixes to bug 241477 and bug 257178.