Bug 1299679 - Bundles javax.xml.namespace.QName
Bundles javax.xml.namespace.QName
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: xpp3 (Show other bugs)
23
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Mikolaj Izdebski
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-01-18 19:39 EST by Richard Chan
Modified: 2016-04-08 02:58 EDT (History)
4 users (show)

See Also:
Fixed In Version: 1.1.4-9.c
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-04-08 02:58:46 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Debian BTS 500909 None None None 2016-01-18 22:17 EST

  None (edit)
Description Richard Chan 2016-01-18 19:39:40 EST
Description of problem:
xpp3.jar bundles javax/xml/namespace/QName.class
This duplicates rt.jar and leads to groovy problems
Bug 1299674

Version-Release number of selected component (if applicable):
1.1.4

How reproducible:
Always

Steps to Reproduce:
1. Run a groovy script using WSDL QName
2.
3.

Actual results:
Caught: java.lang.LinkageError: loader constraint violation: when resolving method "javax.xml.ws.Service.<init>(Ljava/net/URL;Ljavax/xml/namespace/QName;)V" the class loader (instance of org/codehaus/groovy/tools/RootLoader) of the current class, org/ejbca/core/protocol/ws/client/gen/EjbcaWSService, and the class loader (instance of <bootloader>) for the method's defining class, javax/xml/ws/Service, have different Class objects for the type javax/xml/namespace/QName used in the signature
java.lang.LinkageError: loader constraint violation: when resolving method "javax.xml.ws.Service.<init>(Ljava/net/URL;Ljavax/xml/namespace/QName;)V" the class loader (instance of org/codehaus/groovy/tools/RootLoader) of the current class, org/ejbca/core/protocol/ws/client/gen/EjbcaWSService, and the class loader (instance of <bootloader>) for the method's defining class, javax/xml/ws/Service, have different Class objects for the type javax/xml/namespace/QName used in the signature
	at org.ejbca.core.protocol.ws.client.gen.EjbcaWSService.<init>(EjbcaWSService.java:37)



Expected results:
[main] INFO ejbca - Connected to EJBCA version: EJBCA 6.3.1.1 Community (r21429)
(connecting to EJBCA SOAP service)

Additional info:
Upstream groovy bundles xmlpull 1.1.3.1 without QName
        0  05-19-2003 13:12   META-INF/
       45  05-19-2003 13:12   META-INF/MANIFEST.MF
        0  05-19-2003 09:44   org/
        0  05-19-2003 09:44   org/xmlpull/
        0  05-19-2003 09:44   org/xmlpull/v1/
        0  05-19-2003 13:12   XMLPULL_1_1_3_1_VERSION
     2831  05-19-2003 13:12   org/xmlpull/v1/XmlPullParser.class
     1901  05-19-2003 09:44   org/xmlpull/v1/XmlPullParserException.class
     6220  05-19-2003 09:44   org/xmlpull/v1/XmlPullParserFactory.class
     1633  05-19-2003 09:44   org/xmlpull/v1/XmlSerializer.class




Fedora xpp3.jar:
        0  01-01-1980 00:00   XPP3_1.1.4c_VERSION
        0  01-01-1980 00:00   javax/
        0  01-01-1980 00:00   javax/xml/
        0  01-01-1980 00:00   javax/xml/namespace/
     2748  01-01-1980 00:00   javax/xml/namespace/QName.class
        0  01-01-1980 00:00   org/
        0  01-01-1980 00:00   org/xmlpull/
        0  01-01-1980 00:00   org/xmlpull/mxp1/
Comment 1 Richard Chan 2016-01-18 19:47:50 EST
Pasting the class loader -verbose output:

Successful (with upstream xmlpull-1.1.3.1):

[Loaded javax.xml.namespace.QName from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-4.b17.fc23.x86_64/jre/lib/rt.jar]
[Loaded javax.xml.namespace.QName$1 from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-4.b17.fc23.x86_64/jre/lib/rt.jar]


Failed (with xmlpull.jar a link to xpp3.jar):
[Loaded javax.xml.namespace.QName from file:/usr/share/java/xpp3.jar]
[Loaded javax.xml.namespace.QName from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-4.b17.fc23.x86_64/jre/lib/rt.jar]
Caught: java.lang.LinkageError: loader constraint violation: when resolving method "javax.xml.ws.Service.<init>(Ljava/net/URL;Ljavax/xml/namespace/QName;)V" the class loader (instance of org/codehaus/groovy/tools/RootLoader) of the current class, org/ejbca/core/protocol/ws/client/gen/EjbcaWSService, and the class loader (instance of <bootloader>) for the method's defining class, javax/xml/ws/Service, have different Class objects for the type javax/xml/namespace/QName used in the signature
java.lang.LinkageError: loader constraint violation: when resolving method "javax.xml.ws.Service.<init>(Ljava/net/URL;Ljavax/xml/namespace/QName;)V" the class loader (instance of org/codehaus/groovy/tools/RootLoader) of the current class, org/ejbca/core/protocol/ws/client/gen/EjbcaWSService, and the class loader (instance of <bootloader>) for the method's defining class, javax/xml/ws/Service, have different Class objects for the type javax/xml/namespace/QName used in the signature
	at org.ejbca.core.protocol.ws.client.gen.EjbcaWSService.<init>(EjbcaWSService.java:37)
	at com.tbs.ejbca.version.run(version.groovy:73)
Comment 2 Richard Chan 2016-01-18 22:02:26 EST
Not a bug here: maybe groovy should link to xpp3_min.jar
Comment 3 Richard Chan 2016-01-18 22:17:07 EST
Maybe xpp3.jar should be repackaged without javax.*.

Referring to a similar Debian issue.
Comment 4 Mikolaj Izdebski 2016-01-19 04:04:01 EST
Fixed in xpp3-1.1.4-9.c

Note You need to log in before you can comment on or make changes to this bug.