[jboss-user] [JBoss Microcontainer Development] - Issues using Javassist TypeInfoFactory in other projects

Kabir Khan do-not-reply at jboss.com
Mon Mar 29 15:48:57 EDT 2010


Kabir Khan [http://community.jboss.org/people/kabir.khan%40jboss.com] replied to the discussion

"Issues using Javassist TypeInfoFactory in other projects"

To view the discussion, visit: http://community.jboss.org/message/534493#534493

--------------------------------------------------------------
> ANIL SALDHANA wrote:
> 
> I would probably start here:
> =================================
> on: access denied (java.lang.RuntimePermission accessClassInPackage.sun.reflect)
> at org.jboss.reflect.plugins.javassist.bytecode.JavassistMemberFactory.makeClass(JavassistMemberFactory.java:296)
> at
> ======================
> 
> Place a privileged block.
That line is just a rethrow from a catch block:

         final ClassLoader cl = target.getClassPool().getClassLoader();
 
         return AccessController.doPrivileged(new PrivilegedExceptionAction<Class<T>>() //Line 281
         {
            public Class<T> run() throws Exception
            {
               return FactoryHelper.toClass(cf, cl); //Line 285
            }
         });
 
      }
      catch(RuntimeException e)
      {
         throw e;
      }
      catch (Exception e)
      {
         throw new RuntimeException(e); //Line 296
      }
   }


the real work is done here:

Caused by: java.security.PrivilegedActionException: javassist.CannotCompileException: by java.security.AccessControlException: access denied
(java.lang.RuntimePermission accessClassInPackage.sun.reflect)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.reflect.plugins.javassist.bytecode.JavassistMemberFactory.makeClass(JavassistMemberFactory.java:281)
... 55 more
Caused by: javassist.CannotCompileException: by java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClass
InPackage.sun.reflect)
at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:169)
at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:136)
at org.jboss.reflect.plugins.javassist.bytecode.JavassistMemberFactory$1.run(JavassistMemberFactory.java:285)
at org.jboss.reflect.plugins.javassist.bytecode.JavassistMemberFactory$1.run(JavassistMemberFactory.java:1)
<SNIP/>
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.reflect)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1512)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:327)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at org.jboss.test.classloading.vfs.VFSClassLoader.loadClass(VFSClassLoader.java:55)   <---
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:698)
at java.lang.ClassLoader.defineClass(ClassLoader.java:544)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javassist.util.proxy.SecurityActions$6.run(SecurityActions.java:124)
at java.security.AccessController.doPrivileged(Native Method)
at javassist.util.proxy.SecurityActions.invokeMethod(SecurityActions.java:121)
at javassist.util.proxy.FactoryHelper.toClass2(FactoryHelper.java:182)
at javassist.util.proxy.FactoryHelper.toClass(FactoryHelper.java:163)

I'm not 100% sure, but the marked line would probably be the right place to put it, however that might be a security violation?

--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/534493#534493]

Start a new discussion in JBoss Microcontainer Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2115]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20100329/4bf6b510/attachment.html 


More information about the jboss-user mailing list