Hi,

On 10.07.2009, at 16:11, Matthias Neubert wrote:

Hello,

Following Bundles I'm using:

(all latest snapshots)

BundleRepository
iPojo
iPojo.annotations
iPojo.arch
fileInstall



During testing for finding the error, I found out the following 4 facts:

1. I can install all bundles without starting them. Then application starts and bundles are in Installed-state.

2. App starts without errors, when only fileinstall, iPojo and iPojo.Annotation ist started with system bundle

3. App Hangs, when Bundlerepository is started (with and without other bundles). Then its hangs with following Log:

07-10 15:50:56.368: INFO/System.out(802): DEBUG: WIRE: 2.0 -> org.osgi.framework -> 0 07-10 15:50:56.408: INFO/System.out(802): DEBUG: WIRE: 1.0 -> org.osgi.framework -> 0 07-10 15:50:56.419: INFO/System.out(802): DEBUG: WIRE: 1.0 -> org.osgi.service.url -> 0 07-10 15:50:56.419: INFO/System.out(802): DEBUG: WIRE: 1.0 -> org.osgi.service.log -> 2.0 07-10 15:50:56.688: DEBUG/dalvikvm(802): GC freed 4580 objects / 590464 bytes in 96ms 07-10 15:50:57.198: DEBUG/dalvikvm(802): DexOpt: --- BEGIN 'bundle.jar' (bootstrap=0) --- 07-10 15:50:57.429: DEBUG/dalvikvm(813): DexOpt: 'Lorg/xmlpull/v1/ XmlPullParser;' has an earlier definition; blocking out 07-10 15:50:57.429: DEBUG/dalvikvm(813): DexOpt: 'Lorg/kxml2/io/ KXmlParser;' has an earlier definition; blocking out 07-10 15:50:57.429: DEBUG/dalvikvm(813): DexOpt: 'Lorg/xmlpull/v1/ XmlSerializer;' has an earlier definition; blocking out 07-10 15:50:57.429: DEBUG/dalvikvm(813): DexOpt: 'Lorg/kxml2/io/ KXmlSerializer;' has an earlier definition; blocking out 07-10 15:50:57.429: DEBUG/dalvikvm(813): DexOpt: 'Lorg/kxml2/kdom/ Node;' has an earlier definition; blocking out 07-10 15:50:57.429: DEBUG/dalvikvm(813): DexOpt: 'Lorg/kxml2/kdom/ Document;' has an earlier definition; blocking out 07-10 15:50:57.429: DEBUG/dalvikvm(813): DexOpt: 'Lorg/kxml2/kdom/ Element;' has an earlier definition; blocking out 07-10 15:50:57.429: DEBUG/dalvikvm(813): DexOpt: 'Lorg/kxml2/wap/ Wbxml;' has an earlier definition; blocking out 07-10 15:50:57.429: DEBUG/dalvikvm(813): DexOpt: 'Lorg/kxml2/wap/ WbxmlParser;' has an earlier definition; blocking out 07-10 15:50:57.439: DEBUG/dalvikvm(813): DexOpt: 'Lorg/kxml2/wap/ WbxmlSerializer;' has an earlier definition; blocking out 07-10 15:50:57.439: DEBUG/dalvikvm(813): DexOpt: 'Lorg/kxml2/wap/ syncml/SyncML;' has an earlier definition; blocking out 07-10 15:50:57.439: DEBUG/dalvikvm(813): DexOpt: 'Lorg/kxml2/wap/wml/ Wml;' has an earlier definition; blocking out 07-10 15:50:57.439: DEBUG/dalvikvm(813): DexOpt: 'Lorg/kxml2/wap/wv/ WV;' has an earlier definition; blocking out 07-10 15:50:57.439: DEBUG/dalvikvm(813): DexOpt: 'Lorg/xmlpull/v1/ XmlPullParserException;' has an earlier definition; blocking out 07-10 15:50:57.439: DEBUG/dalvikvm(813): DexOpt: 'Lorg/xmlpull/v1/ XmlPullParserFactory;' has an earlier definition; blocking out 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ xmlpull/v1/XmlPullParser;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ kxml2/io/KXmlParser;': multiple definitions 07-10 15:50:57.579: INFO/dalvikvm(813): DexOpt: not resolving ambiguous class 'Lorg/kxml2/io/KXmlParser;' 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ xmlpull/v1/XmlSerializer;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ kxml2/io/KXmlSerializer;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ kxml2/kdom/Node;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ kxml2/kdom/Document;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ kxml2/kdom/Element;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ kxml2/wap/Wbxml;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ kxml2/wap/WbxmlParser;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ kxml2/wap/WbxmlSerializer;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ kxml2/wap/syncml/SyncML;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ kxml2/wap/wml/Wml;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ kxml2/wap/wv/WV;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ xmlpull/v1/XmlPullParserException;': multiple definitions 07-10 15:50:57.579: DEBUG/dalvikvm(813): DexOpt: not verifying 'Lorg/ xmlpull/v1/XmlPullParserFactory;': multiple definitions 07-10 15:50:57.589: DEBUG/dalvikvm(813): DexOpt: load 40ms, verify 145ms, opt 4ms 07-10 15:50:57.599: DEBUG/dalvikvm(802): DexOpt: --- END 'bundle.jar' (success) --- 07-10 15:50:57.599: DEBUG/dalvikvm(802): DEX prep '/data/data/ de.mn.felixembedand/files/felix/cache/bundle1/version0.0/ bundle.jar': unzip in 31ms, rewrite 402ms




=> The log show some problems with redundant definitions. This may belong to the other problem I once had (when I tried to have felix and fileinstall on classpath)

Android 1.5 embeds KXML2 as the implementation of the XML parser. However, Android does not support the redefinition of classes, so you can't use OBR on Android, at least you have to modified to rely on the Android XML parser.






4. App starts with: ipojo, fileinstall, ipojo.annotations AND iPojo.arch BUT: ipojo.arch doenst start (but gets installed), and it throws then following error:

07-10 15:56:39.839: INFO/System.out(961): ERROR: Error starting / data/data/de.mn.felixembedand/files/felix/bundle/ipojoarch.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle org.apache.felix.ipojo.arch [4]: package; (&(package=org.apache.felix.shell)(version>=1.0.0))) 07-10 15:56:39.849: WARN/System.err(961): org.osgi.framework.BundleException: Unresolved constraint in bundle org.apache.felix.ipojo.arch [4]: package; (&(package=org.apache.felix.shell)(version>=1.0.0)) 07-10 15:56:39.859: WARN/System.err(961): at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3393) 07-10 15:56:39.869: WARN/System.err(961): at org.apache.felix.framework.Felix.startBundle(Felix.java:1597) 07-10 15:56:39.869: WARN/System.err(961): at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1077) 07-10 15:56:39.879: WARN/System.err(961): at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:263) 07-10 15:56:39.889: WARN/System.err(961): at java.lang.Thread.run(Thread.java:1058)


The arch command is a Felix shell command and ... it requires the shell :-) So, if the shell is not installed, this bundle cannot be resolved. Moreover, the iPOJO annotations is useless. Annotations are process during the manipulation and iPOJO doesn't need this bundle to use annotations at runtime.


=> I don't know which constraint is meant. The other thing I'm wondering about is why it hasn't any problem yesterday.

=> despite this error, app starts and SpellCheckGUI is shown an everything is working.

Yes, the application does not require 'arch'.


=> So: Bundlerepository is the bad guy here. Is something known about problems regarding this bundle?
Its not needed for the sample, but may be needed in future projects.

Except modifying the bundle to import the XML parser of Android and remove kxml, I don't see any other solution.

Regards,

Clement




regards Matthias




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to