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

[drlvm][thread][reliability] assert in JIT while unwinding stack (during enumeration)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • DRLVM
    • None
    • Win 2003
    • Guru

    Description

      2 reliablity tests failed on assertion in jit:
      1. CharsetSyncCacheTest
      2. ZlibTest

      svn rev 548320

      Call stack:
      jitrino.dll!_assert(const char * expr=0x01ba9f08, const char * filename=0x01ba9eb0, unsigned int lineno=0x000000ac) Line 295 C
      > jitrino.dll!Jitrino::Ia32::StackInfo::read(Jitrino::MethodDesc * pMethodDesc=0x03bef720, unsigned int eip=0x00000000, bool isFirst=false) Line 172 + 0x1a C++
      jitrino.dll!Jitrino::Ia32::RuntimeInterface::unwindStack(Jitrino::MethodDesc * methodDesc=0x03bef720, JitFrameContext * context=0x02de90d4, bool isFirst=false) Line 40 C++
      jitrino.dll!Jitrino::Jitrino::UnwindStack(Jitrino::MethodDesc * methodDesc=0x03bef720, JitFrameContext * context=0x02de90d4, bool isFirst=false) Line 280 + 0x1e C++
      jitrino.dll!JIT_unwind_stack_frame(void * jit=0x012a6a48, Method * method=0x02cb3668, JitFrameContext * context=0x02de90d4) Line 362 + 0x18 C++
      harmonyvm.dll!Dll_JIT::unwind_stack_frame(Method * method=0x02cb3668, JitFrameContext * context=0x02de90d4) Line 94 + 0x14 C++
      harmonyvm.dll!si_goto_previous(StackIterator * si=0x02de90d0, bool over_popped=false) Line 315 + 0x32 C++
      harmonyvm.dll!vm_enumerate_root_set_single_thread_on_stack(StackIterator * si=0x02de90d0) Line 339 + 0xb C++
      harmonyvm.dll!vm_enumerate_thread(VM_thread * thread=0x02d7e088) Line 224 + 0x9 C++
      harmonyvm.dll!stop_the_world_root_set_enumeration() Line 110 + 0xc C++
      harmonyvm.dll!vm_enumerate_root_set_all_threads() Line 150 C++
      gc_gen.dll!gc_reclaim_heap(GC * gc=0x014d5de8, unsigned int gc_cause=0x00000003) Line 295 + 0x8 C++
      gc_gen.dll!gc_force_gc() Line 138 + 0xd C++
      harmonyvm.dll!Java_java_lang_VMMemoryManager_runGC(JNIEnv_External * __formal=0x02d9e240, JNIEnv_External * __formal=0x02d9e240) Line 138 + 0x8 C++
      03bf33ef()
      harmonyvm.dll!get_vm_thread(HyThread * thr=0x03bef9ec) Line 193 + 0xb C++
      harmonyvm.dll!get_vm_thread(HyThread * thr=0x00000001) Line 194 + 0x7 C++

      To reproduce onee needs to run these tests with 30 min cycle (set <property name="test.duration" value="1800" /> parameter in build.xml of reliablity tests).

      Attachments

        1. 2rel_tests_fail.dmp
          57 kB
          Aleksey Ignatenko
        2. exclude_list.patch
          1 kB
          Pavel Rebriy
        3. H4215_tm_races.patch
          5 kB
          Evgueni Brevnov
        4. test.zip
          137 kB
          Pavel Ozhdikhin
        5. util.Date_int.out.err
          4 kB
          Pavel Ozhdikhin

        Issue Links

          Activity

            People

              gshimansky Gregory Shimansky
              aleksey.ignatenko@gmail.com Aleksey Ignatenko
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: