[jboss-jira] [JBoss JIRA] (WFCORE-3003) Elytron subsystem fails to boot if SecurityProvider cannot be loaded.
David Lloyd (JIRA)
issues at jboss.org
Wed Jun 28 11:20:01 EDT 2017
[ https://issues.jboss.org/browse/WFCORE-3003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13426639#comment-13426639 ]
David Lloyd edited comment on WFCORE-3003 at 6/28/17 11:19 AM:
---------------------------------------------------------------
This may also be caused in part by Oracle's efforts to move Provider to be service-loader based. It's not clear how or why the JDK's Provider implementations are showing up here.
These fixes are needed:
# Change the service loader iteration at ProviderDefinitions.java:201 to use a "safe" service load loop like the one [in JBoss Modules|https://github.com/jboss-modules/jboss-modules/blob/58cee5d7267310cbaee082cd66e0f58925461cd2/src/main/java/org/jboss/modules/Main.java#L500]
# Add a check to discard providers which come from the JDK, probably examining and rejecting any implementations for which p.getClass().getModule() is non-null, or for which p.getClass().getClassLoader() is *not* an instance of ModuleClassLoader (requires doPrivileged for the getClassLoader() call).
was (Author: dmlloyd):
This may also be caused in part by Oracle's efforts to move Provider to be service-loader based. It's not clear how or why the JDK's Provider implementations are showing up here.
These fixes are needed:
# Change the service loader iteration at ProviderDefinitions.java:201 to use a "safe" service load loop like the one [in JBoss Modules|https://github.com/jboss-modules/jboss-modules/blob/58cee5d7267310cbaee082cd66e0f58925461cd2/src/main/java/org/jboss/modules/Main.java#L500]
# Add a check to discard providers which come from the JDK, probably examining and rejecting any implementations for which p.getClass().getModule() is non-null, or for which p.getClass().getClassLoader() is an instance of ModuleClassLoader (requires doPrivileged for the getClassLoader() call).
> Elytron subsystem fails to boot if SecurityProvider cannot be loaded.
> ---------------------------------------------------------------------
>
> Key: WFCORE-3003
> URL: https://issues.jboss.org/browse/WFCORE-3003
> Project: WildFly Core
> Issue Type: Bug
> Components: Security
> Reporter: Tomaz Cerar
> Assignee: Darran Lofthouse
>
> Trying to run secmgr testsuite under JDK9 results in
> {noformat}
> Caused by: java.util.ServiceConfigurationError: java.security.Provider: Provider com.sun.deploy.security.MozillaJSSProvider could not be instantiated
> at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:581)
> at java.base/java.util.ServiceLoader.access$100(ServiceLoader.java:390)
> at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:799)
> at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:721)
> at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1389)
> at java.base/java.lang.Iterable.forEach(Iterable.java:74)
> at org.wildfly.extension.elytron//org.wildfly.extension.elytron.ProviderDefinitions$1$1.get(ProviderDefinitions.java:201)
> at org.wildfly.extension.elytron//org.wildfly.extension.elytron.ProviderDefinitions$1$1.get(ProviderDefinitions.java:158)
> at org.wildfly.extension.elytron//org.wildfly.extension.elytron.TrivialService.start(TrivialService.java:53)
> at org.jboss.msc//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
> at org.jboss.msc//org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
> {noformat}
> and server doesn't start.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the jboss-jira
mailing list