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

segv in fixup_callers_callsite

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 6
    • 6
    • hotspot
    • None
    • b39
    • sparc
    • solaris

      Running on a machine with inline caches turned off we crashed in
      fixup_callers_callsite with this stack trace:

      =>[11] SharedRuntime::fixup_callers_callsite(0x1fc0c000, 0xf90b5468, 0x30238, 0xfef81e34, 0x9034b178, 0xf90a3ecc), at 0xfee19044
        [12] 0xf9031104(0xa1a0e7c0, 0xb6, 0x0, 0xf9016b00, 0x1ffc, 0xffbfe230), at 0xf9031103
        [13] 0xf90b5468(0xa1a0e7c0, 0xb8, 0x1, 0xf9016768, 0x9034b178, 0xffbfe190), at 0xf90b5467


      The code in question is:

            CodeBlob* callee = CodeCache::find_blob(destination);
            // callee == cb seems weird. It means calling interpreter thru stub.
            if (callee == cb || callee->is_adapter_blob()) {

      we segv on the deref of callee. This is because we normally have a destination
      but with vtable type of dispatch we don't so the find_blob fails.
      ###@###.### 2005-05-19 18:47:15 GMT

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

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: