Bug 1090544

Summary: Xalan upgrade causes PicketLink failures
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Hynek Mlnarik <hmlnarik>
Component: XML FrameworksAssignee: Kyle Lape <klape>
Status: CLOSED CURRENTRELEASE QA Contact: Hynek Mlnarik <hmlnarik>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 6.3.0CC: jason.greene, kkhan, pslavice
Target Milestone: ER3   
Target Release: EAP 6.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-28 15:41:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1087991    
Bug Blocks:    

Description Hynek Mlnarik 2014-04-23 14:51:04 UTC
Description of problem:
Change in Xalan version in EAP 6.3.0.ER2 caused a regression in PicketLink test suite compared to EAP 6.3.0.ER1.

Version-Release number of selected component (if applicable):
jboss-eap-6.3/modules/system/layers/base/org/apache/xalan/main/xalan-2.7.1.redhat-6.jar
jboss-eap-6.3/modules/system/layers/base/org/apache/xalan/main/serializer-2.7.1.redhat-6.jar

How reproducible:
Anytime, execute org.picketlink.test.integration.pdp.SOAPSAMLXACMLUnitTestCase test case.

Actual results:
16:22:41,308 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (http-localhost/127.0.0.1:8080-4) Application {urn:picketlink:identity-federation:pdp}SOAPSAMLXACMLPDP#{http://cxf.apache.org/jaxws/provider}invoke has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: org.picketlink.common.exceptions.ProcessingException: PL00102: Processing Exception:
        at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:170)
        at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:272)
        at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:136)
        at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:237)
        at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:68)
        at org.jboss.wsf.stack.cxf.JBossWSInvoker.invoke(JBossWSInvoker.java:129)
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_55]
        at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_55]
        at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
        at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
        at org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:97)
        at org.jboss.wsf.stack.cxf.transport.ServletHelper.callRequestHandler(ServletHelper.java:131)
        at org.jboss.wsf.stack.cxf.CXFServletExt.invoke(CXFServletExt.java:88)
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
        at org.jboss.wsf.stack.cxf.CXFServletExt.service(CXFServletExt.java:136)
        at org.jboss.wsf.spi.deployment.WSFServlet.service(WSFServlet.java:140) [jbossws-spi-2.3.0.Final-redhat-1.jar:2.3.0.Final-redhat-1]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.4.1.Final-redhat-1.jar:7.4.1.Final-redhat-1]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.1.Final-redhat-1.jar:7.4.1.Final-redhat-1]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.4.1.Final-redhat-1.jar:7.4.1.Final-redhat-1]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.4.1.Final-redhat-1.jar:7.4.1.Final-redhat-1]
        at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.4.0.Final-redhat-10.jar:7.4.0.Final-redhat-10]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.4.1.Final-redhat-1.jar:7.4.1.Final-redhat-1]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.4.1.Final-redhat-1.jar:7.4.1.Final-redhat-1]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.4.1.Final-redhat-1.jar:7.4.1.Final-redhat-1]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) [jbossweb-7.4.1.Final-redhat-1.jar:7.4.1.Final-redhat-1]
        at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:353) [jbossweb-7.4.1.Final-redhat-1.jar:7.4.1.Final-redhat-1]
        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:911) [jbossweb-7.4.1.Final-redhat-1.jar:7.4.1.Final-redhat-1]
        at org.apache.tomcat.util.net.NioEndpoint$ChannelProcessor.run(NioEndpoint.java:930) [jbossweb-7.4.1.Final-redhat-1.jar:7.4.1.Final-redhat-1]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_55]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_55]
        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_55]
Caused by: java.lang.RuntimeException: org.picketlink.common.exceptions.ProcessingException: PL00102: Processing Exception:
        at org.picketlink.common.DefaultPicketLinkLogger.xacmlPDPMessageProcessingError(DefaultPicketLinkLogger.java:496)
        at org.picketlink.identity.federation.core.pdp.SOAPSAMLXACMLPDP.invoke(SOAPSAMLXACMLPDP.java:94) [picketlink-federation-2.5.3.SP4-redhat-1.jar:2.5.3.SP4-redhat-1]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_55]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_55]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_55]
        at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_55]
        at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52) [jboss-as-ee-7.4.0.Final-redhat-10.jar:7.4.0.Final-redhat-10]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
        at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
        at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63) [jboss-as-ee-7.4.0.Final-redhat-10.jar:7.4.0.Final-redhat-10]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
        at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
        at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63) [jboss-as-ee-7.4.0.Final-redhat-10.jar:7.4.0.Final-redhat-10]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
        at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
        at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53) [jboss-as-ee-7.4.0.Final-redhat-10.jar:7.4.0.Final-redhat-10]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
        at org.jboss.as.webservices.deployers.WSComponentInstanceAssociationInterceptor.processInvocation(WSComponentInstanceAssociationInterceptor.java:49)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]
        at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:185) [jboss-as-ee-7.4.0.Final-redhat-10.jar:7.4.0.Final-redhat-10]
        at org.jboss.as.webservices.invocation.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:129)
        at org.jboss.wsf.stack.cxf.JBossWSInvoker.performInvocation(JBossWSInvoker.java:149)
        at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:104)
        ... 35 more
Caused by: org.picketlink.common.exceptions.ProcessingException: PL00102: Processing Exception:
        at org.picketlink.common.DefaultPicketLinkLogger.processingError(DefaultPicketLinkLogger.java:175)
        at org.picketlink.common.util.DocumentUtil.getNodeFromSource(DocumentUtil.java:473)
        at org.picketlink.identity.federation.core.pdp.SOAPSAMLXACMLPDP.invoke(SOAPSAMLXACMLPDP.java:77) [picketlink-federation-2.5.3.SP4-redhat-1.jar:2.5.3.SP4-redhat-1]
        ... 59 more
Caused by: ParsingException [location=null]org.picketlink.common.exceptions.ParsingException: PL00074: Parsing Error:org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
        at org.picketlink.common.DefaultPicketLinkLogger.parserError(DefaultPicketLinkLogger.java:486)
        at org.picketlink.common.util.TransformerUtil.transform(TransformerUtil.java:165)
        at org.picketlink.common.util.DocumentUtil.getNodeFromSource(DocumentUtil.java:470)
        ... 60 more
Caused by: javax.xml.transform.TransformerException: org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
        at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:639)
        at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:303)
        at org.picketlink.common.util.TransformerUtil.transform(TransformerUtil.java:163)
        ... 61 more
Caused by: org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
        at org.apache.xerces.dom.AttrNSImpl.setName(AttrNSImpl.java:106)
        at org.apache.xerces.dom.AttrNSImpl.<init>(AttrNSImpl.java:75)
        at org.apache.xerces.dom.CoreDocumentImpl.createAttributeNS(CoreDocumentImpl.java:2134)
        at org.apache.xerces.dom.ElementImpl.setAttributeNS(ElementImpl.java:657)
        at org.apache.xalan.xsltc.trax.SAX2DOM.startElement(SAX2DOM.java:148)
        at org.apache.xml.serializer.ToXMLSAXHandler.closeStartTag(ToXMLSAXHandler.java:206)
        at org.apache.xml.serializer.ToSAXHandler.flushPending(ToSAXHandler.java:279)
        at org.apache.xml.serializer.ToXMLSAXHandler.startElement(ToXMLSAXHandler.java:646)
        at org.apache.cxf.staxutils.StaxSource.parse(StaxSource.java:138)
        at org.apache.cxf.staxutils.StaxSource.parse(StaxSource.java:274)
        at org.apache.xalan.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:576)
        at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:630)
        ... 63 more

Expected results:
No exception.

Additional info:
This bug might be related to bug 1090382. When xalan module is replaced with xalan-2.7.1-redhat-3.jar which was part of EAP 6.3.0.ER1, the test passes without throwing an exception.

Comment 1 Jason T. Greene 2014-04-23 15:05:57 UTC
Kyle could you look at this? This occurs in the same place as your performance fix:

https://github.com/jboss/xalan-j/pull/2/files

Comment 2 Kabir Khan 2014-04-25 16:11:08 UTC
Can someone try with 2.7.1.redhat-7, which is currently in 6.x and will be in ER3. If that fixes it please link this bug to https://bugzilla.redhat.com/show_bug.cgi?id=1087991 and mark this as MODIFIED for ER3.

Comment 3 Hynek Mlnarik 2014-05-16 11:55:42 UTC
verified on EAP 6.3.0.ER4