Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-5104

[drlvm] Assertion during root enumeration

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • DRLVM
    • None

    Description

      During evaluating HARMONY-2772 assertion on following stack was reproduced:

      #8 0x00002aaaaac0c39c in check_ref (ref=0x2aaabe800160)
      at .../vm/vmcore/src/gc/root_set_enum_common.cpp:164
      #9 0x00002aaaaac0c57b in vm_enumerate_root_reference (ref=0x2aaabe800160, is_pinned=0)
      at .../vm/vmcore/src/gc/root_set_enum_common.cpp:178
      #10 0x00002aaaaac0c5f7 in vm_enumerate_jlc (c=0x2aaabe800110, b_weak=false)
      at .../vm/vmcore/src/gc/root_set_enum_common.cpp:77
      #11 0x00002aaaaac0d1a1 in vm_enumerate_static_fields ()
      at .../vm/vmcore/src/gc/root_set_enum_common.cpp:132
      #12 0x00002aaaaac0d48d in vm_enumerate_root_set_global_refs ()
      at .../vm/vmcore/src/gc/root_set_enum_common.cpp:245
      #13 0x00002aaaaac144b8 in stop_the_world_root_set_enumeration ()
      at .../vm/vmcore/src/gc/stop_the_world_root_set_enum.cpp:131
      #14 0x00002aaaaac14578 in vm_enumerate_root_set_all_threads ()
      at .../vm/vmcore/src/gc/stop_the_world_root_set_enum.cpp:146
      #15 0x00002aaaad51a004 in gc_reclaim_heap (gc=0x56c0a0, gc_cause=1)
      at .../vm/gc_gen/src/common/gc_common.cpp:331
      #16 0x00002aaaad5049f5 in fspace_alloc (size=528, allocator=0xf91a90)
      at .../vm/gc_gen/src/trace_forward/fspace_alloc.cpp:79
      #17 0x00002aaaad522f73 in nos_alloc (size=528, allocator=0xf91a90)
      at .../vm/gc_gen/src/gen/gen.cpp:283
      #18 0x00002aaaad53bc1b in gc_alloc (size=528, ah=1272, unused_gc_tls=0x2aaabee28728)
      at .../vm/gc_gen/src/thread/mutator_alloc.cpp:91
      #19 0x00002aaaaac21fc8 in vm_new_vector_using_vtable_and_thread_pointer (length=512, vector_handle=1272,
      tp=0x2aaabee28728) at .../vm/vmcore/src/object/vm_arrays.cpp:219
      #20 0x00002aaaaab90fa3 in vm_rt_new_vector_using_vtable_and_thread_pointer (length=512, vector_handle=1272,
      tp=0x2aaabee28728)
      at .../vm/vmcore/src/jit/jit_runtime_support.cpp:113

      The source of assertion is in changing classloader map, which iterated during GC, in suspend enable mode.

      Attachments

        1. HARMONY-5104.patch
          2 kB
          Pavel Afremov

        Issue Links

          Activity

            People

              gshimansky Gregory Shimansky
              pavel.n.afremov Pavel Afremov
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: