JShell uses 100% of one core all the time (JDK 15 Build 27)
Jan Lahoda
jan.lahoda at oracle.com
Thu Jul 16 09:43:05 UTC 2020
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