[
https://issues.jboss.org/browse/WFLY-11178?page=com.atlassian.jira.plugin...
]
Jan Blizňák commented on WFLY-11178:
------------------------------------
[~dmlloyd], yeah, I get it, you described desired situation.
I tried to prepare a reproducer which should reveal the issue without webservices and
without picketlink.
It is a copy of WF helloworld quickstart with additional call to
"SchemaFactory.newInstance()" and some diagnostic output.
To reproduce:
# clone
https://github.com/jbliznak/reproducer-wfly-11178
# execute server with particular JDK and {{test.use.property}} set to true when
{{javax.xml.validation.SchemaFactory:http://www.w3.org/2001/XMLSchema}} property should be
set to {{org.apache.xerces.jaxp.validation.XMLSchemaFactory}}, eg.
{{JAVA_OPTS="-Djaxp.debug=true -Dtest.use.property=true" bin/standalone.sh}}
# deploy the app to running server with {{mvn clean package wildfly:deploy}}
# invoke servlet, eg.
{{curl
http://localhost:8080/helloworld/HelloWorld}}
The result with WF 14.0.1.Final class can't be initialized in case of
IBM&&property set:
||resolved class ||property unset ||property set ||
||OpenJDK| __redirected.__SchemaFactory | __redirected.__SchemaFactory |
||IBM JDK| __redirected.__SchemaFactory | java.lang.IllegalArgumentException: Provider
org.apache.xerces.jaxp.validation.XMLSchemaFactory not found |
The interesting thing in JAXP debug output for OpenJDK&&property set is:
{code:java}
15:38:53,429 ERROR [stderr] (default task-1) JAXP: using thread context class loader
(ModuleClassLoader for Module "deployment.helloworld.war" from Service Module
Loader) for search
15:38:53,429 ERROR [stderr] (default task-1) JAXP: Looking up system property
'javax.xml.validation.SchemaFactory:http://www.w3.org/2001/XMLSchema'
15:38:53,429 ERROR [stderr] (default task-1) JAXP: The value is
'org.apache.xerces.jaxp.validation.XMLSchemaFactory'
15:38:53,430 ERROR [stderr] (default task-1) JAXP:
createInstance(org.apache.xerces.jaxp.validation.XMLSchemaFactory)
15:38:53,430 ERROR [stderr] (default task-1) java.lang.ClassNotFoundException:
org.apache.xerces.jaxp.validation.XMLSchemaFactory from [Module
"deployment.helloworld.war" from Service Module Loader]
15:38:53,430 ERROR [stderr] (default task-1) at
org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255)
15:38:53,430 ERROR [stderr] (default task-1) at
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
15:38:53,430 ERROR [stderr] (default task-1) at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
15:38:53,430 ERROR [stderr] (default task-1) at
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
15:38:53,431 ERROR [stderr] (default task-1) at java.lang.Class.forName0(Native Method)
15:38:53,431 ERROR [stderr] (default task-1) at java.lang.Class.forName(Class.java:348)
15:38:53,431 ERROR [stderr] (default task-1) at
javax.xml.validation.SchemaFactoryFinder.createClass(SchemaFactoryFinder.java:256)
15:38:53,431 ERROR [stderr] (default task-1) at
javax.xml.validation.SchemaFactoryFinder.createInstance(SchemaFactoryFinder.java:285)
15:38:53,431 ERROR [stderr] (default task-1) at
javax.xml.validation.SchemaFactoryFinder._newFactory(SchemaFactoryFinder.java:173)
15:38:53,431 ERROR [stderr] (default task-1) at
javax.xml.validation.SchemaFactoryFinder.newFactory(SchemaFactoryFinder.java:146)
15:38:53,431 ERROR [stderr] (default task-1) at
javax.xml.validation.SchemaFactory.newInstance(SchemaFactory.java:213)
15:38:53,431 ERROR [stderr] (default task-1) at
org.jboss.as.quickstarts.helloworld.HelloService.createHelloMessage(HelloService.java:51)
15:38:53,431 ERROR [stderr] (default task-1) at
org.jboss.as.quickstarts.helloworld.HelloWorldServlet.doGet(HelloWorldServlet.java:58)
15:38:53,431 ERROR [stderr] (default task-1) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
15:38:53,432 ERROR [stderr] (default task-1) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:791)
15:38:53,432 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
15:38:53,432 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
15:38:53,432 ERROR [stderr] (default task-1) at
io.opentracing.contrib.jaxrs2.server.SpanFinishingFilter.doFilter(SpanFinishingFilter.java:55)
15:38:53,432 ERROR [stderr] (default task-1) at
io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
15:38:53,432 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
15:38:53,432 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
15:38:53,432 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
15:38:53,432 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
15:38:53,432 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
15:38:53,432 ERROR [stderr] (default task-1) at
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
15:38:53,433 ERROR [stderr] (default task-1) at
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
15:38:53,433 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
15:38:53,433 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
15:38:53,433 ERROR [stderr] (default task-1) at
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
15:38:53,433 ERROR [stderr] (default task-1) at
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
15:38:53,433 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
15:38:53,433 ERROR [stderr] (default task-1) at
io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
15:38:53,433 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
15:38:53,433 ERROR [stderr] (default task-1) at
io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
15:38:53,433 ERROR [stderr] (default task-1) at
io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
15:38:53,433 ERROR [stderr] (default task-1) at
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
15:38:53,433 ERROR [stderr] (default task-1) at
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
15:38:53,434 ERROR [stderr] (default task-1) at
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
15:38:53,434 ERROR [stderr] (default task-1) at
org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
15:38:53,434 ERROR [stderr] (default task-1) at
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
15:38:53,434 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
15:38:53,434 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
15:38:53,434 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
15:38:53,434 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
15:38:53,434 ERROR [stderr] (default task-1) at
io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
15:38:53,434 ERROR [stderr] (default task-1) at
io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
15:38:53,434 ERROR [stderr] (default task-1) at
org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
15:38:53,434 ERROR [stderr] (default task-1) at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
15:38:53,434 ERROR [stderr] (default task-1) at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
15:38:53,434 ERROR [stderr] (default task-1) at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
15:38:53,434 ERROR [stderr] (default task-1) at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
15:38:53,435 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
15:38:53,435 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
15:38:53,435 ERROR [stderr] (default task-1) at
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
15:38:53,435 ERROR [stderr] (default task-1) at
io.undertow.server.Connectors.executeRootHandler(Connectors.java:360)
15:38:53,435 ERROR [stderr] (default task-1) at
io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
15:38:53,435 ERROR [stderr] (default task-1) at
org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
15:38:53,435 ERROR [stderr] (default task-1) at
org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
15:38:53,435 ERROR [stderr] (default task-1) at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
15:38:53,435 ERROR [stderr] (default task-1) at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1349)
15:38:53,435 ERROR [stderr] (default task-1) at java.lang.Thread.run(Thread.java:748)
15:38:53,435 ERROR [stderr] (default task-1) JAXP: failed to
getClass(org.apache.xerces.jaxp.validation.XMLSchemaFactory)
15:38:53,435 ERROR [stderr] (default task-1) JAXP: found null in
$java.home/jaxp.properties
15:38:53,436 ERROR [stderr] (default task-1) JAXP: factory
'__redirected.__SchemaFactory' was found for
http://www.w3.org/2001/XMLSchema
{code}
whereas for IBM&&property set
{code:java}
15:50:31,917 ERROR [stderr] (default task-1) JAXP: find
factoryId=javax.xml.validation.SchemaFactory:http://www.w3.org/2001/XMLSc...
15:50:31,918 ERROR [stderr] (default task-1) JAXP: found system property,
value=org.apache.xerces.jaxp.validation.XMLSchemaFactory
15:50:31,923 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling
request to /helloworld/HelloWorld: java.lang.IllegalArgumentException: Provider
org.apache.xerces.jaxp.validation.XMLSchemaFactory not found
at javax.xml.validation.SchemaFactory.newInstance(Unknown Source)
at
org.jboss.as.quickstarts.helloworld.HelloService.createHelloMessage(HelloService.java:51)
at
org.jboss.as.quickstarts.helloworld.HelloWorldServlet.doGet(HelloWorldServlet.java:58)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:686)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:791)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
at
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
at
io.opentracing.contrib.jaxrs2.server.SpanFinishingFilter.doFilter(SpanFinishingFilter.java:55)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
at
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
at
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
at
io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at
io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at
io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at
io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at
io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at
org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at
org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
at
io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
at
io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
at
io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
at
io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at
io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at
org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
at
org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction$$Lambda$757.00000000DFD9ADA0.call(Unknown
Source)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$$Lambda$758.00000000E027C730.call(Unknown
Source)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$$Lambda$758.00000000E027C730.call(Unknown
Source)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$$Lambda$758.00000000E027C730.call(Unknown
Source)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1502)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$$Lambda$758.00000000E027C730.call(Unknown
Source)
at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
at
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
at
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:360)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
at
org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1349)
at java.lang.Thread.run(Thread.java:812)
{code}
RE:
??Application code is certainly allowed to do so, but in that case it's up to them to
ensure the dependency is added to the deployment.??
The testing app doesn't have org.apache.xerces module dependency explicitly added, yet
OpenJDK can handle situation with property set (looks like OpenJDK has some fallback
mechanism which IBM doesn't). Or there might be some classloading issue with IBM.
At this point I think JBoss Modules jira could be created for future work on this, WDYT?
WSTrustTestCase failing on IBM
------------------------------
Key: WFLY-11178
URL:
https://issues.jboss.org/browse/WFLY-11178
Project: WildFly
Issue Type: Bug
Components: Web Services
Affects Versions: 14.0.0.Final
Reporter: Jan Blizňák
Assignee: Alessio Soldano
Priority: Major
Attachments: log.txt
As discovered during investigation in WFLY-10336, we are now getting test failures in
WSTrustTestCase when IBM JDK is used. The relevant part of the exception is:
{code:java}
Caused by: java.lang.IllegalArgumentException: Provider
org.apache.xerces.jaxp.validation.XMLSchemaFactory not found
at javax.xml.validation.SchemaFactory.newInstance(Unknown Source)
at org.opensaml.core.xml.config.XMLConfigurator.<init>(XMLConfigurator.java:94)
at org.apache.wss4j.common.saml.OpenSAMLBootstrap.bootstrap(OpenSAMLBootstrap.java:85)
at org.apache.wss4j.common.saml.OpenSAMLUtil.initSamlEngine(OpenSAMLUtil.java:91)
at org.apache.wss4j.common.saml.OpenSAMLUtil.initSamlEngine(OpenSAMLUtil.java:75)
at
org.apache.wss4j.common.saml.SamlAssertionWrapper.<init>(SamlAssertionWrapper.java:184)
at
org.apache.cxf.sts.token.provider.SAMLTokenProvider.createSamlToken(SAMLTokenProvider.java:308)
at
org.apache.cxf.sts.token.provider.SAMLTokenProvider.createToken(SAMLTokenProvider.java:120)
... 102 more
{code}
It turned out the issue is in wildfly for some time, the breaking change was identified
as
https://github.com/wildfly/wildfly-core/pull/3201/
--
This message was sent by Atlassian Jira
(v7.12.1#712002)