RFR: 8340679: misc tests fail assert(!set || SafepointSynchronize::is_at_safepoint()) failed: set once or at safepoint

Coleen Phillimore coleenp at openjdk.org
Wed Sep 25 21:14:03 UTC 2024


The shared_loading_failed flag is set if an exception is thrown when trying to resolve a super class or interface for [JDK-8338693](https://bugs.openjdk.org/browse/JDK-8338693).  This case then sets the same flag in the caller of load_shared_class.  These InstanceKlass flags assert that we only set them once during class loading then never again. The exception should properly exit out of the call like all other TRAPS functions do.  Then the flag is set in the caller for the exception case.  The other case where shared classes don't match require the boolean return from check_shared_super_type.

Tested with failing test 1000x, then tier1-4.  Testing all of tier5-7 in progress.

-------------

Commit messages:
 - 8340679: compiler/uncommontrap/DeoptReallocFailure.java fails assert(!set || SafepointSynchronize::is_at_safepoint()) failed: set once or at safepoin

Changes: https://git.openjdk.org/jdk/pull/21187/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21187&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8340679
  Stats: 13 lines in 1 file changed: 6 ins; 0 del; 7 mod
  Patch: https://git.openjdk.org/jdk/pull/21187.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21187/head:pull/21187

PR: https://git.openjdk.org/jdk/pull/21187


More information about the hotspot-runtime-dev mailing list