Potential deadlock issue in Versions 3.50.1 to 3.65.1 (Fixed in 3.66.0)
Nobody has claimed this yet.
- 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
- 3.50.1
- 3.50.2
- 3.51.0
- 3.52.0
- 3.52.1
- 3.53.0
- 3.53.1
- 3.54.0
- 3.55.0
- 3.55.1
- 3.55.2
- 3.55.3
- 3.56.0
- 3.57.0
- 3.57.1
- 3.57.2
- 3.58.0
- 3.59.0
- 3.60.0
- 3.61.0
- 3.62.1
- 3.63.0
- 3.63.1
- 3.63.2
- 3.63.3
- 3.64.0
- 3.65.0
- 3.65.1
Actions
Update the OCI Java SDK version to 3.66.0 or later.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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