Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-13874

JdbcStringBasedStore.start() can fail under security manager

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 13.0.10.Final, 14.0.0.Final
    • None

      Infinispan should use a privileged action to obtain the ClassLoader that loaded the configured ConnectionFactory class.

      ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 41) MSC000001: Failed to start service org.wildfly.clustering.infinispan.cache.web."FineDatabasePersistenceWebFailoverTestCase.war": org.jboss.msc.service.StartException in service org.wildfly.clustering.infinispan.cache.web."FineDatabasePersistenceWebFailoverTestCase.war": org.infinispan.commons.CacheConfigurationException: Error starting component org.infinispan.persistence.manager.PersistenceManager
      	at org.wildfly.clustering.service@27.0.0.Beta1-SNAPSHOT//org.wildfly.clustering.service.FunctionalService.start(FunctionalService.java:66)
      	at org.wildfly.clustering.service@27.0.0.Beta1-SNAPSHOT//org.wildfly.clustering.service.AsyncServiceConfigurator$AsyncService.lambda$start$0(AsyncServiceConfigurator.java:117)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
      Caused by: org.infinispan.commons.CacheConfigurationException: Error starting component org.infinispan.persistence.manager.PersistenceManager
      	at org.infinispan@13.0.10.Final//org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:585)
      	at org.infinispan@13.0.10.Final//org.infinispan.factories.impl.BasicComponentRegistryImpl.access$700(BasicComponentRegistryImpl.java:30)
      	at org.infinispan@13.0.10.Final//org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:808)
      	at org.infinispan@13.0.10.Final//org.infinispan.factories.ComponentRegistry.getLocalComponent(ComponentRegistry.java:181)
      	at org.infinispan@13.0.10.Final//org.infinispan.factories.ComponentRegistry.getLocalComponent(ComponentRegistry.java:186)
      	at org.wildfly.clustering.infinispan.embedded.spi@27.0.0.Beta1-SNAPSHOT//org.wildfly.clustering.infinispan.lifecycle.WildFlyInfinispanModuleLifecycle.cacheStarting(WildFlyInfinispanModuleLifecycle.java:48)
      	at org.infinispan@13.0.10.Final//org.infinispan.factories.ComponentRegistry.notifyCacheStarting(ComponentRegistry.java:239)
      	at org.infinispan@13.0.10.Final//org.infinispan.factories.ComponentRegistry.preStart(ComponentRegistry.java:226)
      	at org.infinispan@13.0.10.Final//org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:248)
      	at org.infinispan@13.0.10.Final//org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:216)
      	at org.infinispan@13.0.10.Final//org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:1014)
      	at org.infinispan@13.0.10.Final//org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:512)
      	at org.infinispan@13.0.10.Final//org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:714)
      	at org.infinispan@13.0.10.Final//org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:660)
      	at org.infinispan@13.0.10.Final//org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:549)
      	at org.infinispan@13.0.10.Final//org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:517)
      	at org.jboss.as.clustering.infinispan@27.0.0.Beta1-SNAPSHOT//org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:84)
      	at org.wildfly.clustering.infinispan.embedded.service@27.0.0.Beta1-SNAPSHOT//org.wildfly.clustering.infinispan.service.CacheServiceConfigurator.get(CacheServiceConfigurator.java:75)
      	at org.wildfly.clustering.infinispan.embedded.service@27.0.0.Beta1-SNAPSHOT//org.wildfly.clustering.infinispan.service.CacheServiceConfigurator.get(CacheServiceConfigurator.java:53)
      	at org.wildfly.clustering.service@27.0.0.Beta1-SNAPSHOT//org.wildfly.clustering.service.FunctionalService.start(FunctionalService.java:63)
      	... 7 more
      Caused by: java.util.concurrent.CompletionException: java.security.AccessControlException: WFSM000001: Permission check failed (permission "("java.lang.RuntimePermission" "getClassLoader")" in code source "(vfs:/content/FineDatabasePersistenceWebFailoverTestCase.war/WEB-INF/classes <no signer certificates>)" of "ModuleClassLoader for Module "deployment.FineDatabasePersistenceWebFailoverTestCase.war" from Service Module Loader")
      	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
      	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
      	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1739)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at org.wildfly.clustering.context@27.0.0.Beta1-SNAPSHOT//org.wildfly.clustering.context.ContextReferenceExecutor.execute(ContextReferenceExecutor.java:49)
      	at org.wildfly.clustering.context@27.0.0.Beta1-SNAPSHOT//org.wildfly.clustering.context.ContextualExecutor$1.run(ContextualExecutor.java:78)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      Caused by: java.security.AccessControlException: WFSM000001: Permission check failed (permission "("java.lang.RuntimePermission" "getClassLoader")" in code source "(vfs:/content/FineDatabasePersistenceWebFailoverTestCase.war/WEB-INF/classes <no signer certificates>)" of "ModuleClassLoader for Module "deployment.FineDatabasePersistenceWebFailoverTestCase.war" from Service Module Loader")
      	at org.wildfly.security.elytron-base@1.19.0.Final//org.wildfly.security.manager.WildFlySecurityManager.checkPermission(WildFlySecurityManager.java:309)
      	at org.wildfly.security.elytron-base@1.19.0.Final//org.wildfly.security.manager.WildFlySecurityManager.checkPermission(WildFlySecurityManager.java:201)
      	at java.base/java.lang.ClassLoader.checkClassLoaderPermission(ClassLoader.java:2060)
      	at java.base/java.lang.Class.getClassLoader(Class.java:830)
      	at org.infinispan.persistence.jdbc@13.0.10.Final//org.infinispan.persistence.jdbc.common.impl.BaseJdbcStore.lambda$start$0(BaseJdbcStore.java:69)
      	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
      	... 7 more
      

              Unassigned Unassigned
              pferraro@redhat.com Paul Ferraro
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: