[
https://issues.jboss.org/browse/WFLY-127?page=com.atlassian.jira.plugin.s...
]
David Lloyd reassigned WFLY-127:
--------------------------------
Assignee: David Lloyd (was: Ondrej Zizka)
EJB invocations are not in an isolated access control context
-------------------------------------------------------------
Key: WFLY-127
URL:
https://issues.jboss.org/browse/WFLY-127
Project: WildFly
Issue Type: Bug
Components: EJB
Reporter: David Lloyd
Assignee: David Lloyd
Fix For: 8.0.0.Alpha1
Not only do we get exceptions like this beauty:
{noformat}
[31m19:34:19,745 ERROR [org.hornetq.ra] (Thread-1) HQ154005: Failed to deliver message:
javax.ejb.EJBTransactionRolledbackException: java.lang.RuntimeException:
java.security.AccessControlException: access denied
("java.lang.RuntimePermission" "accessDeclaredMembers")
at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleInCallerTx(CMTTxInterceptor.java:138)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:228)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:317)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:214)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
[jboss-as-ee-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:65)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponentDescription$5$1.processInvocation(MessageDrivenComponentDescription.java:204)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
[jboss-as-ee-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)
[jboss-as-ee-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at
org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182)
[jboss-as-ee-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72)
[jboss-as-ee-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at
org.jboss.as.test.smoke.jms.auxiliary.QueueMessageDrivenBean$$$view1.onMessage(Unknown
Source) [test.jar:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_15]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[rt.jar:1.7.0_15]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[rt.jar:1.7.0_15]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_15]
at
org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:155)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at
org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at
org.jboss.as.test.smoke.jms.auxiliary.QueueMessageDrivenBean$$$endpoint1.onMessage(Unknown
Source)
at
org.hornetq.ra.inflow.HornetQMessageHandler.onMessage(HornetQMessageHandler.java:313)
at
org.hornetq.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:1016)
at
org.hornetq.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:52)
at
org.hornetq.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1161)
at
org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:106)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_15]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_15]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_15]
Caused by: com.google.common.collect.ComputationException: java.lang.RuntimeException:
java.security.AccessControlException: access denied
("java.lang.RuntimePermission" "accessDeclaredMembers")
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:400)
at
org.jboss.weld.resources.ClassTransformer.loadAnnotation(ClassTransformer.java:196)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.metadata.cache.AnnotationModel.<init>(AnnotationModel.java:53)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at org.jboss.weld.metadata.cache.QualifierModel.<init>(QualifierModel.java:65)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.metadata.cache.MetaAnnotationStore$QualifierFunction.apply(MetaAnnotationStore.java:85)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.metadata.cache.MetaAnnotationStore$QualifierFunction.apply(MetaAnnotationStore.java:78)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:358)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153)
at
com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:396)
at
org.jboss.weld.metadata.cache.MetaAnnotationStore.getBindingTypeModel(MetaAnnotationStore.java:166)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.resolution.QualifierInstance.<init>(QualifierInstance.java:54)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.resolution.ResolvableBuilder.addQualifier(ResolvableBuilder.java:140)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.resolution.ResolvableBuilder.addQualifiers(ResolvableBuilder.java:177)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at org.jboss.weld.manager.BeanManagerImpl.getBeans(BeanManagerImpl.java:454)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:87)
[jboss-as-weld-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)
[jboss-as-ee-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at
org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:226)
[jboss-as-ejb3-8.0.0.Alpha1-SNAPSHOT.jar:8.0.0.Alpha1-SNAPSHOT]
... 39 more
Caused by: java.lang.RuntimeException: java.security.AccessControlException: access
denied ("java.lang.RuntimePermission" "accessDeclaredMembers")
at
org.jboss.weld.util.reflection.SecureReflectionAccess.runAndWrap(SecureReflectionAccess.java:65)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.util.reflection.SecureReflections.getDeclaredFields(SecureReflections.java:102)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at org.jboss.weld.introspector.jlr.WeldClassImpl.<init>(WeldClassImpl.java:155)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.introspector.jlr.WeldAnnotationImpl.<init>(WeldAnnotationImpl.java:74)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.introspector.jlr.WeldAnnotationImpl.create(WeldAnnotationImpl.java:63)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.resources.ClassTransformer$TransformClassToWeldAnnotation.apply(ClassTransformer.java:73)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.resources.ClassTransformer$TransformClassToWeldAnnotation.apply(ClassTransformer.java:64)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:358)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153)
at
com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:396)
... 64 more
Caused by: java.security.AccessControlException: access denied
("java.lang.RuntimePermission" "accessDeclaredMembers")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:366)
[rt.jar:1.7.0_15]
at java.security.AccessController.checkPermission(AccessController.java:560)
[rt.jar:1.7.0_15]
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
[rt.jar:1.7.0_15]
at java.lang.SecurityManager.checkMemberAccess(SecurityManager.java:1679)
[rt.jar:1.7.0_15]
at java.lang.Class.checkMemberAccess(Class.java:2176) [rt.jar:1.7.0_15]
at java.lang.Class.getDeclaredFields(Class.java:1761) [rt.jar:1.7.0_15]
at
org.jboss.weld.util.reflection.SecureReflections$4.work(SecureReflections.java:105)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.util.reflection.SecureReflections$4.work(SecureReflections.java:102)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at
org.jboss.weld.util.reflection.SecureReflectionAccess.runAndWrap(SecureReflectionAccess.java:63)
[weld-core-1.1.10.Final.jar:2012-10-12 10:00]
... 75 more
{noformat}
...but it also means that we have a bunch of doPrivileged in interceptors that we do not
need to have.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira