JDK-8299689 : Make use of JLine for Console as "opt-in"
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.io
  • Affected Version: 20
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2023-01-05
  • Updated: 2025-03-07
  • Resolved: 2023-01-09
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 20 JDK 21
20 b31Fixed 21Fixed
Related Reports
CSR :  
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
The enhancement introduced in JDK-8295803 uses the `JLine` library (`jdk.internal.le` module) as the `java.io.Console` implementation by default. This resulted in the performance regression reported in JDK-8299685. Also introduces an unnecessary native process forking on macOS/Linux platforms. This should be avoided by default. Making it optional opt-in style would fix the issue.
Comments
Changeset: d49851a8 Author: Naoto Sato <naoto@openjdk.org> Date: 2023-01-09 18:23:42 +0000 URL: https://git.openjdk.org/jdk20/commit/d49851a8b8e80b6ffa53c2bb4f5b2897735d471f
09-01-2023

A pull request was submitted for review. URL: https://git.openjdk.org/jdk20/pull/88 Date: 2023-01-06 17:57:47 +0000
06-01-2023