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]