oracle / oracle/oci-java-sdk

Potential deadlock issue in Versions 3.50.1 to 3.65.1 (Fixed in 3.66.0)

Open
#706 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

SDK
Dominant language
Java
Stars
243
Forks
171
Avg merge
30m
Merged PRs (30d)
4

Description

If you are using any OCI Java SDK version(s) >= 3.50.1 and <= 3.65.1, then you might be affected by a potential deadlock issue. We recommend you to update to version 3.66.0 or later. If you are not using any of the affected OCI Java SDK versions, you can ignore this issue.

Description
When using OCI Java SDK version(s) >= 3.50.1 and <= 3.65.1, you might a run into a deadlock scenario with the method com.oracle.bmc.http.client.pki.Utf8.of. The method Utf8.of off-loads its read to CompletableFuture.runAsync() on the global ForkJoinPool.commonPool and immediately calls .join(). In parallel workloads, when this method is invoked from multiple common-pool threads, the very threads needed to run the background read are all blocked in join(). The future’s task never executes, starving the pool and causing a hard deadlock. This issue has been fixed in version 3.66.0.

Affected Versions

Actions
Update the OCI Java SDK version to 3.66.0 or later.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Check the project's dependency declarations and the OCI Java SDK release notes first, focusing on versions 3.50.1 through 3.65.1 and the 3.66.0 fix. Done means affected users are directed to version 3.66.0 or later and the outdated version guidance is no longer needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.