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

SPARC: assert(has_cached_state(), "sanity check")

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P5 P5
    • 5.0
    • 1.4.2
    • hotspot
    • None
    • tiger
    • sparc
    • solaris_7, solaris_8

      ###@###.### 2003-01-08

      I did a stress run with the following bits:
          - libthread patch for:
            4484522 2/2 Call from HotSpot JavaVM to libthread "T1" thr_suspend hangs
            on Solaris SPARC; forgot about Solaris X86 :-(
          - Mantis-B11
          - new Client VM bits:
            main/baseline as of 2003.01.03 @ 0812 PST
          - new hprof library bits:
            service_sdk_baseline as of 2003.01.03 @ 0937 PST
          - new jdwp library bits:
            service_sdk_baseline as of 2003.01.03 @ 0947 PST
          - additional guarantees:
            none
          - additional debugging:
            wait_for_ext_suspend_completion() debug bits

      I used an Ultra 80 running Solaris 8 with 2x450MHZ and 1GB of memory for
      the Solaris SPARC stress machine.

      Testing configuration:

      - java MultiBreakpointsTest
      - java_g MultiBreakpointsTest
      - java -Xrunhprof:cpu=samples PepTest
      - java_g -XX:+SafepointALot -Xrunhprof:cpu=samples PepTest

      The stress run lasted for 62 hours. The "java_g PepTest" config failed
      one assertion in 1927 runs.

      # assert(has_cached_state(), "sanity check")
      #
      # Error ID: src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp, 1026

      I have attached the complete log as hotspot.log.364.

      Here is the relevant part of the stack trace for the failing thread
      (the hprof agent sampler thread):

        [9] report_assertion_failure(code_str = 0xfe37b7d6 "has_cached_state()", file_
      name = 0xfe37b7e9 "/work/ws/hotspot/main/baseline-stress/src/os_cpu/solaris_spar
      c/vm/os_solaris_sparc.cpp", line_no = 1026, message = 0xfe37b840 "sanity check")
      , line 237 in "debug.cpp"
        [10] JavaFrameAnchor::make_walkable(this = 0x3fcc8, is_definitely_current_thre
      ad = 0, thread = 0x3fc30), line 1026 in "os_solaris_sparc.cpp"
        [11] JavaThread::last_frame(this = 0x3fc30), line 1094 in "thread.hpp"
        [12] vframeStream::vframeStream(this = 0xfba81828, thread = 0x3fc30, stop_at_j
      ava_call_stub = 0), line 558 in "vframe.cpp"
        [13] fill_call_trace_at_safepoint(thd = 0x3fc30, trace = 0x282cf8, depth = 4),
       line 2936 in "jvmpi.cpp"
        [14] jvmpi::get_call_trace(trace = 0x282cf8, depth = 4), line 3163 in "jvmpi.c
      pp"
        [15] hprof_cpu_loop(p = (nil)), line 234 in "hprof_cpu.c"
        [16] jvmpi_daemon_thread_entry(thread = 0x1b1818, __the_thread__ = 0x1b1818),
      line 3502 in "jvmpi.cpp"

      Here is the relevant part of the stack trace for the target thread:

        [5] Monitor::wait(this = 0x406f8, no_safepoint_check = 1, timeout = 0), line 1
      87 in "mutex_solaris.cpp"
        [6] os::pd_self_suspend_thread(thread = 0x3fc30), line 1196 in "os_solaris.cpp
      "
        [7] JavaThread::java_suspend_self(this = 0x3fc30), line 1653 in "thread.cpp"
        [8] JavaThread::check_safepoint_and_suspend_for_native_trans(thread = 0x3fc30)
      , line 1692 in "thread.cpp"
        [9] ThreadStateTransition::transition_from_native(thread = 0x3fc30, to = _thre
      ad_in_vm), line 113 in "interfaceSupport.hpp"
        [10] ThreadStateTransition::trans_from_native(this = 0xffbebce0, to = _thread_
      in_vm), line 120 in "interfaceSupport.hpp"
        [11] ThreadInVMfromNative::ThreadInVMfromNative(this = 0xffbebce0, thread = 0x
      3fc30), line 165 in "interfaceSupport.hpp"
        [12] jni_GetIntField(env = 0x3fcd8, obj = 0x1b88bc, fieldID = 0xab1a423), line
       1169 in "jni.cpp"
        [13] writeBytes(0x3fcd8, 0xffbedebc, 0xffbedeb8, 0x0, 0x1, 0xa1c3e23), at 0xfe
      79404c
        [14] Java_java_io_FileOutputStream_writeBytes(0x3fcd8, 0xffbedebc, 0xffbedeb8,
       0x0, 0x1, 0x0), at 0xfe78c590
        [15] 0xf900dedc(0xf1312a20, 0xffbedf34, 0xffbedf38, 0x10, 0x0, 0xffbede50), at
       0xf900dedb

      I have attached an annotated thread dump as threads.log.364.

            sgoldman Steve Goldman (Inactive)
            dcubed Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: