JShell uses 100% of one core all the time (JDK 15 Build 27)

Christian Stein sormuras at gmail.com
Thu Jul 16 09:52:51 UTC 2020


Replaced some / with \ ... ;-)

It exactly compiled, started, and doesn't eat CPU cycles anymore like you
wrote.

So +1 for the patch. Will add a comment to the issue as well.

Cheers,
Christian

On Thu, Jul 16, 2020 at 11:44 AM Jan Lahoda <jan.lahoda at oracle.com> wrote:

> On 15. 07. 20 19:23, Christian Stein wrote:
> > Hi Jan,
> >
> > I reviewed your CR on the webrev and think it resolves the issue.
> >
> > I also +1'ed https://github.com/jline/jline3/issues/552
> >
> > Two questions:
> >
> > - Does it only happen on Windows? If yes, why?
>
> I believe Windows only. The reason is that inputs work differently on
> Linux and on Windows. On Linux, reading goes basically from System.in,
> with some wrapping, but not through NonBlockingReaderInputStream, as no
> Reader->InputStream conversion is needed.
>
> On Windows, the primary source of data is a Reader, based on reading
> characters directly from the console (System.in is basically ignored, to
> my knowledge). That gets converted to InputStream using
> NonBlockingReaderInputStream.
>
> > - How can I, without compiling JShell on my own, verify it?
> >    Patch that class (*) in my JDK installation temporarily?
>
> It should be easy to compile the class and apply it:
> -create a directory called 8249367 somewhere
> -download:
>
> http://hg.openjdk.java.net/jdk/jdk15/raw-file/244298608b49/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/StopDetectingInputStream.java
> into:
> 8249367/src/jdk/internal/jshell/tool/StopDetectingInputStream.java
> -using a recent JDK 15 build, inside the 8249367 directory do:
> javac --patch-module jdk.jshell=src -d classes
> src/jdk/internal/jshell/tool/StopDetectingInputStream.java
> jshell --enable-preview -J--patch-module=jdk.jshell=classes
>
> That should run JShell with the patch.
>
> Jan
>
> >
> > Cheers,
> > Christian
> >
> > (*) If you could send the compiled class via mail, that would be great.
> >
> > On Wed, Jul 15, 2020 at 2:18 PM Jan Lahoda <jan.lahoda at oracle.com
> > <mailto:jan.lahoda at oracle.com>> wrote:
> >
> >     FWIW, I've sent:
> >
> https://mail.openjdk.java.net/pipermail/kulla-dev/2020-July/002551.html
> >
> >     I'd be happy if someone else could verify it solves the issue (given
> >     the
> >     upcoming RDP2).
> >
> >     Thanks,
> >           Jan
> >
> >     On 15. 07. 20 9:15, Christian Stein wrote:
> >      > JShell 16-ea is affected, too.
> >      >
> >      > Hoping that the fix is as simple as you think, Jan.
> >      > Perhaps, it can make its way into JShell 15 before GA.
> >      >
> >      > Cheers,
> >      > Christian
> >      >
> >      >
> >      > On Tue, Jul 14, 2020 at 9:05 PM Jan Lahoda <jan.lahoda at oracle.com
> >     <mailto:jan.lahoda at oracle.com>
> >      > <mailto:jan.lahoda at oracle.com <mailto:jan.lahoda at oracle.com>>>
> wrote:
> >      >
> >      >     Hi,
> >      >
> >      >     Thanks for the report and analysis. I've filled:
> >      > https://bugs.openjdk.java.net/browse/JDK-8249367
> >      >
> >      >     I think the issue is in:
> >      >
> >
> http://hg.openjdk.java.net/jdk/jdk/file/1e249ca8d585/src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/NonBlocking.java#l104
> >      >
> >      >     If the timeout is zero (which it is when invoked from
> >      >     StopDetectingInputStream, as it calls the read method without
> >     timeout),
> >      >     the method invocation will exit immediately, and it will be
> >     immediately
> >      >     called again, etc.
> >      >
> >      >     Jan
> >      >
> >      >     On 13. 07. 20 6:00, Aaron Scott-Boddendijk wrote:
> >      >      > I can confirm the CPU behaves as suggested with a sequence
> of
> >      >     entering and
> >      >      > leaving `/edit`.
> >      >      >
> >      >      > Thanks Christian.
> >      >      >
> >      >      > --
> >      >      > Aaron Scott-Boddendijk
> >      >      >
> >      >      > On Mon, Jul 13, 2020 at 3:27 PM Christian Stein
> >      >     <sormuras at gmail.com <mailto:sormuras at gmail.com>
> >     <mailto:sormuras at gmail.com <mailto:sormuras at gmail.com>>> wrote:
> >      >      >
> >      >      >> It's coming from the "while(true)"-loop in
> >      >     StopDetectingInputStream.java
> >      >      >> [0].
> >      >      >>
> >      >      >> Aaron, try to open an external editor within the JShell
> >     session via
> >      >      >>
> >      >      >>    /edit
> >      >      >>
> >      >      >> The CPU usage should drop immediately to normal levels.
> >      >      >> As soon as you close the editor (it's the internal JShell
> >     Edit
> >      >     Pad for me)
> >      >      >> the thread is again eating CPU cycles. Can you confirm
> this?
> >      >      >>
> >      >      >> While the editor is opened, the thread waits via
> >      >      >>
> >      >      >>
> >      >
> >       jdk.internal.jshell.tool.StopDetectingInputStream.waitInputNeeded
> >      >     line:
> >      >      >> 164
> >      >      >>
> >      >      >> If no editor is open, the "input.read()" method does
> >     never wait:
> >      >      >>
> >      >      >>
> >      >      >>
> >      >
> >
>  jdk.internal.jshell.tool.StopDetectingInputStream.lambda$setInputStream$0
> >      >      >> line: 66
> >      >      >>
> >      >      >> Cheers,
> >      >      >> Christian
> >      >      >>
> >      >      >> [0]:
> >      >      >>
> >      >      >>
> >      >
> >
> https://github.com/openjdk/jdk/blob/faf4d7ccb792b16092c791c0ac77acdd440dbca1/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/StopDetectingInputStream.java#L57-L74
> >      >      >>
> >      >      >> On Mon, Jul 13, 2020 at 5:05 AM Christian Stein
> >      >     <sormuras at gmail.com <mailto:sormuras at gmail.com>
> >     <mailto:sormuras at gmail.com <mailto:sormuras at gmail.com>>>
> >      >      >> wrote:
> >      >      >>
> >      >      >>> Seems like "read line" from "jline" is underlying reason:
> >      >      >>>
> >      >      >>> Thread-2 [31] (RUNNABLE)
> >      >      >>>
> >      >      >>>
> >      >      >>
> >      >
> >
>  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await
> >      >      >>> line: 1749
> >      >      >>>
>  jdk.internal.org.jline.utils.NonBlockingPumpReader.read
> >      >     line: 77
> >      >      >>>     jdk.internal.org.jline.utils.NonBlockingReader.read
> >     line: 57
> >      >      >>>
> >      >      >>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.utils.NonBlocking$NonBlockingReaderInputStream.read
> >      >      >>> line: 104
> >      >      >>>
>  jdk.internal.org.jline.utils.NonBlockingInputStream.read
> >      >     line: 36
> >      >      >>>
> >      >      >>>
> >      >      >>
> >      >
> >
>  jdk.internal.jshell.tool.StopDetectingInputStream.lambda$setInputStream$0
> >      >      >>> line: 66
> >      >      >>>
> >      >      >>>
> >      >      >>
> >      >
> >
>  jdk.internal.jshell.tool.StopDetectingInputStream$$Lambda$347/0x0000000800cff330.run
> >      >      >>> line: not available
> >      >      >>>     java.lang.Thread.run line: 832
> >      >      >>>
> >      >      >>> It produces a constant high CPU usage and allocates a
> lot of
> >      >     RAM per
> >      >      >>> second.
> >      >      >>>
> >      >      >>> Thread Name Thread State Blocked Count Total CPU Usage
> >     Deadlocked
> >      >      >>> Allocated Memory
> >      >      >>> Thread-2 RUNNABLE 1 0.06252084028009336 Not Enabled
> >     196198305136 B
> >      >      >>>
> >      >      >>>
> >      >      >>>
> >      >      >>>
> >      >      >>>
> >      >      >>> On Mon, Jul 13, 2020 at 4:52 AM Christian Stein
> >      >     <sormuras at gmail.com <mailto:sormuras at gmail.com>
> >     <mailto:sormuras at gmail.com <mailto:sormuras at gmail.com>>>
> >      >      >>> wrote:
> >      >      >>>
> >      >      >>>> Hi Aaron,
> >      >      >>>>
> >      >      >>>> I observe the same behaviour of JShell 15 build 30.
> >      >      >>>>
> >      >      >>>> Here, the 100% CPU workload is split on to 3-4 logical
> >     processors.
> >      >      >>>> Grabbed an animated GIF of "jshell.exe -- /exit"
> >     session at [0].
> >      >      >>>> To me, it looks like a loop is running wild, w/o a
> >      >      >>>> Thread.yield()/.sleep() call.
> >      >      >>>>
> >      >      >>>> Microsoft Windows [Version 10.0.19041.329]
> >      >      >>>>
> >      >      >>>> openjdk 15-ea 2020-09-15
> >      >      >>>> OpenJDK Runtime Environment (build 15-ea+30-1476)
> >      >      >>>> OpenJDK 64-Bit Server VM (build 15-ea+30-1476, mixed
> mode,
> >      >     sharing)
> >      >      >>>>
> >      >      >>>> Cheers,
> >      >      >>>> Christian
> >      >      >>>>
> >      >      >>>> [0]:
> >      >      >>>>
> >      >      >>
> >      >
> >
> https://drive.google.com/file/d/1KOQO5B9WrM4C43K3AB7H9VVPuh9hdCOe/view?usp=sharing
> >      >      >>>>
> >      >      >>>>
> >      >      >>>> On Mon, Jul 13, 2020 at 4:24 AM Aaron Scott-Boddendijk <
> >      >      >> talden at gmail.com <mailto:talden at gmail.com>
> >     <mailto:talden at gmail.com <mailto:talden at gmail.com>>>
> >      >      >>>> wrote:
> >      >      >>>>
> >      >      >>>>> This still exists in JDK 15 build 31.
> >      >      >>>>>
> >      >      >>>>> Is any other Windows user able to reproduce this? I
> >     have two
> >      >     machines,
> >      >      >>>>> one
> >      >      >>>>> laptop and one desktop that show a CPU thread
> constantly @
> >      >     100% just by
> >      >      >>>>> starting JShell. For the desktop machine that's not a
> >     major
> >      >     issue but
> >      >      >> for
> >      >      >>>>> the laptop this spins up the fans and eats the battery.
> >      >      >>>>>
> >      >      >>>>> JShell in JDK 14 is fine.
> >      >      >>>>>
> >      >      >>>>> I've yet to hear of any other user confirming this
> issue.
> >      >      >>>>>
> >      >      >>>>> --
> >      >      >>>>> Aaron Scott-Boddendijk
> >      >      >>>>>
> >      >      >>>>>
> >      >      >>>>> On Fri, Jun 26, 2020 at 2:00 PM Aaron Scott-Boddendijk
> <
> >      >      >> talden at gmail.com <mailto:talden at gmail.com>
> >     <mailto:talden at gmail.com <mailto:talden at gmail.com>>
> >      >      >>>>>>
> >      >      >>>>> wrote:
> >      >      >>>>>
> >      >      >>>>>> Just confirming that:
> >      >      >>>>>>
> >      >      >>>>>> * This still exists in JDK 15 build 29
> >      >      >>>>>> * Occurs on multiple unrelated Windows 10 machines
> with
> >      >     differing
> >      >      >> major
> >      >      >>>>>> versions of the OS.
> >      >      >>>>>> * Does not occur in JDK 14.01 on these machines
> >     (OpenJDK 64-Bit
> >      >      >> Server
> >      >      >>>>> VM
> >      >      >>>>>> Zulu14.28+21-CA)
> >      >      >>>>>> * Does not appear to occur on Linux
> >      >      >>>>>>
> >      >      >>>>>> --
> >      >      >>>>>> Aaron Scott-Boddendijk
> >      >      >>>>>>
> >      >      >>>>>>
> >      >      >>>>>> On Tue, Jun 16, 2020 at 11:16 AM Aaron
> Scott-Boddendijk <
> >      >      >>>>> talden at gmail.com <mailto:talden at gmail.com>
> >     <mailto:talden at gmail.com <mailto:talden at gmail.com>>>
> >      >      >>>>>> wrote:
> >      >      >>>>>>
> >      >      >>>>>>> This is the thread-dump from the JVM that VisualVM
> >     sees as
> >      >     using a
> >      >      >>>>> core...
> >      >      >>>>>>>
> >      >      >>>>>>> 2020-06-16 11:07:35
> >      >      >>>>>>> Full thread dump OpenJDK 64-Bit Server VM
> (15-ea+27-1372
> >      >     mixed mode,
> >      >      >>>>>>> sharing):
> >      >      >>>>>>>
> >      >      >>>>>>> Threads class SMR info:
> >      >      >>>>>>> _java_thread_list=0x000001e34a6040f0, length=23,
> >     elements={
> >      >      >>>>>>> 0x000001e31c1a1dc0, 0x000001e349035ee0,
> >     0x000001e349037250,
> >      >      >>>>>>> 0x000001e349058ae0,
> >      >      >>>>>>> 0x000001e34905c5b0, 0x000001e34905f710,
> >     0x000001e3490603f0,
> >      >      >>>>>>> 0x000001e349065140,
> >      >      >>>>>>> 0x000001e34906d620, 0x000001e349b36a20,
> >     0x000001e349b8c690,
> >      >      >>>>>>> 0x000001e349da3400,
> >      >      >>>>>>> 0x000001e349daa7c0, 0x000001e349dbb640,
> >     0x000001e34a141140,
> >      >      >>>>>>> 0x000001e349d555c0,
> >      >      >>>>>>> 0x000001e34b07f030, 0x000001e34a461c90,
> >     0x000001e34a45fae0,
> >      >      >>>>>>> 0x000001e34a45ffb0,
> >      >      >>>>>>> 0x000001e34a4617c0, 0x000001e34a462160,
> >     0x000001e34a45f610
> >      >      >>>>>>> }
> >      >      >>>>>>>
> >      >      >>>>>>> "main" #1 prio=5 os_prio=0 cpu=1078.13ms
> elapsed=341.81s
> >      >      >>>>>>> tid=0x000001e31c1a1dc0 nid=0x16b0 in Object.wait()
> >      >      >>>>> [0x000000340d9fe000]
> >      >      >>>>>>>     java.lang.Thread.State: TIMED_WAITING (on object
> >     monitor)
> >      >      >>>>>>>          at java.lang.Object.wait(java.base at 15-ea
> /Native
> >      >     Method)
> >      >      >>>>>>>          - waiting on <no object reference available>
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.utils.NonBlockingInputStreamImpl.read(jdk.internal.le at 15-ea
> >      >      >>>>>>> /NonBlockingInputStreamImpl.java:139)
> >      >      >>>>>>>          - locked <0x000000060fe87338> (a
> >      >      >>>>>>> jdk.internal.jshell.tool.ConsoleIOContext$1)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.utils.NonBlockingInputStream.read(jdk.internal.le at 15-ea
> >      >      >>>>>>> /NonBlockingInputStream.java:62)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.utils.NonBlocking$NonBlockingInputStreamReader.read(jdk.internal.le at 15-ea
> >      >      >>>>>>> /NonBlocking.java:168)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.utils.NonBlockingReader.read(jdk.internal.le at 15-ea
> >      >      >>>>>>> /NonBlockingReader.java:57)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.keymap.BindingReader.readCharacter(jdk.internal.le at 15-ea
> >      >      >>>>>>> /BindingReader.java:160)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.keymap.BindingReader.readBinding(jdk.internal.le at 15-ea
> >      >      >>>>>>> /BindingReader.java:110)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.keymap.BindingReader.readBinding(jdk.internal.le at 15-ea
> >      >      >>>>>>> /BindingReader.java:61)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.reader.impl.LineReaderImpl.doReadBinding(jdk.internal.le at 15-ea
> >      >      >>>>>>> /LineReaderImpl.java:913)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.reader.impl.LineReaderImpl.readBinding(jdk.internal.le at 15-ea
> >      >      >>>>>>> /LineReaderImpl.java:946)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.jshell.tool.ConsoleIOContext$2.readBinding(jdk.jshell at 15-ea
> >      >      >>>>>>> /ConsoleIOContext.java:154)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.reader.impl.LineReaderImpl.readLine(jdk.internal.le at 15-ea
> >      >      >>>>>>> /LineReaderImpl.java:637)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.reader.impl.LineReaderImpl.readLine(jdk.internal.le at 15-ea
> >      >      >>>>>>> /LineReaderImpl.java:454)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
> >       jdk.internal.jshell.tool.ConsoleIOContext.readLine(jdk.jshell at 15-ea
> >      >      >>>>>>> /ConsoleIOContext.java:229)
> >      >      >>>>>>>          at
> >      >      >>>>>
> >     jdk.internal.jshell.tool.JShellTool.getInput(jdk.jshell at 15-ea
> >      >      >>>>>>> /JShellTool.java:1254)
> >      >      >>>>>>>          at
> >      >     jdk.internal.jshell.tool.JShellTool.run(jdk.jshell at 15-ea
> >      >      >>>>>>> /JShellTool.java:1190)
> >      >      >>>>>>>          at
> >      >      >> jdk.internal.jshell.tool.JShellTool.start(jdk.jshell at 15-ea
> >      >      >>>>>>> /JShellTool.java:991)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
>  jdk.internal.jshell.tool.JShellToolBuilder.start(jdk.jshell at 15-ea
> >      >      >>>>>>> /JShellToolBuilder.java:254)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
>  jdk.internal.jshell.tool.JShellToolProvider.main(jdk.jshell at 15-ea
> >      >      >>>>>>> /JShellToolProvider.java:120)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "Reference Handler" #2 daemon prio=10 os_prio=2
> >     cpu=0.00ms
> >      >      >>>>>>> elapsed=341.79s tid=0x000001e349035ee0 nid=0x13fc
> >     waiting on
> >      >      >> condition
> >      >      >>>>>>>   [0x000000340e0fe000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
> >       java.lang.ref.Reference.waitForReferencePendingList(java.base at 15-ea
> >      >      >>>>> /Native
> >      >      >>>>>>> Method)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
>  java.lang.ref.Reference.processPendingReferences(java.base at 15-ea
> >      >      >>>>>>> /Reference.java:241)
> >      >      >>>>>>>          at
> >      >      >>>>>
> >     java.lang.ref.Reference$ReferenceHandler.run(java.base at 15-ea
> >      >      >>>>>>> /Reference.java:213)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "Finalizer" #3 daemon prio=8 os_prio=1 cpu=0.00ms
> >      >     elapsed=341.79s
> >      >      >>>>>>> tid=0x000001e349037250 nid=0x2a60 in Object.wait()
> >      >      >>>>> [0x000000340e1fe000]
> >      >      >>>>>>>     java.lang.Thread.State: WAITING (on object
> monitor)
> >      >      >>>>>>>          at java.lang.Object.wait(java.base at 15-ea
> /Native
> >      >     Method)
> >      >      >>>>>>>          - waiting on <0x0000000601400bc0> (a
> >      >      >>>>>>> java.lang.ref.ReferenceQueue$Lock)
> >      >      >>>>>>>          at
> >     java.lang.ref.ReferenceQueue.remove(java.base at 15-ea
> >      >      >>>>>>> /ReferenceQueue.java:155)
> >      >      >>>>>>>          - locked <0x0000000601400bc0> (a
> >      >      >>>>>>> java.lang.ref.ReferenceQueue$Lock)
> >      >      >>>>>>>          at
> >     java.lang.ref.ReferenceQueue.remove(java.base at 15-ea
> >      >      >>>>>>> /ReferenceQueue.java:176)
> >      >      >>>>>>>          at
> >      >      >>
> java.lang.ref.Finalizer$FinalizerThread.run(java.base at 15-ea
> >      >      >>>>>>> /Finalizer.java:170)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "Signal Dispatcher" #4 daemon prio=9 os_prio=2
> >     cpu=0.00ms
> >      >      >>>>> elapsed=341.78s
> >      >      >>>>>>> tid=0x000001e349058ae0 nid=0x35c8 runnable
> >      >     [0x0000000000000000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "Attach Listener" #5 daemon prio=5 os_prio=2
> >     cpu=125.00ms
> >      >      >>>>> elapsed=341.78s
> >      >      >>>>>>> tid=0x000001e34905c5b0 nid=0x3e0c waiting on
> condition
> >      >      >>>>> [0x0000000000000000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "Service Thread" #6 daemon prio=9 os_prio=0
> cpu=0.00ms
> >      >      >> elapsed=341.78s
> >      >      >>>>>>> tid=0x000001e34905f710 nid=0x398c runnable
> >      >     [0x0000000000000000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "C2 CompilerThread0" #7 daemon prio=9 os_prio=2
> >     cpu=1781.25ms
> >      >      >>>>>>> elapsed=341.78s tid=0x000001e3490603f0 nid=0xcf0
> >     waiting on
> >      >      >> condition
> >      >      >>>>>>>   [0x0000000000000000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>     No compile task
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "C1 CompilerThread0" #10 daemon prio=9 os_prio=2
> >     cpu=765.63ms
> >      >      >>>>>>> elapsed=341.78s tid=0x000001e349065140 nid=0x3e54
> >     waiting on
> >      >      >> condition
> >      >      >>>>>>>   [0x0000000000000000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>     No compile task
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "Sweeper thread" #11 daemon prio=9 os_prio=2
> cpu=0.00ms
> >      >      >>>>> elapsed=341.78s
> >      >      >>>>>>> tid=0x000001e34906d620 nid=0x38bc runnable
> >      >     [0x0000000000000000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "Notification Thread" #12 daemon prio=9 os_prio=0
> >     cpu=0.00ms
> >      >      >>>>>>> elapsed=341.76s tid=0x000001e349b36a20 nid=0x49b8
> >     runnable
> >      >      >>>>>>>   [0x0000000000000000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "Common-Cleaner" #13 daemon prio=8 os_prio=1
> cpu=0.00ms
> >      >      >>>>> elapsed=341.75s
> >      >      >>>>>>> tid=0x000001e349b8c690 nid=0x26e4 in Object.wait()
> >      >      >>>>> [0x000000340eaff000]
> >      >      >>>>>>>     java.lang.Thread.State: TIMED_WAITING (on object
> >     monitor)
> >      >      >>>>>>>          at java.lang.Object.wait(java.base at 15-ea
> /Native
> >      >     Method)
> >      >      >>>>>>>          - waiting on <no object reference available>
> >      >      >>>>>>>          at
> >     java.lang.ref.ReferenceQueue.remove(java.base at 15-ea
> >      >      >>>>>>> /ReferenceQueue.java:155)
> >      >      >>>>>>>          - locked <0x0000000601401a78> (a
> >      >      >>>>>>> java.lang.ref.ReferenceQueue$Lock)
> >      >      >>>>>>>          at
> >     jdk.internal.ref.CleanerImpl.run(java.base at 15-ea
> >      >      >>>>>>> /CleanerImpl.java:148)
> >      >      >>>>>>>          at
> >      >     java.lang.Thread.run(java.base at 15-ea/Thread.java:832)
> >      >      >>>>>>>          at
> >      >     jdk.internal.misc.InnocuousThread.run(java.base at 15-ea
> >      >      >>>>>>> /InnocuousThread.java:134)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "JDI Internal Event Handler" #17 daemon prio=5
> os_prio=0
> >      >     cpu=15.63ms
> >      >      >>>>>>> elapsed=341.39s tid=0x000001e349da3400 nid=0x68 in
> >      >     Object.wait()
> >      >      >>>>>>>   [0x000000340effe000]
> >      >      >>>>>>>     java.lang.Thread.State: WAITING (on object
> monitor)
> >      >      >>>>>>>          at java.lang.Object.wait(java.base at 15-ea
> /Native
> >      >     Method)
> >      >      >>>>>>>          - waiting on <no object reference available>
> >      >      >>>>>>>          at
> >      >     java.lang.Object.wait(java.base at 15-ea/Object.java:321)
> >      >      >>>>>>>          at
> >      >      >>>>>
> >     com.sun.tools.jdi.EventQueueImpl.removeUnfiltered(jdk.jdi at 15-ea
> >      >      >>>>>>> /EventQueueImpl.java:190)
> >      >      >>>>>>>          - locked <0x000000060154b630> (a
> >      >      >>>>> com.sun.tools.jdi.EventQueueImpl)
> >      >      >>>>>>>          at
> >      >      >>>>>
> >     com.sun.tools.jdi.EventQueueImpl.removeInternal(jdk.jdi at 15-ea
> >      >      >>>>>>> /EventQueueImpl.java:125)
> >      >      >>>>>>>          at
> >      >     com.sun.tools.jdi.InternalEventHandler.run(jdk.jdi at 15-ea
> >      >      >>>>>>> /InternalEventHandler.java:61)
> >      >      >>>>>>>          at
> >      >     java.lang.Thread.run(java.base at 15-ea/Thread.java:832)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "JDI Target VM Interface" #16 daemon prio=5 os_prio=0
> >      >     cpu=46.88ms
> >      >      >>>>>>> elapsed=341.39s tid=0x000001e349daa7c0 nid=0x3d04
> >     runnable
> >      >      >>>>>>>   [0x000000340f0fe000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>          at
> >      >     sun.nio.ch.SocketDispatcher.read0(java.base at 15-ea/Native
> >      >      >>>>>>> Method)
> >      >      >>>>>>>          at
> >     sun.nio.ch.SocketDispatcher.read(java.base at 15-ea
> >      >      >>>>>>> /SocketDispatcher.java:46)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl.tryRead(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:261)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl.implRead(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:312)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl.read(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:350)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl$1.read(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:803)
> >      >      >>>>>>>          at
> >      >     java.net.Socket$SocketInputStream.read(java.base at 15-ea
> >      >      >>>>>>> /Socket.java:981)
> >      >      >>>>>>>          at
> >      >     java.net.Socket$SocketInputStream.read(java.base at 15-ea
> >      >      >>>>>>> /Socket.java:976)
> >      >      >>>>>>>          at
> >      >      >>
> com.sun.tools.jdi.SocketConnection.readPacket(jdk.jdi at 15-ea
> >      >      >>>>>>> /SocketConnection.java:82)
> >      >      >>>>>>>          - locked <0x000000060154b998> (a
> >     java.lang.Object)
> >      >      >>>>>>>          at
> com.sun.tools.jdi.TargetVM.run(jdk.jdi at 15-ea
> >      >      >>>>>>> /TargetVM.java:124)
> >      >      >>>>>>>          at
> >      >     java.lang.Thread.run(java.base at 15-ea/Thread.java:832)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - <0x0000000601577110> (a
> >      >      >>>>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
> >      >      >>>>>>>
> >      >      >>>>>>> "event-handler" #18 daemon prio=5 os_prio=0
> cpu=0.00ms
> >      >      >> elapsed=341.38s
> >      >      >>>>>>> tid=0x000001e349dbb640 nid=0x203c in Object.wait()
> >      >      >>>>> [0x000000340edfe000]
> >      >      >>>>>>>     java.lang.Thread.State: WAITING (on object
> monitor)
> >      >      >>>>>>>          at java.lang.Object.wait(java.base at 15-ea
> /Native
> >      >     Method)
> >      >      >>>>>>>          - waiting on <no object reference available>
> >      >      >>>>>>>          at
> >      >     java.lang.Object.wait(java.base at 15-ea/Object.java:321)
> >      >      >>>>>>>          at
> >      >      >>>>>
> >     com.sun.tools.jdi.EventQueueImpl.removeUnfiltered(jdk.jdi at 15-ea
> >      >      >>>>>>> /EventQueueImpl.java:190)
> >      >      >>>>>>>          - locked <0x000000060154bc28> (a
> >      >      >>>>> com.sun.tools.jdi.EventQueueImpl)
> >      >      >>>>>>>          at
> >      >     com.sun.tools.jdi.EventQueueImpl.remove(jdk.jdi at 15-ea
> >      >      >>>>>>> /EventQueueImpl.java:97)
> >      >      >>>>>>>          at
> >      >     com.sun.tools.jdi.EventQueueImpl.remove(jdk.jdi at 15-ea
> >      >      >>>>>>> /EventQueueImpl.java:83)
> >      >      >>>>>>>          at
> >      >     jdk.jshell.execution.JdiEventHandler.run(jdk.jshell at 15-ea
> >      >      >>>>>>> /JdiEventHandler.java:79)
> >      >      >>>>>>>          at
> >      >     java.lang.Thread.run(java.base at 15-ea/Thread.java:832)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "output reader" #19 daemon prio=5 os_prio=0
> cpu=0.00ms
> >      >      >> elapsed=341.31s
> >      >      >>>>>>> tid=0x000001e34a141140 nid=0x49c0 runnable
> >      >     [0x000000340eeff000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>          at
> >      >     sun.nio.ch.SocketDispatcher.read0(java.base at 15-ea/Native
> >      >      >>>>>>> Method)
> >      >      >>>>>>>          at
> >     sun.nio.ch.SocketDispatcher.read(java.base at 15-ea
> >      >      >>>>>>> /SocketDispatcher.java:46)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl.tryRead(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:261)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl.implRead(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:312)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl.read(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:350)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl$1.read(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:803)
> >      >      >>>>>>>          at
> >      >     java.net.Socket$SocketInputStream.read(java.base at 15-ea
> >      >      >>>>>>> /Socket.java:981)
> >      >      >>>>>>>          at
> >      >     java.net.Socket$SocketInputStream.read(java.base at 15-ea
> >      >      >>>>>>> /Socket.java:976)
> >      >      >>>>>>>          at
> >     java.io.FilterInputStream.read(java.base at 15-ea
> >      >      >>>>>>> /FilterInputStream.java:82)
> >      >      >>>>>>>          at
> >      >      >> jdk.jshell.execution.DemultiplexInput.run(jdk.jshell at 15-ea
> >      >      >>>>>>> /DemultiplexInput.java:58)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - <0x0000000601553510> (a
> >      >      >>>>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
> >      >      >>>>>>>
> >      >      >>>>>>> "Thread-0" #21 daemon prio=5 os_prio=0 cpu=312.50ms
> >      >     elapsed=341.22s
> >      >      >>>>>>> tid=0x000001e349d555c0 nid=0x4d88 waiting on
> condition
> >      >      >>>>> [0x000000340f1fe000]
> >      >      >>>>>>>     java.lang.Thread.State: WAITING (parking)
> >      >      >>>>>>>          at
> >      >     jdk.internal.misc.Unsafe.park(java.base at 15-ea/Native
> >      >      >>>>> Method)
> >      >      >>>>>>>          - parking to wait for  <0x0000000601550fc0>
> (a
> >      >      >>>>>>>
> >      >      >>
> >      >
> >
>  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> >      >      >>>>>>>          at
> >      >      >>
> java.util.concurrent.locks.LockSupport.park(java.base at 15-ea
> >      >      >>>>>>> /LockSupport.java:341)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base at 15-ea
> >      >      >>>>>>> /AbstractQueuedSynchronizer.java:505)
> >      >      >>>>>>>          at
> >      >      >>>>>
> >     java.util.concurrent.ForkJoinPool.managedBlock(java.base at 15-ea
> >      >      >>>>>>> /ForkJoinPool.java:3137)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base at 15-ea
> >      >      >>>>>>> /AbstractQueuedSynchronizer.java:1614)
> >      >      >>>>>>>          at
> >      >      >>>>>
> >     java.util.concurrent.LinkedBlockingQueue.take(java.base at 15-ea
> >      >      >>>>>>> /LinkedBlockingQueue.java:435)
> >      >      >>>>>>>          at
> >      >      >>>>>
> >     java.util.concurrent.ThreadPoolExecutor.getTask(java.base at 15-ea
> >      >      >>>>>>> /ThreadPoolExecutor.java:1056)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
>  java.util.concurrent.ThreadPoolExecutor.runWorker(java.base at 15-ea
> >      >      >>>>>>> /ThreadPoolExecutor.java:1116)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
> >       java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base at 15-ea
> >      >      >>>>>>> /ThreadPoolExecutor.java:630)
> >      >      >>>>>>>          at
> >      >     java.lang.Thread.run(java.base at 15-ea/Thread.java:832)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "Thread-2" #23 daemon prio=5 os_prio=0
> cpu=338859.38ms
> >      >      >> elapsed=340.58s
> >      >      >>>>>>> tid=0x000001e34b07f030 nid=0xac0 runnable
> >     [0x000000340f3fe000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base at 15-ea
> >      >      >>>>>>> /AbstractQueuedSynchronizer.java:1749)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.utils.NonBlockingPumpReader.read(jdk.internal.le at 15-ea
> >      >      >>>>>>> /NonBlockingPumpReader.java:77)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.utils.NonBlockingReader.read(jdk.internal.le at 15-ea
> >      >      >>>>>>> /NonBlockingReader.java:57)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.utils.NonBlocking$NonBlockingReaderInputStream.read(jdk.internal.le at 15-ea
> >      >      >>>>>>> /NonBlocking.java:104)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.utils.NonBlockingInputStream.read(jdk.internal.le at 15-ea
> >      >      >>>>>>> /NonBlockingInputStream.java:36)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.jshell.tool.StopDetectingInputStream.lambda$setInputStream$0(jdk.jshell at 15-ea
> >      >      >>>>>>> /StopDetectingInputStream.java:66)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.jshell.tool.StopDetectingInputStream$$Lambda$410/0x0000000800d2eb28.run(jdk.jshell at 15-ea
> >      >      >>>>> /Unknown
> >      >      >>>>>>> Source)
> >      >      >>>>>>>          at
> >      >     java.lang.Thread.run(java.base at 15-ea/Thread.java:832)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - <0x00000006028b4318> (a
> >      >      >>>>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
> >      >      >>>>>>>
> >      >      >>>>>>> "WindowsStreamPump" #25 daemon prio=5 os_prio=0
> >     cpu=0.00ms
> >      >      >>>>>>> elapsed=340.53s tid=0x000001e34a461c90 nid=0x3688
> >     runnable
> >      >      >>>>>>>   [0x000000340f4fe000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.terminal.impl.jna.win.Kernel32Impl.WaitForSingleObject(jdk.internal.le at 15-ea
> >      >      >>>>> /Native
> >      >      >>>>>>> Method)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.terminal.impl.jna.win.JnaWinSysTerminal.readConsoleInput(jdk.internal.le at 15-ea
> >      >      >>>>>>> /JnaWinSysTerminal.java:185)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.terminal.impl.jna.win.JnaWinSysTerminal.processConsoleInput(jdk.internal.le at 15-ea
> >      >      >>>>>>> /JnaWinSysTerminal.java:108)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.terminal.impl.AbstractWindowsTerminal.pump(jdk.internal.le at 15-ea
> >      >      >>>>>>> /AbstractWindowsTerminal.java:465)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.terminal.impl.AbstractWindowsTerminal$$Lambda$417/0x0000000800d310f8.run(jdk.internal.le at 15-ea
> >      >      >>>>> /Unknown
> >      >      >>>>>>> Source)
> >      >      >>>>>>>          at
> >      >     java.lang.Thread.run(java.base at 15-ea/Thread.java:832)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "null non blocking reader thread" #26 daemon prio=5
> >     os_prio=0
> >      >      >>>>> cpu=0.00ms
> >      >      >>>>>>> elapsed=340.26s tid=0x000001e34a45fae0 nid=0x488 in
> >      >     Object.wait()
> >      >      >>>>>>>   [0x000000340f6ff000]
> >      >      >>>>>>>     java.lang.Thread.State: WAITING (on object
> monitor)
> >      >      >>>>>>>          at java.lang.Object.wait(java.base at 15-ea
> /Native
> >      >     Method)
> >      >      >>>>>>>          - waiting on <no object reference available>
> >      >      >>>>>>>          at
> >      >     java.lang.Object.wait(java.base at 15-ea/Object.java:321)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >
> >
>  jdk.internal.jshell.tool.StopDetectingInputStream.read(jdk.jshell at 15-ea
> >      >      >>>>>>> /StopDetectingInputStream.java:98)
> >      >      >>>>>>>          - locked <0x0000000601e2b650> (a
> >      >      >>>>>>> jdk.internal.jshell.tool.StopDetectingInputStream)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.utils.NonBlockingInputStreamImpl.run(jdk.internal.le at 15-ea
> >      >      >>>>>>> /NonBlockingInputStreamImpl.java:216)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  jdk.internal.org.jline.utils.NonBlockingInputStreamImpl$$Lambda$584/0x0000000800d4f088.run(jdk.internal.le at 15-ea
> >      >      >>>>> /Unknown
> >      >      >>>>>>> Source)
> >      >      >>>>>>>          at
> >      >     java.lang.Thread.run(java.base at 15-ea/Thread.java:832)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "RMI TCP Accept-0" #27 daemon prio=5 os_prio=0
> >     cpu=0.00ms
> >      >      >>>>> elapsed=180.89s
> >      >      >>>>>>> tid=0x000001e34a45ffb0 nid=0x45f0 runnable
> >      >     [0x000000340d8fe000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>          at sun.nio.ch.Net.accept(java.base at 15-ea
> /Native
> >      >     Method)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl.accept(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:755)
> >      >      >>>>>>>          at
> >     java.net.ServerSocket.implAccept(java.base at 15-ea
> >      >      >>>>>>> /ServerSocket.java:684)
> >      >      >>>>>>>          at
> >      >     java.net.ServerSocket.platformImplAccept(java.base at 15-ea
> >      >      >>>>>>> /ServerSocket.java:650)
> >      >      >>>>>>>          at
> >     java.net.ServerSocket.implAccept(java.base at 15-ea
> >      >      >>>>>>> /ServerSocket.java:626)
> >      >      >>>>>>>          at
> >     java.net.ServerSocket.implAccept(java.base at 15-ea
> >      >      >>>>>>> /ServerSocket.java:583)
> >      >      >>>>>>>          at
> java.net.ServerSocket.accept(java.base at 15-ea
> >      >      >>>>>>> /ServerSocket.java:540)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(jdk.management.agent at 15-ea
> >      >      >>>>>>> /LocalRMIServerSocketFactory.java:52)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(java.rmi at 15-ea
> >      >      >>>>>>> /TCPTransport.java:413)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
>  sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(java.rmi at 15-ea
> >      >      >>>>>>> /TCPTransport.java:377)
> >      >      >>>>>>>          at
> >      >     java.lang.Thread.run(java.base at 15-ea/Thread.java:832)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - <0x0000000602e53118> (a
> >      >      >>>>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
> >      >      >>>>>>>
> >      >      >>>>>>> "RMI TCP Connection(1)-10.0.201.131" #28 daemon
> prio=5
> >      >     os_prio=0
> >      >      >>>>>>> cpu=437.50ms elapsed=180.87s tid=0x000001e34a4617c0
> >     nid=0x4790
> >      >      >>>>> runnable
> >      >      >>>>>>>   [0x000000340fbfe000]
> >      >      >>>>>>>     java.lang.Thread.State: RUNNABLE
> >      >      >>>>>>>          at
> >     sun.nio.ch.Net.poll(java.base at 15-ea/Native Method)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl.park(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:181)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl.timedRead(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:285)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl.implRead(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:309)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl.read(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:350)
> >      >      >>>>>>>          at
> >     sun.nio.ch.NioSocketImpl$1.read(java.base at 15-ea
> >      >      >>>>>>> /NioSocketImpl.java:803)
> >      >      >>>>>>>          at
> >      >     java.net.Socket$SocketInputStream.read(java.base at 15-ea
> >      >      >>>>>>> /Socket.java:981)
> >      >      >>>>>>>          at
> >     java.io.BufferedInputStream.fill(java.base at 15-ea
> >      >      >>>>>>> /BufferedInputStream.java:244)
> >      >      >>>>>>>          at
> >     java.io.BufferedInputStream.read(java.base at 15-ea
> >      >      >>>>>>> /BufferedInputStream.java:263)
> >      >      >>>>>>>          - locked <0x0000000602e19470> (a
> >      >      >> java.io.BufferedInputStream)
> >      >      >>>>>>>          at
> >     java.io.FilterInputStream.read(java.base at 15-ea
> >      >      >>>>>>> /FilterInputStream.java:82)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
>  sun.rmi.transport.tcp.TCPTransport.handleMessages(java.rmi at 15-ea
> >      >      >>>>>>> /TCPTransport.java:569)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(java.rmi at 15-ea
> >      >      >>>>>>> /TCPTransport.java:828)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(java.rmi at 15-ea
> >      >      >>>>>>> /TCPTransport.java:705)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$686/0x0000000800da3998.run(java.rmi at 15-ea
> >      >      >>>>> /Unknown
> >      >      >>>>>>> Source)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
>  java.security.AccessController.executePrivileged(java.base at 15-ea
> >      >      >>>>>>> /AccessController.java:753)
> >      >      >>>>>>>          at
> >      >      >>
> java.security.AccessController.doPrivileged(java.base at 15-ea
> >      >      >>>>>>> /AccessController.java:391)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >
> >
>  sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(java.rmi at 15-ea
> >      >      >>>>>>> /TCPTransport.java:704)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
>  java.util.concurrent.ThreadPoolExecutor.runWorker(java.base at 15-ea
> >      >      >>>>>>> /ThreadPoolExecutor.java:1130)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
> >       java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base at 15-ea
> >      >      >>>>>>> /ThreadPoolExecutor.java:630)
> >      >      >>>>>>>          at
> >      >     java.lang.Thread.run(java.base at 15-ea/Thread.java:832)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - <0x0000000602e19708> (a
> >      >      >>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker)
> >      >      >>>>>>>          - <0x0000000602e59038> (a
> >      >      >>>>>>> java.util.concurrent.locks.ReentrantLock$NonfairSync)
> >      >      >>>>>>>
> >      >      >>>>>>> "RMI Scheduler(0)" #29 daemon prio=5 os_prio=0
> >     cpu=0.00ms
> >      >      >>>>> elapsed=180.86s
> >      >      >>>>>>> tid=0x000001e34a462160 nid=0x1df0 waiting on
> condition
> >      >      >>>>> [0x000000340fcfe000]
> >      >      >>>>>>>     java.lang.Thread.State: TIMED_WAITING (parking)
> >      >      >>>>>>>          at
> >      >     jdk.internal.misc.Unsafe.park(java.base at 15-ea/Native
> >      >      >>>>> Method)
> >      >      >>>>>>>          - parking to wait for  <0x0000000602e1af00>
> (a
> >      >      >>>>>>>
> >      >      >>
> >      >
> >
>  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
>  java.util.concurrent.locks.LockSupport.parkNanos(java.base at 15-ea
> >      >      >>>>>>> /LockSupport.java:252)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(java.base at 15-ea
> >      >      >>>>>>> /AbstractQueuedSynchronizer.java:1661)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base at 15-ea
> >      >      >>>>>>> /ScheduledThreadPoolExecutor.java:1182)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base at 15-ea
> >      >      >>>>>>> /ScheduledThreadPoolExecutor.java:899)
> >      >      >>>>>>>          at
> >      >      >>>>>
> >     java.util.concurrent.ThreadPoolExecutor.getTask(java.base at 15-ea
> >      >      >>>>>>> /ThreadPoolExecutor.java:1056)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
>  java.util.concurrent.ThreadPoolExecutor.runWorker(java.base at 15-ea
> >      >      >>>>>>> /ThreadPoolExecutor.java:1116)
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >
> >       java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base at 15-ea
> >      >      >>>>>>> /ThreadPoolExecutor.java:630)
> >      >      >>>>>>>          at
> >      >     java.lang.Thread.run(java.base at 15-ea/Thread.java:832)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "JMX server connection timeout 30" #30 daemon prio=5
> >     os_prio=0
> >      >      >>>>> cpu=0.00ms
> >      >      >>>>>>> elapsed=180.86s tid=0x000001e34a45f610 nid=0x2fe8 in
> >      >     Object.wait()
> >      >      >>>>>>>   [0x000000340fdff000]
> >      >      >>>>>>>     java.lang.Thread.State: TIMED_WAITING (on object
> >     monitor)
> >      >      >>>>>>>          at java.lang.Object.wait(java.base at 15-ea
> /Native
> >      >     Method)
> >      >      >>>>>>>          - waiting on <no object reference available>
> >      >      >>>>>>>          at
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>
> >      >
> >
>  com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(java.management at 15-ea
> >      >      >>>>>>> /ServerCommunicatorAdmin.java:171)
> >      >      >>>>>>>          - locked <0x0000000602e1ca08> (a [I)
> >      >      >>>>>>>          at
> >      >     java.lang.Thread.run(java.base at 15-ea/Thread.java:832)
> >      >      >>>>>>>
> >      >      >>>>>>>     Locked ownable synchronizers:
> >      >      >>>>>>>          - None
> >      >      >>>>>>>
> >      >      >>>>>>> "VM Thread" os_prio=2 cpu=515.63ms elapsed=341.79s
> >      >      >>>>> tid=0x000001e349031eb0
> >      >      >>>>>>> nid=0x540 runnable
> >      >      >>>>>>>
> >      >      >>>>>>> "GC Thread#0" os_prio=2 cpu=328.13ms elapsed=341.80s
> >      >      >>>>>>> tid=0x000001e31c218710 nid=0x19e8 runnable
> >      >      >>>>>>>
> >      >      >>>>>>> "GC Thread#1" os_prio=2 cpu=265.63ms elapsed=341.53s
> >      >      >>>>>>> tid=0x000001e349b353d0 nid=0x1cc4 runnable
> >      >      >>>>>>>
> >      >      >>>>>>> "GC Thread#2" os_prio=2 cpu=218.75ms elapsed=340.37s
> >      >      >>>>>>> tid=0x000001e349b350a0 nid=0x1ddc runnable
> >      >      >>>>>>>
> >      >      >>>>>>> "GC Thread#3" os_prio=2 cpu=187.50ms elapsed=338.82s
> >      >      >>>>>>> tid=0x000001e349b35700 nid=0x4a48 runnable
> >      >      >>>>>>>
> >      >      >>>>>>> "GC Thread#4" os_prio=2 cpu=140.63ms elapsed=338.82s
> >      >      >>>>>>> tid=0x000001e349b340b0 nid=0x32e8 runnable
> >      >      >>>>>>>
> >      >      >>>>>>> "GC Thread#5" os_prio=2 cpu=156.25ms elapsed=338.82s
> >      >      >>>>>>> tid=0x000001e349b35a30 nid=0x38cc runnable
> >      >      >>>>>>>
> >      >      >>>>>>> "GC Thread#6" os_prio=2 cpu=171.88ms elapsed=338.82s
> >      >      >>>>>>> tid=0x000001e349b35d60 nid=0x3ed0 runnable
> >      >      >>>>>>>
> >      >      >>>>>>> "G1 Main Marker" os_prio=2 cpu=0.00ms elapsed=341.80s
> >      >      >>>>>>> tid=0x000001e31c229930 nid=0x21c runnable
> >      >      >>>>>>>
> >      >      >>>>>>> "G1 Conc#0" os_prio=2 cpu=0.00ms elapsed=341.80s
> >      >      >>>>> tid=0x000001e31c22a5a0
> >      >      >>>>>>> nid=0x3920 runnable
> >      >      >>>>>>>
> >      >      >>>>>>> "G1 Refine#0" os_prio=2 cpu=0.00ms elapsed=341.80s
> >      >      >>>>> tid=0x000001e31c253f10
> >      >      >>>>>>> nid=0x1f84 runnable
> >      >      >>>>>>>
> >      >      >>>>>>> "G1 Young RemSet Sampling" os_prio=2 cpu=0.00ms
> >     elapsed=341.80s
> >      >      >>>>>>> tid=0x000001e31c254b90 nid=0x27ac runnable
> >      >      >>>>>>>
> >      >      >>>>>>> "VM Periodic Task Thread" os_prio=2 cpu=15.63ms
> >     elapsed=341.76s
> >      >      >>>>>>> tid=0x000001e349b39710 nid=0x838 waiting on condition
> >      >      >>>>>>>
> >      >      >>>>>>> JNI global refs: 33, weak refs: 0
> >      >      >>>>>>>
> >      >      >>>>>>> --
> >      >      >>>>>>> Aaron Scott-Boddendijk
> >      >      >>>>>>>
> >      >      >>>>>>> On Tue, Jun 16, 2020 at 10:15 AM Robert Field <
> >      >      >>>>> robert.field at oracle.com
> >     <mailto:robert.field at oracle.com> <mailto:robert.field at oracle.com
> >     <mailto:robert.field at oracle.com>>>
> >      >      >>>>>>> wrote:
> >      >      >>>>>>>
> >      >      >>>>>>>> Make that jps/jstack
> >      >      >>>>>>>>
> >      >      >>>>>>>> -R
> >      >      >>>>>>>>
> >      >      >>>>>>>> On 2020-06-15 15:12, Robert Field wrote:
> >      >      >>>>>>>>> Thanks for the report.
> >      >      >>>>>>>>>
> >      >      >>>>>>>>> What, if anything, is the Java stack for this
> >     thread (jps)?
> >      >      >>>>>>>>>
> >      >      >>>>>>>>> -Robert
> >      >      >>>>>>>>>
> >      >      >>>>>>>>>
> >      >      >>>>>>>>> On 2020-06-15 14:41, Aaron Scott-Boddendijk wrote:
> >      >      >>>>>>>>>>    System:
> >      >      >>>>>>>>>> * Windows 10
> >      >      >>>>>>>>>> * Powershell
> >      >      >>>>>>>>>>
> >      >      >>>>>>>>>> When I start JShell, without executing anything,
> >     a CPU
> >      >     core is
> >      >      >>>>> always
> >      >      >>>>>>>> at
> >      >      >>>>>>>>>> 100% (a single thread though I haven't identified
> >     what it's
> >      >      >>>>> doing).
> >      >      >>>>>>>>>>
> >      >      >>>>>>>>>> The thread stack is as follows (with only the
> >     last two items
> >      >      >>>>> sometimes
> >      >      >>>>>>>>>> change - but I don't know the internals of the
> JVM to
> >      >     know if
> >      >      >> this
> >      >      >>>>>>>>>> useful
> >      >      >>>>>>>>>> or significant):
> >      >      >>>>>>>>>>
> >      >      >>>>>>>>>> ntoskrnl.exe!KeSynchronizeExecution+0x5b46
> >      >      >>>>>>>>>> ntoskrnl.exe!KeWaitForSingleObject+0x1c2d
> >      >      >>>>>>>>>> ntoskrnl.exe!KeWaitForSingleObject+0xab4
> >      >      >>>>>>>>>> ntoskrnl.exe!KeWaitForSingleObject+0x255
> >      >      >>>>>>>>>> ntoskrnl.exe!RtlClearBitsEx+0x15a7
> >      >      >>>>>>>>>> ntoskrnl.exe!KeWaitForSingleObject+0x3828
> >      >      >>>>>>>>>> ntoskrnl.exe!KeSynchronizeExecution+0x3120
> >      >      >>>>>>>>>> jvm.dll!c2v_notifyCompilerInliningEvent+0x201797
> >      >      >>>>>>>>>>
> >      >      >>>>>>>>>> The JDK 14 version of JShell does not have this
> >     issue but
> >      >      >> several
> >      >      >>>>> of
> >      >      >>>>>>>> the
> >      >      >>>>>>>>>> recent JDK 15 builds have done this.
> >      >      >>>>>>>>>>
> >      >      >>>>>>>>>> --
> >      >      >>>>>>>>>> Aaron Scott-Boddendijk
> >      >      >>>>>>>>
> >      >      >>>>>>>
> >      >      >>>>>
> >      >      >>>>
> >      >      >>
> >      >
> >
>


More information about the kulla-dev mailing list