[8u] 8178870: instrumentation.retransformClasses cause coredump

Alvarez, David alvdavi at amazon.com
Wed Sep 25 14:02:16 UTC 2019


Hi,

Sadly, applying your patch was not enough to make jtreg run:

jtreg -v:summary -jdk:/home/alvdavi/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image hotspot/test/runtime/RedefineTests
Directory "JTwork" not found: creating
Directory "JTreport" not found: creating
Passed: runtime/RedefineTests/RedefineAnnotations.java
FAILED: runtime/RedefineTests/RedefineDoubleDelete.java
Passed: runtime/RedefineTests/RedefineFinalizer.java
Passed: runtime/RedefineTests/RedefineInterfaceCall.java
Passed: runtime/RedefineTests/RedefineRunningMethods.java
Passed: runtime/RedefineTests/RedefineRunningMethodsWithResolutionErrors.java
FAILED: runtime/RedefineTests/test8178870.sh
Test results: passed: 5; failed: 2

This is in a jdk8u232-b07 vanilla build.

I've fixed RedefineDoubleDelete.java by applying this:

diff --git a/test/runtime/RedefineTests/RedefineDoubleDelete.java b/test/runtime/RedefineTests/Redefi
--- a/test/runtime/RedefineTests/RedefineDoubleDelete.java
+++ b/test/runtime/RedefineTests/RedefineDoubleDelete.java
@@ -24,7 +24,11 @@
 /*
  * @test
  * @bug 8178870
+ * @library /testlibrary
  * @summary Redefine class with CFLH twice to test deleting the cached_class_file
+ * @build RedefineClassHelper
+ * @run main RedefineClassHelper
+ * @run main/othervm -javaagent:redefineagent.jar RedefineDoubleDelete
  */

For test8178870.sh, the situation is a little bit trickier. The test will pass
if it is called directly, but it fails when called as part of a group. And I'm
only able to consistently reproduce this behavior if I wipe out the JTwork
folder in between runs:

$ jtreg -v:summary -retain:none -jdk:/home/alvdavi/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image hotspot/test/runtime/RedefineTests/test8178870.sh
Directory "JTwork" not found: creating
Directory "JTreport" not found: creating
Passed: runtime/RedefineTests/test8178870.sh
Test results: passed: 1
Report written to /local/home/alvdavi/hg/jdk8u/JTreport/html/report.html
Results written to /local/home/alvdavi/hg/jdk8u/JTwork

$ rm -rf JTreport JTwork

$ jtreg -v:summary -retain:none -jdk:/home/alvdavi/hg/jdk8u/build/linux-x86_64-normal-server-release/images/j2sdk-image hotspot/test/runtime/RedefineTests/
Directory "JTwork" not found: creating
Directory "JTreport" not found: creating
Passed: runtime/RedefineTests/RedefineAnnotations.java
Passed: runtime/RedefineTests/RedefineDoubleDelete.java
Passed: runtime/RedefineTests/RedefineFinalizer.java
Passed: runtime/RedefineTests/RedefineInterfaceCall.java
Passed: runtime/RedefineTests/RedefineRunningMethods.java
Passed: runtime/RedefineTests/RedefineRunningMethodsWithResolutionErrors.java
FAILED: runtime/RedefineTests/test8178870.sh
Test results: passed: 6; failed: 1
Report written to /local/home/alvdavi/hg/jdk8u/JTreport/html/report.html
Results written to /local/home/alvdavi/hg/jdk8u/JTwork
Error: Some tests failed or other problems occurred.

Later today I will take a look.

--
David

On 2019-09-25, 04:14, "Zhengyu Gu" <zgu at redhat.com> wrote:

    Thanks, Aleksey.
    
    I will wait David's reply to proceed.
    
    -Zhengyu
    
    On 9/25/19 7:07 AM, Aleksey Shipilev wrote:
    > On 9/25/19 1:06 PM, Zhengyu Gu wrote:
    >> Andrew, Aleksey:
    >> What's the process to fix this bad test? Sorry for the troubles.
    > The same process, you just need a new issue that targets openjdk8u232, RFR it here, add
    > jdk8u-critical-request.
    > 
    



More information about the jdk8u-dev mailing list