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

Assertion in awt_Win32GraphicsDevice.cpp when running specjbb in jprt

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2
    • 8
    • 7u6
    • client-libs
    • None
    • 2d
    • b71
    • x86
    • windows
    • Verified

    Description

      During a JPRT run of the latest HotSpot 24 sources from the hotspot-rt repository, the SpecJBB run hung. The process is run in a headless environment with -Djava.awt.headless=true set. After some debugging we concluded that the process is displaying a dialog box with the following text:

      ---
      ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0)
      File '../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp', at line 180
      GetLastError() is 57 : The parameter is incorrect

      Do you want to break into the debugger?
      ---

      This does not happen every time we run this test, but has happened a few times before.

      Here is the native stack trace of the hung thread:

      awt.dll!AwtDebugSupport::AssertCallback(const char * expr, const char * file, int line) Line 187 + 0x17 bytes C++
        awt.dll!DAssert_Impl(const char * msg, const char * filename, int linenumber) Line 38 + 0x12 bytes C
        awt.dll!AwtWin32GraphicsDevice::Initialize() Line 180 + 0x35 bytes C++
        awt.dll!Devices::UpdateInstance(JNIEnv_ * env) Line 216 C++
        awt.dll!initScreens(JNIEnv_ * env) Line 39 + 0x9 bytes C++
        awt.dll!Java_sun_awt_Win32GraphicsEnvironment_initDisplay(JNIEnv_ * env, _jclass * thisClass) Line 148 + 0x9 bytes C++

      And the Java stack:

      "main" prio=6 tid=0x00aff000 nid=0xd8c runnable [0x0047e000]
         java.lang.Thread.State: RUNNABLE
         JavaThread state: _thread_in_native
      Thread: 0x00aff000 [0xd8c] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
         JavaThread state: _thread_in_native
      at sun.awt.Win32GraphicsEnvironment.initDisplay(Native Method)
      at sun.awt.Win32GraphicsEnvironment.initDisplayWrapper(Win32GraphicsEnvironment.java:85)
      at sun.awt.Win32GraphicsEnvironment.<clinit>(Win32GraphicsEnvironment.java:68)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:186)
      at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:102)
      at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:81)
      - locked <0x38421538> (a java.lang.Class for java.awt.GraphicsEnvironment)
      at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1152)
      at java.awt.image.BufferedImage.getGraphics(BufferedImage.java:1142)
      at spec.reporter.GraphImage.init(GraphImage.java:110)
      at spec.reporter.GraphImage.<init>(GraphImage.java:106)
      at spec.reporter.Metrics.JasonGraph(Metrics.java:469)
      at spec.reporter.Metrics.tableAndGraph(Metrics.java:968)
      at spec.reporter.Report.<init>(Report.java:129)
      at spec.jbb.JBBmain.main(JBBmain.java:1066)

      It looks like hBM is NULL.


      The version of the JDK and HotSpot was:

      java version "1.7.0_06-ea-fastdebug"
      Java(TM) SE Runtime Environment (build 1.7.0_06-ea-fastdebug-b16)
      Java HotSpot(TM) Client VM (build 24.0-b15-internal-201206280223.cphillim.rt-merge-to-hotspo-fastdebug, mixed mode, sharing)

      I have attached a minidump (java.dmp) from the hung process as well as the awt.pdb file.

      Attachments

        Activity

          People

            jgodinez Jennifer Godinez (Inactive)
            sla Staffan Larsen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: