[11u] RFR: 8258414: OldObjectSample events too expensive

Thomas Stüfe thomas.stuefe at gmail.com
Thu Apr 22 11:02:16 UTC 2021


Opened Issue https://bugs.openjdk.java.net/browse/JDK-8265750

...Thomas

On Thu, Apr 22, 2021 at 11:35 AM Aleksey Shipilev <shade at redhat.com> wrote:

> On 4/22/21 11:19 AM, Doerr, Martin wrote:
> > Hi,
> >
> > it did not only break the debug build.
> >
> > We have seen a crash on Windows:
> > #  Internal Error (./src/hotspot/share/runtime/safepoint.cpp:894),
> pid=11412, tid=12932
> > #  fatal error: Deadlock in safepoint code.  Should have called back to
> the VM before blocking.
> >
> > V  [jvm.dll+0x247c64]  report_fatal+0x64  (debug.cpp:268)
> > V  [jvm.dll+0x65e30b]  SafepointSynchronize::block+0x14b
> (safepoint.cpp:893)
> > V  [jvm.dll+0x101d44]  SafepointMechanism::block_if_requested+0x34
> (safepointmechanism.inline.hpp:73)
> > V  [jvm.dll+0x6f0d9a]
> JavaThread::check_safepoint_and_suspend_for_native_trans+0xca
> (thread.cpp:2508)
> > V  [jvm.dll+0x5e3175]  ObjectSampleCheckpoint::on_rotation+0xa5
> (objectsamplecheckpoint.cpp:301)
> > V  [jvm.dll+0x397694]  JfrRecorderService::pre_safepoint_write+0x64
> (jfrrecorderservice.cpp:428)
> > V  [jvm.dll+0x3978a4]  JfrRecorderService::rotate+0x194
> (jfrrecorderservice.cpp:325)
> > V  [jvm.dll+0x398324]  recorderthread_entry+0xd4
> (jfrrecorderthreadloop.cpp:76)
> > V  [jvm.dll+0x6f7649]  JavaThread::run+0x139  (thread.cpp:1840)
> > V  [jvm.dll+0x6f06b4]  Thread::call_run+0x84  (thread.cpp:391)
> > V  [jvm.dll+0x5f8e36]  thread_native_entry+0xd6  (os_windows.cpp:460)
> >
> > Test:
> > jdk/jfr/startupargs/TestOldObjectQueueSize.java
>
> Even on Linux, there are lots of jdk_jfr test failures:
>
>     TEST                                              TOTAL  PASS  FAIL
> ERROR
>  >> jtreg:test/jdk/jdk/jfr                              441   387    54
>  0 <<
>
>
> Mostly failing like this:
>
> #  Internal Error
> (/home/shade/trunks/jdk-updates-jdk11u-dev/src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp:298),
>
> pid=2199952, tid=2200076
> #  assert(SafepointSynchronize::is_at_safepoint()) failed: must be at
> safepoint!
>
> Stack: [0x00007f7cbd920000,0x00007f7cbda21000],  sp=0x00007f7cbda1f700,
> free space=1021k
> Native frames: (J=compiled Java code, A=aot compiled Java code,
> j=interpreted, Vv=VM code, C=native
> code)
> V  [libjvm.so+0x1b836c7]  VMError::report_and_die(int, char const*, char
> const*, __va_list_tag*,
> Thread*, unsigned char*, void*, void*, char const*, int, unsigned
> long)+0x397
> V  [libjvm.so+0x1b845e5]  VMError::report_and_die(Thread*, void*, char
> const*, int, char const*,
> char const*, __va_list_tag*)+0x35
> V  [libjvm.so+0xc3d7aa]  report_vm_error(char const*, int, char const*,
> char const*, ...)+0x10a
> V  [libjvm.so+0x1645973]
> ObjectSampleCheckpoint::on_rotation(ObjectSampler const*)+0x893
> V  [libjvm.so+0x1093c45]  JfrRecorderService::pre_safepoint_write()+0x255
> V  [libjvm.so+0x1093e9c]  JfrRecorderService::write()+0xcc
> V  [libjvm.so+0x1094242]  JfrRecorderService::finalize_current_chunk()+0x22
> V  [libjvm.so+0x10948b0]  JfrRecorderService::rotate(int)+0x370
> V  [libjvm.so+0x1096492]  recorderthread_entry(JavaThread*, Thread*)+0x162
> V  [libjvm.so+0x1ab7d92]  JavaThread::thread_main_inner()+0x252
> V  [libjvm.so+0x1ab0e8b]  Thread::call_run()+0x7b
> V  [libjvm.so+0x1694806]  thread_native_entry(Thread*)+0x116
>
>
> David, Jaroslav, you have to run the targeted subsystem tests when doing a
> backport like this!
>
> --
> Thanks,
> -Aleksey
>
>


More information about the jdk-updates-dev mailing list