JDK 13 EA: 100% CPU use with no Java threads runnable

Ioi Lam ioi.lam at oracle.com
Sun Sep 15 05:14:34 UTC 2019


Which version of gdb are you using? Maybe try upgrading gdb to a newer 
version? You might have to build it yourself, but that should be quite 
straight-forward on Linux.

https://www.mapleprimes.com/questions/207040-Gdb-Crashes-When-Linking-To-OpenMaple-Library

Another option is to send a kill signal to your process to create a core 
dump, and see if gdb can open the core file without crashing.

See 
https://stackoverflow.com/questions/26727978/gdb-issue-bfd-reopening-tmp-no-such-file-or-directory/26767392#26767392

Hopefully gdb won't do lazy loading when handling core files.

Thanks
- Ioi


On 9/14/19 3:09 PM, Stefan Reich wrote:
> gdb is segfaulting...
>
> > BFD: reopening 
> /home/stefan/.cache/JNA/temp/jna11400456213745436559.tmp: No such file 
> or directory
> >
> > BFD: reopening 
> /home/stefan/.cache/JNA/temp/jna11400456213745436559.tmp: No such file 
> or directory
> >
> > Can't read data for section '.eh_frame' in file 
> '/home/stefan/.cache/JNA/temp/jna11400456213745436559.tmp'
>
> I'm guessing the OSHI library is the trigger as it uses JNA. The same 
> module loads fine without gdb though.
>
>
> On Sat, 14 Sep 2019 at 23:50, Stefan Reich 
> <stefan.reich.maker.of.eye at googlemail.com 
> <mailto:stefan.reich.maker.of.eye at googlemail.com>> wrote:
>
>     I will also try the gdb method... that one sounds like a very
>     smart idea.
>
>     On Sat, 14 Sep 2019 at 23:49, Stefan Reich
>     <stefan.reich.maker.of.eye at googlemail.com
>     <mailto:stefan.reich.maker.of.eye at googlemail.com>> wrote:
>
>         Hi,
>
>         thanks for your answer. Unfortunately, I still don't know what
>         triggers the "bad" state, so no test case... It happens
>         randomly, but as I said, once it does, it doesn't go away
>         anymore. (Still happening right now.)
>
>         Would the result from Thread.getAllStackTraces() help? I
>         attached that to this email.
>
>         Many greetings,
>         Stefan
>
>
>         On Sat, 14 Sep 2019 at 23:43, Ioi Lam <ioi.lam at oracle.com
>         <mailto:ioi.lam at oracle.com>> wrote:
>
>             Hi Stefan,
>
>             Is it possible for you to create a test case that
>             reproduce this problem?
>
>             If not, try running the program inside a Linux terminal,
>             and when the
>             CPU goes at 100%, type "Ctrl-\" (Control + Backslash). It
>             lists the
>             states of all the threads that the JVM knows about. It
>             might give you
>             some idea what's happening.
>
>             An alternative is to run your program inside gdb,
>
>             $ gdb jdk13/bin/java
>             (gdb) handle SIGSEGV noprint
>             (gdb) handle SIGSEGV nostop
>             (gdb) set print thread-events off
>             (gdb) set height 0
>             (gdb) run -cp myapp.jar App
>
>             (When the program enters the 100% CPU state, type Ctrl-C)
>
>             ^C
>             Thread 1 "java" received signal SIGINT, Interrupt.
>             0x00007ffff779798d in pthread_join (threadid=140737353910016,
>             thread_return=0x7fffffff8508) at pthread_join.c:90
>             90    pthread_join.c: No such file or directory.
>             (gdb) thread apply all where
>
>             This will list all stacks of all the threads, including
>             ones that the
>             JVM may not be aware of. This should tell you who is
>             spinning the CPU.
>
>             Thanks
>             - Ioi
>
>
>
>
>             On 9/14/19 1:57 PM, Stefan Reich wrote:
>             > Hi,
>             >
>             > I was advised by Oracle's Fairoz Matte to contact this list.
>             >
>             > I am seeing a Java process use 100% of one CPU core
>             continuously, but no
>             > Java threads are runnable (as evidenced by internal
>             thread sampling as well
>             > as VisualVM).
>             >
>             > Whenever it occurs, the problem does not seem to go away
>             until the Java VM
>             > exits.
>             >
>             > I think I am using a single native library (OSHI), the
>             rest is pure Java.
>             >
>             > Older versions of the JDK have exhibited the same
>             problem, but most
>             > interestingly, the bug is happening right now on a Linux
>             machine
>             > (Peppermint 7 I think) with OpenJDK 13 EA Build 31.
>             >
>             > I can perform any test on this machine that you instruct
>             me to.
>             >
>             > Please advise,
>             > Stefan
>             >
>
>
>
>         -- 
>         Stefan Reich
>         BotCompany.de // Java-based operating systems
>
>
>
>     -- 
>     Stefan Reich
>     BotCompany.de // Java-based operating systems
>
>
>
> -- 
> Stefan Reich
> BotCompany.de // Java-based operating systems



More information about the hotspot-dev mailing list