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

SIGSEGV in Dependencies::DepStream::argument(int)

    Details

    • Type: Bug
    • Status: Open
    • Priority: P5
    • Resolution: Unresolved
    • Affects Version/s: 9
    • Fix Version/s: 10
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Understanding:
      Cause Known

      Description

      Test failed with SIGSEGV during adhoc run:
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # SIGSEGV (0xb) at pc=0x0000000209913275, pid=88596, tid=26887
      #
      # JRE version: Java(TM) SE Runtime Environment (9.0) (fastdebug build 9-internal+0-2016-09-14-185608.mlchung.JDK-8157464-fix)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 9-internal+0-2016-09-14-185608.mlchung.JDK-8157464-fix, compiled mode, tiered, compressed oops, g1 gc, bsd-amd64)
      # Problematic frame:
      # V [libjvm.dylib+0x496275] Dependencies::DepStream::argument(int)+0xc9
      #
      # Core dump will be written. Default location: /cores/core.88596
      #
      # If you would like to submit a bug report, please visit:
      # http://bugreport.java.com/bugreport/crash.jsp
      #

      hs_err_pid is attached.

        Activity

        Hide
        zmajo Zoltan Majo (Inactive) added a comment -
        ILW=crash,single test,no workaround=HLH=P2
        Show
        zmajo Zoltan Majo (Inactive) added a comment - ILW=crash,single test,no workaround=HLH=P2
        Hide
        zmajo Zoltan Majo (Inactive) added a comment - - edited
        updated ILW=crash but only in debug VM (-XX:+VerifyDependencies),two tests,no workaround=LLH=P5
        Show
        zmajo Zoltan Majo (Inactive) added a comment - - edited updated ILW=crash but only in debug VM (-XX:+VerifyDependencies),two tests,no workaround=LLH=P5
        Hide
        zmajo Zoltan Majo (Inactive) added a comment -
        Here is the disassembly:

        0000000000000000 f6e8 imul %al
        0000000000000002 51 push %rcx
        0000000000000003 ffff invalid
        0000000000000005 ff89df4889c6 dec -0x3976b721(%rcx)
        000000000000000b e8a1e4ffff call 0xffffffffffffe4b1
        0000000000000010 4889c3 mov %rax, %rbx
        0000000000000013 31c0 xor %rax, %rax
        0000000000000015 4885db test %rbx, %rbx
        0000000000000018 745a jz 0x74
        000000000000001a 488b03 mov (%rbx), %rax
        000000000000001d 4889df mov %rbx, %rdi
        failure --> 0000000000000020 ff5008 call 0x8(%rax) # rax is dead metadata
        0000000000000023 84c0 test %al, %al
        0000000000000025 754a jnz 0x71
        0000000000000027 488b03 mov (%rbx), %rax
        000000000000002a 4889df mov %rbx, %rdi
        000000000000002d ff5010 call 0x10(%rax)
        0000000000000030 84c0 test %al, %al
        0000000000000032 753d jnz 0x71
        0000000000000034 e82344feff call 0xfffffffffffe445c
        0000000000000039 84c0 test %al, %al
        000000000000003b 740e jz 0x4b
        000000000000003d 488d3d invalid

        So it seems that some of the metadata that has been recorded became invalid (it is zapped to 0xbaadfade).
        Show
        zmajo Zoltan Majo (Inactive) added a comment - Here is the disassembly: 0000000000000000 f6e8 imul %al 0000000000000002 51 push %rcx 0000000000000003 ffff invalid 0000000000000005 ff89df4889c6 dec -0x3976b721(%rcx) 000000000000000b e8a1e4ffff call 0xffffffffffffe4b1 0000000000000010 4889c3 mov %rax, %rbx 0000000000000013 31c0 xor %rax, %rax 0000000000000015 4885db test %rbx, %rbx 0000000000000018 745a jz 0x74 000000000000001a 488b03 mov (%rbx), %rax 000000000000001d 4889df mov %rbx, %rdi failure --> 0000000000000020 ff5008 call 0x8(%rax) # rax is dead metadata 0000000000000023 84c0 test %al, %al 0000000000000025 754a jnz 0x71 0000000000000027 488b03 mov (%rbx), %rax 000000000000002a 4889df mov %rbx, %rdi 000000000000002d ff5010 call 0x10(%rax) 0000000000000030 84c0 test %al, %al 0000000000000032 753d jnz 0x71 0000000000000034 e82344feff call 0xfffffffffffe445c 0000000000000039 84c0 test %al, %al 000000000000003b 740e jz 0x4b 000000000000003d 488d3d invalid So it seems that some of the metadata that has been recorded became invalid (it is zapped to 0xbaadfade).
        Hide
        zmajo Zoltan Majo (Inactive) added a comment -
        The above assembly most likely corresponds to

        assert(result == NULL || result->is_klass() || result->is_method(), "must be");

        i.e., line 921 in dependencies.cpp
        Show
        zmajo Zoltan Majo (Inactive) added a comment - The above assembly most likely corresponds to assert(result == NULL || result->is_klass() || result->is_method(), "must be"); i.e., line 921 in dependencies.cpp

          People

          • Assignee:
            vlivanov Vladimir Ivanov
            Reporter:
            ddmitriev Dmitry Dmitriev
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated: