[jboss-jira] [JBoss JIRA] Closed: (JBAOP-126) Retain ProtectionDomain for instrumented classes

Kabir Khan (JIRA) jira-events at lists.jboss.org
Mon May 12 14:24:33 EDT 2008


     [ http://jira.jboss.com/jira/browse/JBAOP-126?page=all ]

Kabir Khan closed JBAOP-126.
----------------------------

    Resolution: Out of Date

Scott did this ages ago

> Retain ProtectionDomain for instrumented classes
> ------------------------------------------------
>
>                 Key: JBAOP-126
>                 URL: http://jira.jboss.com/jira/browse/JBAOP-126
>             Project: JBoss AOP
>          Issue Type: Bug
>            Reporter: Scott M Stark
>
> Sorry I wasn't clearer in my original post. It's been a while since I looked at this issue.
> My particular problem is that the generated field wrapper inner classes don't get assigned the correct protection domain. Here's a stack trace that shows the problem occuring.
>   | 	  getDefaultDomain():1583, ClassLoader.java
>   | 	  preDefineClass():483, ClassLoader.java
>   | 	  defineClass():614, ClassLoader.java
>   | 	  defineClass():465, ClassLoader.java
>   | 	  invoke0():-1, NativeMethodAccessorImpl.java
>   | 	  invoke():39, NativeMethodAccessorImpl.java
>   | 	  invoke():25, DelegatingMethodAccessorImpl.java
>   | 	  invoke():585, Method.java
>   | 	  toClass():52, StandaloneClassPool.java
>   | 	  toClass():962, CtClass.java
>   | 	  compileOrLoadClass():119, TransformerCommon.java
>   | 	  createOptimizedInvocationClass():572, FieldAccessTransformer.java
>   | 	  buildOptimizedReadWrapper():358, FieldAccessTransformer.java
>   | 	  buildOptimizedWrappers():342, FieldAccessTransformer.java
>   | 	  buildFieldWrappers():232, FieldAccessTransformer.java
>   | 	  buildFieldWrappers():65, FieldAccessTransformer.java
>   | 	  transform():592, Instrumentor.java
>   | 	  translate():572, AspectManager.java
>   | 	  transform():490, AspectManager.java
>   | 	  aspectTransform():100, AopAgent.java
>   | 	  transform():141, AopAgent.java
>   | 	  transform():122, TransformerManager.java
>   | 	  transform():155, InstrumentationImpl.java
>   | 	  defineClass1():-1, ClassLoader.java
>   | 	  defineClass():620, ClassLoader.java
>   | 	  defineClass():320, BaseURLClassLoader.java
>   | 	  access$000():38, BaseURLClassLoader.java
>   | 	  run():108, BaseURLClassLoader.java
>   | 	  run():98, BaseURLClassLoader.java
>   | 	  doPrivileged():-1, AccessController.java
>   | 	  findClass():96, BaseURLClassLoader.java
>   | 	  findClassInternal():168, BaseClassLoader.java
>   | 	  findClassInternal():146, BaseClassLoader.java
>   | 	  findClassInternal():49, FrameworkClassLoader.java
>   | 	  loadClass():280, BaseClassLoader.java
>   | 	  loadClass():251, ClassLoader.java
>   | 	  loadClassInternal():319, ClassLoader.java
>   | 	  initialiseDomains():117, DomainManagerImpl.java
>   | 	  <init>():78, DomainManagerImpl.java
>   | 	  start():153, FrameworkController.java
>   | 	  invoke0():-1, NativeMethodAccessorImpl.java
>   | 	  invoke():39, NativeMethodAccessorImpl.java
>   | 	  invoke():25, DelegatingMethodAccessorImpl.java
>   | 	  invoke():585, Method.java
>   | 	  initialiseFramework():366, FrameworkLoader.java
>   | 	  main():463, FrameworkLoader.java
>   | 
> The toClass method of StandaloneClassPool does the following:
>   |          Class cl = Class.forName("java.lang.ClassLoader");
>   |          java.lang.reflect.Method method
>   |                  = cl.getDeclaredMethod("defineClass",
>   |                          new Class[]{String.class, byte[].class,
>   |                                      int.class, int.class});
>   | 
> My classloader doesn't get a chance to define the class, causing the field wrappers to be assigned a default protection domain.
> So, what's actually needed is for the class pool to use the correct classloader when calling defineClass.
> Hope that helps.
> Tim.

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

        



More information about the jboss-jira mailing list