[webbeans-issues] [JBoss JIRA] Closed: (WBRI-292) SecurityException during WebBeansBootstrap#boot()

Pete Muir (JIRA) jira-events at lists.jboss.org
Tue Jul 28 15:33:29 EDT 2009


     [ https://jira.jboss.org/jira/browse/WBRI-292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pete Muir closed WBRI-292.
--------------------------

    Resolution: Done
      Assignee: Pete Muir


Fixed, I actually tidied up the the setAccessible code a bit and consolidated it in constructors of WB* and Reflections

> SecurityException during WebBeansBootstrap#boot()
> -------------------------------------------------
>
>                 Key: WBRI-292
>                 URL: https://jira.jboss.org/jira/browse/WBRI-292
>             Project: Web Beans
>          Issue Type: Bug
>          Components: Reflection
>         Environment: Google App Engine 1.2.1
>            Reporter: Takeshi Kondo
>            Assignee: Pete Muir
>            Priority: Critical
>             Fix For: 1.0.0.CR1
>
>         Attachments: security_exception.patch
>
>
> I've deployed WebBeans to google app engine,  then SecurityException was caused. In google app engine, don't call Method#setAccessible(boolean) of collection classes.
> WebBeans component caused SecurityException is as follows.
> ----------------
> @RequestScoped
> public class RequestScopedMap extends HashMap<String, Object>
> {
> }
> ----------------
> Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext at 1dae160{/,/base/data/home/apps/lush-life/2.334837686911623456}
> java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is not allowed on protected java.lang.Object java.util.AbstractMap.clone() throws java.lang.CloneNotSupportedException
> 	at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.setAccessible(Method_.java:133)
> 	at org.jboss.webbeans.introspector.jlr.WBMethodImpl.<init>(WBMethodImpl.java:94)
> 	at org.jboss.webbeans.introspector.jlr.WBMethodImpl.of(WBMethodImpl.java:77)
> 	at org.jboss.webbeans.introspector.jlr.WBClassImpl.<init>(WBClassImpl.java:326)
> 	at org.jboss.webbeans.introspector.jlr.WBClassImpl.of(WBClassImpl.java:116)
> 	at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:59)
> 	at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:1)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
> 	at java.util.concurrent.FutureTask.run(Unknown Source)
> 	at org.jboss.webbeans.util.collections.ConcurrentCache.putIfAbsent(ConcurrentCache.java:125)
> 	at org.jboss.webbeans.resources.ClassTransformer.loadClass(ClassTransformer.java:54)
> 	at org.jboss.webbeans.introspector.jlr.AbstractWBType.<init>(AbstractWBType.java:64)
> 	at org.jboss.webbeans.introspector.jlr.WBClassImpl.<init>(WBClassImpl.java:127)
> 	at org.jboss.webbeans.introspector.jlr.WBClassImpl.of(WBClassImpl.java:116)
> 	at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:59)
> 	at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:1)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
> 	at java.util.concurrent.FutureTask.run(Unknown Source)
> 	at org.jboss.webbeans.util.collections.ConcurrentCache.putIfAbsent(ConcurrentCache.java:125)
> 	at org.jboss.webbeans.resources.ClassTransformer.loadClass(ClassTransformer.java:54)
> 	at org.jboss.webbeans.introspector.jlr.AbstractWBType.<init>(AbstractWBType.java:64)
> 	at org.jboss.webbeans.introspector.jlr.WBClassImpl.<init>(WBClassImpl.java:127)
> 	at org.jboss.webbeans.introspector.jlr.WBClassImpl.of(WBClassImpl.java:116)
> 	at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:59)
> 	at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:1)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
> 	at java.util.concurrent.FutureTask.run(Unknown Source)
> 	at org.jboss.webbeans.util.collections.ConcurrentCache.putIfAbsent(ConcurrentCache.java:125)
> 	at org.jboss.webbeans.resources.ClassTransformer.loadClass(ClassTransformer.java:54)
> 	at org.jboss.webbeans.bootstrap.BeanDeployer.addClass(BeanDeployer.java:65)
> 	at org.jboss.webbeans.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:84)
> 	at org.jboss.webbeans.bootstrap.WebBeansBootstrap.registerBeans(WebBeansBootstrap.java:234)
> 	at org.jboss.webbeans.bootstrap.WebBeansBootstrap.boot(WebBeansBootstrap.java:287)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the weld-issues mailing list