It's all about the answers!

Ask a question

The Bundle X is invalid


Carla Celiberti (9151) | asked Jul 31 '08, 11:13 a.m.
Hi
I did these steps:
- created plugin that extends datawarehouse
- moved the plugin in repotools folder
- changed confing.ini of repotools in configuration folder
- opened command line and wrote "repotools -createTables"

But the result is:
The bundle X with the id 45 is invalid, it is not RESOLVED.

someone have some idea?

Thanks

11 answers



permanent link
Carla Celiberti (9151) | answered Aug 05 '08, 6:17 a.m.
From the repotools console output, it looks like you are using a
non-1.0 version of RTC. Are you using 1.0 for both your development
environment and target environment? Mixing plugin from different
versions might lead to problems like you are seeing below if API was
changing between the versions.


I'm using m6a version for client and server, but now install RTC1 version for both.

I migrated to RTC1 and the problem persists... and when I opened my plugin project I found two errors which before there weren't
https://jazz.net/forums/viewtopic.php?t=1932

just resolve these errors, I try again repotools

permanent link
Carla Celiberti (9151) | answered Aug 04 '08, 8:58 a.m.
From the repotools console output, it looks like you are using a
non-1.0 version of RTC. Are you using 1.0 for both your development
environment and target environment? Mixing plugin from different
versions might lead to problems like you are seeing below if API was
changing between the versions.


I'm using m6a version for client and server, but now install RTC1 version for both.

permanent link
Matt Lavin (2.7k2) | answered Aug 04 '08, 8:45 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
From the repotools console output, it looks like you are using a
non-1.0 version of RTC. Are you using 1.0 for both your development
environment and target environment? Mixing plugin from different
versions might lead to problems like you are seeing below if API was
changing between the versions.


cceliberti wrote:
sarcherwrote:
OK, so now the next step is to check that these required bundles are
installed and that their bundle state is at least RESOLVED. Use the
ss command to get a "short status" of the install bundles.
The repotools application would already have reported these bundles
as not being RESOLVED, if that was the case, so my guess is that
they're not installed at all, and they clearly need to be.
If in doubt, just post the entire output of the ss command.

I did:
In TeamConcert
Window -> Preferences -> Plugin Development -> Target
Platform
insert right location -> Reload -> select all

The result was:
5937 ACTIVE com.ibm.team.datawarehouse.service.odc_1.0.0 (This is
my plugin)

Now, I copied the bundles required in repotools folder
(/repotools/eclipse/plugin), I changed config.ini
(/repotools/eclipse/configuration), I deleted everything
(except config.ini) in this folder .
I opened command line and I wrote "repotools -createTable"
and the result is:

Repo Tools, Version 0.6.0.I20080411-1100
Provisioning using "./profile.ini".
Loading configuration from "file:teamserver.properties".
Service failed to activate.
.. with more error:
Caused by:
java.lang.VerifyError: final method overridden (class:
com/ibm/team/datawarehouse/service/workitems/internal/WorkItemsSnapshotTask
method: run()V) at pc:

permanent link
Matt Lavin (2.7k2) | answered Aug 04 '08, 8:45 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
From the repotools console output, it looks like you are using a
non-1.0 version of RTC. Are you using 1.0 for both your development
environment and target environment? Mixing plugin from different
versions might lead to problems like you are seeing below if API was
changing between the versions.

cceliberti wrote:
sarcherwrote:
OK, so now the next step is to check that these required bundles are
installed and that their bundle state is at least RESOLVED. Use the
ss command to get a "short status" of the install bundles.
The repotools application would already have reported these bundles
as not being RESOLVED, if that was the case, so my guess is that
they're not installed at all, and they clearly need to be.
If in doubt, just post the entire output of the ss command.

I did:
In TeamConcert
Window -> Preferences -> Plugin Development -> Target
Platform
insert right location -> Reload -> select all

The result was:
5937 ACTIVE com.ibm.team.datawarehouse.service.odc_1.0.0 (This is
my plugin)

Now, I copied the bundles required in repotools folder
(/repotools/eclipse/plugin), I changed config.ini
(/repotools/eclipse/configuration), I deleted everything
(except config.ini) in this folder .
I opened command line and I wrote "repotools -createTable"
and the result is:

Repo Tools, Version 0.6.0.I20080411-1100
Provisioning using "./profile.ini".
Loading configuration from "file:teamserver.properties".
Service failed to activate.
.. with more error:
Caused by:
java.lang.VerifyError: final method overridden (class:
com/ibm/team/datawarehouse/service/workitems/internal/WorkItemsSnapshotTask
method: run()V) at pc:

permanent link
Carla Celiberti (9151) | answered Aug 04 '08, 6:17 a.m.
OK, so now the next step is to check that these required bundles are installed and that their bundle state is at least RESOLVED. Use the ss command to get a "short status" of the install bundles. The repotools application would already have reported these bundles as not being RESOLVED, if that was the case, so my guess is that they're not installed at all, and they clearly need to be.

If in doubt, just post the entire output of the ss command.


I did:
In TeamConcert
Window -> Preferences -> Plugin Development -> Target Platform
insert right location -> Reload -> select all

The result was:
5937 ACTIVE com.ibm.team.datawarehouse.service.odc_1.0.0 (This is my plugin)

Now, I copied the bundles required in repotools folder (/repotools/eclipse/plugin), I changed config.ini (/repotools/eclipse/configuration), I deleted everything (except config.ini) in this folder .
I opened command line and I wrote "repotools -createTable"
and the result is:

Repo Tools, Version 0.6.0.I20080411-1100
Provisioning using "./profile.ini".
Loading configuration from "file:teamserver.properties".
Service failed to activate.
... with more error:
Caused by:
java.lang.VerifyError: final method overridden (class: com/ibm/team/datawarehouse/service/workitems/internal/WorkItemsSnapshotTask method: run()V) at pc:

permanent link
Simon Archer (2761) | answered Aug 01 '08, 12:40 p.m.
OK, so now the next step is to check that these required bundles are installed and that their bundle state is at least RESOLVED. Use the ss command to get a "short status" of the install bundles. The repotools application would already have reported these bundles as not being RESOLVED, if that was the case, so my guess is that they're not installed at all, and they clearly need to be.

If in doubt, just post the entire output of the ss command.

permanent link
Carla Celiberti (9151) | answered Aug 01 '08, 9:05 a.m.
The diag command is telling you the bundles that your bundle X requires, but that are missing, so you must make sure that they are installed too.

When you build an extension to repotools or the Jazz server you are really only building an OSGi bundle, so you must make sure that you are following all the rules that OSGi enforces. Please review your bundle and ensure that when you install it that all bundles and packages that it requires are already present.

Maybe you can tell me more about your bundle x, y, z, t, u? I'm rather skeptical regarding these names, especially since you seem to have both a bundle X and a bundle x.

The more information you can share regarding this problem the better. Good luck.


This is the result on console

osgi> diag 1909
initial@reference:file:../../../workspace/com.ibm.team.datawarehouse.service.X/
Missing required bundle com.ibm.team.datawarehouse.service_0.0.0.
Missing required bundle com.ibm.team.repository.service_0.0.0.
Missing required bundle com.ibm.team.workitem.service_0.0.0.
Missing required bundle com.ibm.team.repotools.rcp_0.0.0.
Missing required bundle com.ibm.team.datawarehouse.service.workitems_0.0.0.

permanent link
Simon Archer (2761) | answered Aug 01 '08, 8:32 a.m.
The diag command is telling you the bundles that your bundle X requires, but that are missing, so you must make sure that they are installed too.

When you build an extension to repotools or the Jazz server you are really only building an OSGi bundle, so you must make sure that you are following all the rules that OSGi enforces. Please review your bundle and ensure that when you install it that all bundles and packages that it requires are already present.

Maybe you can tell me more about your bundle x, y, z, t, u? I'm rather skeptical regarding these names, especially since you seem to have both a bundle X and a bundle x.

The more information you can share regarding this problem the better. Good luck.

permanent link
Carla Celiberti (9151) | answered Aug 01 '08, 6:16 a.m.
A bundle that is unable to have its Import-Package and Require-Bundle constraints satisfied will fail to be RESOLVED and will revert to INSTALLED. To find out exactly what is wrong, use the console's diag command, for example:
osgi> diag 45
This will tell you which constraints have not been satisfied. You should probably uninstall the bundle before fixing the problem and re-installing it:
osgi> uninstall 45
Please report back with your findings and I'll strive to help you further.
Good luck,
Simon


I did:

osgi> ss

and the result was: 45 INSTALLED X

and then I did:

osgi> diag 45

and the result was:

initial@reference:file:../../../workspace/X/
Missing required bundle x
Missing required bundle y
Missing required bundle z
Missing required bundle t
Missing required bundle u

I copied this file in my project folder but the result is always "Missing required bundle.....".

permanent link
Simon Archer (2761) | answered Jul 31 '08, 2:48 p.m.
I forgot to mention that to get the "osgi>" prompt, add the following parameters to the end of the repotools command line:

-console -noexit

It is very important that these parameters appear after any other parameters, since these are commands that are not interpreted by repotools itself, but rather are passed to the OSGi framework, Equinox, on which repotools is built.

Your answer


Register or to post your answer.