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

vmark & vtest hang with b28 when run with -client -Xprof

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 5.0
    • 5.0
    • hotspot
    • b30
    • generic
    • generic
    • Verified


      With tiger b28, VolanoMark and VolanoTest hang when running with -client -Xprof -XX:+UseSerialGC. The hang happened from just a few minutes to a couple of hours.

      Test machine: j2se-bigapps.west ( please contact me if you need to access the machine )
      # uname -a
      SunOS j2se-bigapps 5.9 Generic_112233-09 sun4u sparc SUNW,Sun-Fire
      The machine has 20 cpus * 1050MHZ, 98GB RAM.

      The hang is reproducible on big5server.sfbay ( SunOS big5server 5.8 Generic_108528-13 sun4u sparc SUNW,Ultra-Enterprise ) the machine
      has 8 cpu * 400MHZ.

      With b26, the hang is not reproducible ( test ran for 20 hours ).

      ###@###.### 2003-11-14

      Karen Kinnear has examined the pstack of the client process. Here is her
      finding:

      "Looks like we have a deadlock.

      In the client, t@8 (periodic task thread - which does the profiling) is
      waiting for
      all other threads to complete suspending so it can get the profiling
      snapshot.
      It loops through all threads calling thread->java_suspend. At the moment
      it is examining t@197 (JavaThread 0x0c0046e8). java_suspend acquires
      the SR_lock for t@197, and then calls is_ext_suspend_completed to
      wait for the suspension to be done.

      While that was happening another thread requested a VM operation and the
      VMThread (t@2) asked us to safepoint.

      The periodic task thread in is_ext_suspend_completed, where
      being a well-behaved thread it carefully blocks itself on the Threads_lock.
      Unfortunately it still owns the SR_lock of the thread it is examining. "

      current thread: t@8
        [1] ___lwp_mutex_lock(0x35ff8, 0x74, 0xff055e14, 0xff315884, 0xff148574, 0x35f
      d0), at 0xff31e840
        [2] Mutex::lock(0x35fa0, 0xfec681c4, 0x6c00, 0x6e48, 0xff135e70, 0x227c98), at
       0xfec6da5c
        [3] JavaThread::is_ext_suspend_completed(0xc0046e8, 0x0, 0xf927fb3c, 0xdeac, 0
      xff3, 0x55), at 0xff0511e4
        [4] JavaThread::java_suspend(0xc0050b0, 0x6cb0, 0xc0046e8, 0x35fa0, 0x6c00, 0x
      ff118000), at 0xff052a3c
        [5] FlatProfiler::record_thread_ticks(0x195dd4d0, 0x0, 0x195dd81c, 0xff1324ec,
       0xff118000, 0xff12b79c), at 0xfee73aa8
        [6] PeriodicTask::real_time_tick(0xa, 0x6cd8, 0x0, 0xff135bf0, 0xff140cf0, 0xf
      f118000), at 0xfed510bc
        [7] WatcherThread::run(0x227c98, 0xa, 0xff140cf8, 0xff135dc4, 0xff118000, 0x0)
      , at 0xfed50a3c
        [8] _start(0x227c98, 0x4c48, 0x6400, 0x66f8, 0x4c00, 0xff118000), at 0xfecdb00
      4

      current thread: t@2
        [1] ___lwp_mutex_lock(0xc005108, 0x72, 0x0, 0xff3158ac, 0xff315884, 0xff148574
      ), at 0xff31e840
        [2] Mutex::lock_without_safepoint_check(0xc0050b0, 0xc0050e0, 0x4b03cc, 0x1160
      b8, 0xff3, 0x7f9a81), at 0xfec67cd4
        [3] ThreadSafepointState::examine_state_of_thread(0xc1062c0, 0x0, 0x0, 0x80000
      000, 0x80000000, 0xc0050b0), at 0xfed73ea0
        [4] SafepointSynchronize::begin(0x35f10, 0xc3, 0x0, 0xc0046e8, 0x1, 0xff134c98
      ), at 0xfed73c84
        [5] VMThread::run(0xff132e8c, 0xff13d73c, 0xff13d738, 0xff13d728, 0x0, 0x5c00)
      , at 0xfecdb6e0
        [6] _start(0x1160b8, 0x4c48, 0x6400, 0x66f8, 0x4c00, 0xff118000), at 0xfecdb00
      4

      ###@###.### 2003-11-14

            dcubed Daniel Daugherty
            jzhongsunw June Zhong (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: