Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8069331

Native thread is using 100% of CPU after running for around 16 minutes

XMLWordPrintable

    • x86_64
    • windows_7

      FULL PRODUCT VERSION :
      java version "1.8.0_25"
      Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
      Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

      FULL OS VERSION :
      Microsoft Windows [Version 6.1.7601]

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      Intel(R) Core(TM) i7-3540M CPU @ 3.0.0GHz 3.00 GHz
      8.00 GB (7.87 GB usable)
      64-bit Operating System

      A DESCRIPTION OF THE PROBLEM :
      CPU goes up to 100% after running my java application for about 16 minutes. I can reproduce it inside eclipse or outside. It does not happen to 1.8u11, 1.8 u40(EA), Linux nor with 32-bit JVM but is 100% reproducible for 1.8u20 and 1.8u25 on Windows 7 64-bit machine. My application code was compiled with jdk1.7.

      I tried running it inside eclipse and when it happened, I suspended all JAVA Threads. The cpu didn't come down.

      However, if I'm inside Progress explorer, I can see a native thread which cause the cpu spike, if I suspend that thread, the cpu comes back down. With Process Explorer, I suspended that thread and get the following stack:

      ntoskrnl.exe!KeWaitForMultipleObjects+0xc0a
      ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel+0x732
      jvm.dll!JVM_FindSignal+0x24efd7
      jvm.dll!JVM_FindSignal+0x2344c0
      jvm.dll!JVM_FindSignal+0x2393d5
      jvm.dll!JVM_FindSignal+0x23b7b1
      jvm.dll!JVM_FindSignal+0x1d3aab
      jvm.dll!JVM_FindSignal+0x1d4764
      jvm.dll!JVM_FindSignal+0x1b8272
      jvm.dll+0x98a02
      jvm.dll+0x991f3
      jvm.dll!JVM_ResolveClass+0x590b4
      jvm.dll!JVM_FindSignal+0x61fa
      msvcr100.dll!endthreadex+0x43
      msvcr100.dll!endthreadex+0xdf
      kernel32.dll!BaseThreadInitThunk+0xd
      ntdll.dll!RtlUserThreadStart+0x21



      It didn't happen if I run with -Xint

      THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: No

      THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes

      REGRESSION. Last worked in version 8u11

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Unfortunately, I don't have a reproducible java file. My application was compiled by using jdk1.7. We're upgrading to jre1.8u25 in the upcoming release and noticed this issue. I can junction different version of jre (1.7, 1.8u11, 1.8u20, 1.8u25 and 1.8u40) to show the issue is actually happening on 1.8u20 and 1.8u25.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      Shouldn't spike the cpu.
      REPRODUCIBILITY :
      This bug can be reproduced always.

      CUSTOMER SUBMITTED WORKAROUND :
      Run with -Xint

            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: