Uploaded image for project: 'RESTEasy'
  1. RESTEasy
  2. RESTEASY-1638

Permission check failed when creating instance of resteasy client

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 3.0.22.Final
    • Fix Version/s: 4.0.0.Beta1
    • Component/s: None
    • Labels:
      None
    • Steps to Reproduce:
      Hide

      git clone https://github.com/kanovotn/Resteasy.git; cd Resteasy; git checkout securityManager
      mvn clean install -DskipTests
      cd testsuite
      mvn clean verify -Dserver.home=EAP_HOME -Dversion.resteasy.testsuite=3.0.21.Final -fn -Dtest=ScopeExtensionTest -Dmaven.test.redirectTestOutputToFile=false -Dsecurity.manager
      

      Show
      git clone https: //github.com/kanovotn/Resteasy.git; cd Resteasy; git checkout securityManager mvn clean install -DskipTests cd testsuite mvn clean verify -Dserver.home=EAP_HOME -Dversion.resteasy.testsuite= 3.0 . 21 .Final -fn -Dtest=ScopeExtensionTest -Dmaven.test.redirectTestOutputToFile= false -Dsecurity.manager

      Description

      Description:
      Tests are running on EAP with security manager and produces following error.
      Deployments which create Resteasy client on the server, are failing with this permission check:

      ("java.lang.RuntimePermission" "getClassLoader")
      

      The affected tests from resteasy testsuite are:
      AbortMessageTest
      SNITest
      AsyncPostProcessingTest
      AsynchBasicTest
      EJBTest
      ScopeExtensionTest
      ReverseInjectionTest
      ClientBuilderTest
      ClientCacheTest
      InternalDispatcherTest
      CorsFiltersTest
      PriorityExecutionTest
      DuplicateProviderRegistrationTest
      WriterNotBuiltinTest
      JaxbMarshallingSoakTest
      XmlJavaTypeAdapterTest
      HeaderDelegateTest
      ValidationComplexTest

      Output of the test:

      Running org.jboss.resteasy.test.cdi.extensions.ScopeExtensionTest
      Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 13.347 sec <<< FAILURE! - in org.jboss.resteasy.test.cdi.extensions.ScopeExtensionTest
      testObsolescentScope(org.jboss.resteasy.test.cdi.extensions.ScopeExtensionTest)  Time elapsed: 13.265 sec  <<< ERROR!
      java.lang.RuntimeException: java.security.AccessControlException: WFSM000001: Permission check failed (permission "("java.lang.RuntimePermission" "getClassLoader")" in code source "(vfs:/content/ScopeExtensionTest.war/WEB-INF/classes <no signer certificates>)" of "ModuleClassLoader for Module "deployment.ScopeExtensionTest.war" from Service Module Loader")
      	at org.jboss.resteasy.test.cdi.extensions.ScopeExtensionTest.testObsolescentScope(ScopeExtensionTest.java:78)
      Caused by: java.security.AccessControlException: WFSM000001: Permission check failed (permission "("java.lang.RuntimePermission" "getClassLoader")" in code source "(vfs:/content/ScopeExtensionTest.war/WEB-INF/classes <no signer certificates>)" of "ModuleClassLoader for Module "deployment.ScopeExtensionTest.war" from Service Module Loader")
      	at org.jboss.resteasy.test.cdi.extensions.ScopeExtensionTest.testObsolescentScope(ScopeExtensionTest.java:78)
      

      Stacktrace:

      "default task-48@16432" prio=5 tid=0x12f nid=NA runnable
        java.lang.Thread.State: RUNNABLE
      	  at org.wildfly.security.manager.WildFlySecurityManager.checkPermission(WildFlySecurityManager.java:278)
      	  at org.wildfly.security.manager.WildFlySecurityManager.checkPermission(WildFlySecurityManager.java:175)
      	  at java.lang.ClassLoader.checkClassLoaderPermission(ClassLoader.java:1528)
      	  at java.lang.Thread.getContextClassLoader(Thread.java:1436)
      	  at org.jboss.resteasy.plugins.providers.RegisterBuiltin.registerProviders(RegisterBuiltin.java:44)
      	  at org.jboss.resteasy.plugins.providers.RegisterBuiltin.register(RegisterBuiltin.java:32)
      	  - locked <0x41c2> (a org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory)
      	  at org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder.getProviderFactory(ResteasyClientBuilder.java:370)
      	  at org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder.build(ResteasyClientBuilder.java:406)
      	  at org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder.build(ResteasyClientBuilder.java:60)
      	  at javax.ws.rs.client.ClientBuilder.newClient(ClientBuilder.java:114)
      	  at org.jboss.resteasy.test.cdi.extensions.ScopeExtensionTest.testObsolescentScope(ScopeExtensionTest.java:77)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	  at java.lang.reflect.Method.invoke(Method.java:498)
      	  at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
      	  at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	  at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
      	  at org.jboss.arquillian.junit.Arquillian$8$1.invoke(Arquillian.java:374)
      	  at org.jboss.arquillian.container.test.impl.execution.LocalTestExecuter.execute(LocalTestExecuter.java:60)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	  at java.lang.reflect.Method.invoke(Method.java:498)
      	  at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
      	  at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
      	  at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
      	  at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
      	  at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
      	  at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
      	  at org.jboss.arquillian.container.test.impl.execution.ContainerTestExecuter.execute(ContainerTestExecuter.java:38)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	  at java.lang.reflect.Method.invoke(Method.java:498)
      	  at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
      	  at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
      	  at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
      	  at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:130)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	  at java.lang.reflect.Method.invoke(Method.java:498)
      	  at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
      	  at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
      	  at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:92)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	  at java.lang.reflect.Method.invoke(Method.java:498)
      	  at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
      	  at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
      	  at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:73)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	  at java.lang.reflect.Method.invoke(Method.java:498)
      	  at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
      	  at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
      	  at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
      	  at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:136)
      	  at org.jboss.arquillian.junit.Arquillian$8.evaluate(Arquillian.java:367)
      	  at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:245)
      	  at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:426)
      	  at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:54)
      	  at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:259)
      	  at org.jboss.arquillian.junit.Arquillian$7$1.invoke(Arquillian.java:319)
      	  at org.jboss.arquillian.container.test.impl.execution.BeforeLifecycleEventExecuter.on(BeforeLifecycleEventExecuter.java:35)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	  at java.lang.reflect.Method.invoke(Method.java:498)
      	  at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
      	  at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
      	  at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
      	  at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:130)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	  at java.lang.reflect.Method.invoke(Method.java:498)
      	  at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
      	  at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
      	  at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:92)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	  at java.lang.reflect.Method.invoke(Method.java:498)
      	  at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
      	  at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
      	  at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:73)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      	  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	  at java.lang.reflect.Method.invoke(Method.java:498)
      	  at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
      	  at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
      	  at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
      	  at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
      	  at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.fireCustomLifecycle(EventTestRunnerAdaptor.java:159)
      	  at org.jboss.arquillian.junit.Arquillian$7.evaluate(Arquillian.java:312)
      	  at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
      	  at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
      	  at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
      	  at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      	  at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      	  at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      	  at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      	  at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      	  at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:204)
      	  at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:426)
      	  at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:54)
      	  at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:218)
      	  at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      	  at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:166)
      	  at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
      	  at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
      	  at org.jboss.arquillian.junit.container.JUnitTestRunner.execute(JUnitTestRunner.java:66)
      	  at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.executeTest(ServletTestRunner.java:170)
      	  at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.execute(ServletTestRunner.java:135)
      	  at org.jboss.arquillian.protocol.servlet.runner.ServletTestRunner.doGet(ServletTestRunner.java:98)
      	  at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
      	  at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
      	  at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
      	  at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
      	  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:131)
      	  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:46)
      	  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$706.2113904099.call(Unknown Source:-1)
      	  at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1704)
      	  at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$$Lambda$707.668702789.call(Unknown Source:-1)
      	  at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1704)
      	  at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$$Lambda$707.668702789.call(Unknown Source:-1)
      	  at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1704)
      	  at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$$Lambda$707.668702789.call(Unknown Source:-1)
      	  at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1704)
      	  at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction$$Lambda$707.668702789.call(Unknown Source:-1)
      	  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$1.run(ServletInitialHandler.java:110)
      	  at java.security.AccessController.doPrivileged(AccessController.java:-1)
      	  at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:107)
      	  at io.undertow.server.Connectors.executeRootHandler(Connectors.java:211)
      	  at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:809)
      	  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	  at java.lang.Thread.run(Thread.java:745)
      
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  iweiss Ingo Weiss
                  Reporter:
                  iweiss Ingo Weiss
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: