-
1. Re: Dynamic submission : pb when re-submitting new byteman rule
pasturel Feb 11, 2014 11:09 AM (in response to pasturel)humm ! I think i am in the case of the JVM bug related in the documentation : page 48 of the Programmer guide case 2 of submit pasted below.
I have continued the test with re-submitting the first rule, and the first rule is correctly submitted and triggered.
n.b. Due to a bug in Sun's JDK 6 and 7 and in OpenJDK 6 and 7 errors may occur when
installing a script in case 2 above (where an uploaded rule is applied to an already loaded
class which has not yet been transformed). Scripts which employ references to local
variables or method parameters by name will fail to compile. These JDKs retain the
original bytecode for classes which are successfully transformed. However, where classes
are not transformed the bytecode is discarded. When a retransform is requested the JVM's
in-memory represenation of the class (a C++ klass instance) is used to reconstitute the
bytecode. Unfortunately the current reconstitute code does not recreate the local variable
tables which were in the originally loaded bytecode. There is an OpenJDK bugzilla
(#100100) and fix for this problem but the fix has not yet been incorporated into a release.
-
2. Re: Re: Dynamic submission : pb when re-submitting new byteman rule
adinn Mar 13, 2014 4:36 AM (in response to pasturel)Hi Jean-Loius,
humm ! I think i am in the case of the JVM bug related in the documentation : page 48 of the Programmer guide case 2 of submit pasted below.
That bug was fixed in OpenJDK8 about 6-9 months ago. I believe the patch has also been back-ported to recent OpenJDK7 releases. So, maybe you should retry on a recent OpenJDK7.
-
3. Re: Dynamic submission : pb when re-submitting new byteman rule
pasturel Jun 4, 2014 12:59 PM (in response to adinn)I have back in this forum, and i tested a re-submit of a new rule wkith :
open-jdk 1.7.0_55 and Oracle JDK 1.7.0_60@ and it runs as expected with no error.
I have not tried with older version.I see that the recent Byteman programmerGuide is up to date for this issue.