]
Flavia Rainone commented on JBAOP-600:
--------------------------------------
The documentation on ClassPreProcessor, states that we must return the original bytes if
no transformation has occurred:
JRockitPluggableClassPreProcessor prevents jvmti agents from working
with jrockit
---------------------------------------------------------------------------------
Key: JBAOP-600
URL:
http://jira.jboss.com/jira/browse/JBAOP-600
Project: JBoss AOP
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Aspect Library
Affects Versions: 2.0.0.CR12
Reporter: Erich Georg Hochmuth
Assigned To: Flavia Rainone
Fix For: 2.0.0.GA
Attachments: JRockitClassPreProcessor.java,
JRockitPluggableClassPreProcessor.java
Original Estimate: 10 minutes
Remaining Estimate: 10 minutes
The preProcess method should return the original bytecode if the class wasn't
modified, but JRockitPluggableClassPreProcessor returns null in this case.
When a jvmti agent is used with jrockit (and uses the ClassFileLoadHook to transform
classes), the jvmti agent is called first to transform this class. The preProcess method
is then called with the jvmti transformed bytecode. If the preProcess method returns null,
the jvmti transformed bytecode is dismissed too.
It's bad error handling in the jrockit vm, but a bug of the
JRockitPluggableClassPreProcessor.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: