[jboss-jira] [JBoss JIRA] (WFCORE-3003) Elytron subsystem fails to boot if SecurityProvider cannot be loaded.

David Lloyd (JIRA) issues at jboss.org
Mon Jun 26 08:06:00 EDT 2017


    [ https://issues.jboss.org/browse/WFCORE-3003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13426639#comment-13426639 ] 

David Lloyd commented on WFCORE-3003:
-------------------------------------

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