RFR: CODETOOLS-7902350: JCov 3.0,method mode: The instrumented OpenJDK 12 fails on starting with StackOverflowError

Alexandre (Shura) Iline alexandre.iline at oracle.com
Tue Jan 15 23:58:21 UTC 2019


The changes look good, Leonid.

Perhaps later, as a separate enhancement, it would make sense to completely rewrite com.sun.tdk.jcov.util.Utils.isAdvanceStaticInstrAllowed(String, String) method as it is written poorly. I am guessing it started when there was only one class to exclude, and then it was OK, but now it does not look good.

Shura

> On Jan 15, 2019, at 2:55 PM, Leonid Kuskov <Leonid.Kuskov at Oracle.com> wrote:
> 
> Hi,
> 
> Starting from the version 12 instrumented JDK fails with the StackOverflow:
> 
> Internal Error (/scratch/mesos/slaves/2dd962d0-8988-479b-a804-57ab764ada59-S1642/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/a33a9ec7-fbdb-4eb2-ac32-2e8e766f18b0/runs/0466c2ad-f030-4120-995b-bad4b331f824/workspace/open/src/hotspot/share/utilities/exceptions.cpp:231), pid=72260, tid=8195
> #  assert(k->is_initialized()) failed: need to increase java_thread_min_stack_allowed calculation
> ...
> 
> Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
> j  com.sun.tdk.jcov.runtime.CollectDetect.hit(III)V+3 java.base
> j  java.lang.NullPointerException.<init>()V+6 java.base
> v  ~StubRoutines::call_stub
> j  com.sun.tdk.jcov.runtime.CollectDetect.hit(III)V+3 java.base
> j  java.lang.NullPointerException.<init>()V+6 java.base
> v  ~StubRoutines::call_stub
> 
> ...
> 
> com.sun.tdk.jcov.runtime.CollectDetect.hit(III)V+3 java.base
> j  java.lang.Throwable.<clinit>()V+9 java.base
> v  ~StubRoutines::call_stub
> j  com.sun.tdk.jcov.runtime.CollectDetect.hit(III)V+3 java.base
> j  java.lang.System.allowSecurityManager()Z+9 java.base
> j java.lang.System.getSecurityManager()Ljava/lang/SecurityManager;+6 java.base
> j  java.lang.ThreadGroup.checkAccess()V+6 java.base
> j java.lang.ThreadGroup.checkParentAccess(Ljava/lang/ThreadGroup;)Ljava/lang/Void;+7 java.base
> j java.lang.ThreadGroup.<init>(Ljava/lang/ThreadGroup;Ljava/lang/String;)V+8 java.base
> v  ~StubRoutines::call_stub
> ...
> 
> There is a trivial fix for this:
> 
> Bug: https://bugs.openjdk.java.net/browse/CODETOOLS-7902350
> Webrev: http://cr.openjdk.java.net/~lkuskov/7902350/webrev.00/
> 
> Please review it.
> 
> Thanks,
> Leonid
> 
> 
> 



More information about the code-tools-dev mailing list