Skip to content

Conversation

@graalvmbot
Copy link
Collaborator

@graalvmbot graalvmbot commented Sep 11, 2025

  • Fixed a rare race condition in the class initialization logic, where other threads could see uninitialized values for fields that are written in a static initializer.
  • Fixed deadlocks that could occur if OutOfMemoryErrors or StackOverflowErrors happened during class initialization.
  • Fixed deadlocks and other problems that could happen if recurring callbacks were executed during certain parts of class initialization.
  • Fixed an issue in ClassInitializationInfo.markReached(...) which could prevent types from being marked as reached. Other threads could also see inconsistent reachability states for the class hierarchy.
  • Fixed an issue where ClassInitializationInfo.typeReached could be updated from UNTRACKED to REACHED.
  • Fixed an issue where ClassInitializationInfo.isInitialized() could return false even though the class initializer was already executed.
  • Fixed deadlocks where ClassInitializationInfo.isReentrantInitialization() could wrongly return false for virtual threads.
  • Fixed an issue where the field ClassInitializationInfo.hasInitializer could be incorrect for classes for which linking failed at build-time.
  • Lots of cleanups.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Sep 11, 2025
@graalvmbot graalvmbot merged commit 6577748 into master Sep 12, 2025
13 checks passed
@graalvmbot graalvmbot deleted the chaeubl/GR-68875 branch September 12, 2025 10:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants