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

G1: Pinned regions with pinned objects only reachable by native code crash VM

XMLWordPrintable

    • gc
    • b15
    • Fix failed

      In our internal tests we saw this G1 related assertion :

      #
      # Internal Error (/priv/jenkins/client-home/workspace/openjdk-jdk-aix_ppc64-dbg/jdk/src/hotspot/share/gc/g1/g1CollectedHeap.cpp:2685), pid=8847744, tid=10287
      # assert(!hr->has_pinned_objects()) failed: must not free a region which contains pinned objects
      #
      # JRE version: OpenJDK Runtime Environment (25.0) (fastdebug build 25-internal-adhoc.sapmachine.jdk)
      # Java VM: OpenJDK 64-Bit Server VM (fastdebug 25-internal-adhoc.sapmachine.jdk, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, aix-ppc64)

      Host: myhost, PV_9_Compat, 32 cores, 63G, 2 7
      Time: Thu Mar 13 01:36:55 2025 CET elapsed time: 163.487253 seconds (0d 0h 2m 43s)

      --------------- T H R E A D ---------------

      Current thread (0x000000011a50b390): WorkerThread "GC Thread#15" [id=10287, stack(0x000000011d0d0000,0x000000011d2ef888) (2174K)]

      Stack: [0x000000011d0d0000,0x000000011d2ef888], sp=0x000000011d2eec60, free space=2171k
      No context given, using current context.
      Native frame:
      iar: 0x090000002f14ca8c libjvm.so::AixNativeCallstack::print_callstack_for_context(outputStream*, ucontext_t const*, bool, char*, unsigned long)+0x4ec (C++ uses_alloca saves_cr saves_lr stores_bc gpr_saved:18 fixedparms:5 parmsonstk:1)
      lr: 0x000000011d2ee0a0 (unknown module)::(unknown function)+?
      sp: 0x000000011d2ede10 (base - 0x1A78)
      rtoc: 0x08001000a045da48
      |---stackaddr----| |----lrsave------|: <function name>
      0x000000011d2ee200 - 0x090000002f14c524 libjvm.so::os::Aix::platform_print_native_stack(outputStream*, void const*, char*, int, unsigned char*&)+0x24 (C++ uses_alloca saves_lr stores_bc gpr_saved:1 fixedparms:5 parmsonstk:1)
      0x000000011d2ee280 - 0x090000002f14c3d8 libjvm.so::NativeStackPrinter::print_stack(outputStream*, char*, int, unsigned char*&, bool, int)+0x58 (C++ fp_present uses_alloca saves_cr saves_lr stores_bc gpr_saved:6 fixedparms:7 parmsonstk:1)
      0x000000011d2ee390 - 0x090000002f887974 libjvm.so::VMError::report(outputStream*, bool)+0x1cf4 (C++ fp_present uses_alloca saves_cr saves_lr stores_bc gpr_saved:18 fixedparms:2 parmsonstk:1)
      0x000000011d2eec70 - 0x090000002ee98034 libjvm.so::VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void const*, void const*, char const*, int, unsigned long)+0x874 (C++ uses_alloca saves_lr stores_bc gpr_saved:18 fixedparms:8 parmsonstk:1)
      0x000000011d2eee50 - 0x090000002ee974e0 libjvm.so::report_vm_error(char const*, int, char const*, char const*, ...)+0xa0 (C++ uses_alloca saves_lr stores_bc gpr_saved:5 fixedparms:4 parmsonstk:1)
      0x000000011d2eef10 - 0x090000002f50f9a8 libjvm.so::G1CollectedHeap::free_region(G1HeapRegion*, G1FreeRegionList*)+0x368 (C++ uses_alloca saves_lr stores_bc gpr_saved:8 fixedparms:3 parmsonstk:1)
      0x000000011d2eefe0 - 0x090000002f517370 libjvm.so::FreeCSetClosure::handle_evacuated_region(G1HeapRegion*)+0xf0 (C++ uses_alloca saves_lr stores_bc gpr_saved:4 fixedparms:2 parmsonstk:1)
      0x000000011d2ef070 - 0x090000002f5139b4 libjvm.so::FreeCSetClosure::do_heap_region(G1HeapRegion*)+0x214 (C++ uses_alloca saves_lr stores_bc gpr_saved:6 fixedparms:2 parmsonstk:1)
      0x000000011d2ef180 - 0x090000002f4d1628 libjvm.so::G1CollectedHeap::par_iterate_regions_array(G1HeapRegionClosure*, G1HeapRegionClaimer*, unsigned int const*, unsigned long, unsigned int) const+0x108 (C++ uses_alloca saves_lr stores_bc gpr_saved:9 fixedparms:6 parmsonstk:1)
      0x000000011d2ef240 - 0x090000002f51756c libjvm.so::G1CollectionSet::par_iterate(G1HeapRegionClosure*, G1HeapRegionClaimer*, unsigned int) const+0x2c (C++ uses_alloca saves_lr stores_bc gpr_saved:1 fixedparms:4 parmsonstk:1)
      0x000000011d2ef2c0 - 0x090000002f51749c libjvm.so::G1CollectedHeap::collection_set_par_iterate_all(G1HeapRegionClosure*, G1HeapRegionClaimer*, unsigned int)+0x1c (C++ uses_alloca saves_lr stores_bc gpr_saved:1 fixedparms:4 parmsonstk:1)
      0x000000011d2ef340 - 0x090000002f5135e0 libjvm.so::G1PostEvacuateCollectionSetCleanupTask2::FreeCollectionSetTask::do_work(unsigned int)+0x100 (C++ fp_present uses_alloca saves_lr stores_bc gpr_saved:7 fixedparms:2 parmsonstk:1)
      0x000000011d2ef450 - 0x090000002f4b4748 libjvm.so::G1BatchedTask::work(unsigned int)+0x108 (C++ uses_alloca saves_lr stores_bc gpr_saved:9 fixedparms:2 parmsonstk:1)
      0x000000011d2ef590 - 0x090000002efbd1e8 libjvm.so::WorkerThread::run()+0xe8 (C++ uses_alloca saves_lr stores_bc gpr_saved:8 fixedparms:1 parmsonstk:1)
      0x000000011d2ef650 - 0x090000002efc0188 libjvm.so::Thread::call_run()+0x128 (C++ uses_alloca saves_lr stores_bc gpr_saved:3 fixedparms:1 parmsonstk:1)
      0x000000011d2ef6e0 - 0x090000002efbf46c libjvm.so::thread_native_entry(Thread*)+0x20c (C++ uses_alloca saves_lr stores_bc gpr_saved:8 fixedparms:1 parmsonstk:1)
      0x000000011d2ef7a0 - 0x090000000056204c libpthreads.a::_pthread_body+0xec (C saves_lr stores_bc gpr_saved:1 fixedparms:1 )
      0x000000011d2ef820 - 0x0000000000000000
      *** end of backchain ***

            tschatzl Thomas Schatzl
            mbaesken Matthias Baesken
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: