Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support CRaC with Java agents that use appendToBootstrapClassLoaderSearch #162

Draft
wants to merge 1 commit into
base: crac
Choose a base branch
from

Conversation

mcculls
Copy link

@mcculls mcculls commented Dec 14, 2024

Instrumentation.appendToBootstrapClassLoaderSearch(jarfile) ends up creating a file descriptor for the jarfile in native code that cannot be closed or claimed from Java:

https://github.com/openjdk/jdk/blob/jdk-25%2B2/src/hotspot/share/prims/jvmtiEnv.cpp#L671

These FDs can be ignored and left to the CRaC engine.

Without this change you cannot use CRaC with Java agents that call appendToBootstrapClassLoaderSearch, unless you use -XX:CRAllowedOpenFilePrefixes as a workaround.


Progress

  • Change must not contain extraneous whitespace

Error

 ⚠️ OCA signatory status must be verified

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/crac.git pull/162/head:pull/162
$ git checkout pull/162

Update a local copy of the PR:
$ git checkout pull/162
$ git pull https://git.openjdk.org/crac.git pull/162/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 162

View PR using the GUI difftool:
$ git pr show -t 162

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/crac/pull/162.diff

…arch

Instrumentation.appendToBootstrapClassLoaderSearch(jarfile) creates a file
descriptor for the jarfile in native code that cannot be closed or claimed
from Java. These FDs can be ignored and left to the CRaC engine.
@bridgekeeper bridgekeeper bot added the oca Needs verification of OCA signatory status label Dec 14, 2024
@bridgekeeper
Copy link

bridgekeeper bot commented Dec 14, 2024

Hi @mcculls, welcome to this OpenJDK project and thanks for contributing!

We do not recognize you as Contributor and need to ensure you have signed the Oracle Contributor Agreement (OCA). If you have not signed the OCA, please follow the instructions. Please fill in your GitHub username in the "Username" field of the application. Once you have signed the OCA, please let us know by writing /signed in a comment in this pull request.

If you already are an OpenJDK Author, Committer or Reviewer, please click here to open a new issue so that we can record that fact. Please use "Add GitHub user mcculls" as summary for the issue.

If you are contributing this work on behalf of your employer and your employer has signed the OCA, please let us know by writing /covered in a comment in this pull request.

@openjdk
Copy link

openjdk bot commented Dec 14, 2024

❗ This change is not yet ready to be integrated.
See the Progress checklist in the description for automated requirements.

@rvansa
Copy link
Collaborator

rvansa commented Dec 16, 2024

Hi @mcculls , the fix looks good - do you think you could accompany it with a test case?

@mcculls
Copy link
Author

mcculls commented Dec 16, 2024

Hi @rvansa - yes I can add a test case

@mcculls
Copy link
Author

mcculls commented Dec 16, 2024

/covered

@bridgekeeper bridgekeeper bot added the oca-verify Needs verification of OCA signatory status label Dec 16, 2024
@bridgekeeper
Copy link

bridgekeeper bot commented Dec 16, 2024

Thank you! Please allow for a few business days to verify that your employer has signed the OCA. Also, please note that pull requests that are pending an OCA check will not usually be evaluated, so your patience is appreciated!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
oca Needs verification of OCA signatory status oca-verify Needs verification of OCA signatory status
Development

Successfully merging this pull request may close these issues.

2 participants