[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