This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 0d39de040154 Revert JLine from 4.1.0 to 4.0.15 to fix camel shell
immediate exit (#23446)
0d39de040154 is described below
commit 0d39de0401545537a6fe11504f64520b46a9ded7
Author: Guillaume Nodet <[email protected]>
AuthorDate: Fri May 22 07:12:33 2026 +0200
Revert JLine from 4.1.0 to 4.0.15 to fix camel shell immediate exit (#23446)
JLine 4.1.0 introduced a new `AbstractUnixSysTerminal` that bypasses
the PTY abstraction and reads directly from
`FileInputStream(FileDescriptor.in)`.
Combined with `enterRawMode()` setting `VMIN=0, VTIME=1` (a latent bug
since 2017), the kernel returns 0 bytes after 100ms idle, which Java's
`FileInputStream.read()` translates to -1 (EOF). This causes JLine's
`readLine()` to throw `EndOfFileException`, making `camel shell` exit
immediately after printing the banner.
JLine 4.0.15 uses PTY-backed I/O (`pty.getSlaveInput()`) which handles
0-byte returns correctly, so the shell works as expected.
The fix for the VMIN bug is in JLine PR #1871 (commit 8242f965) but has
not been released yet. Once JLine releases a version with that fix,
we can upgrade again.
Co-authored-by: Claude Opus 4.6 <[email protected]>
---
parent/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/parent/pom.xml b/parent/pom.xml
index 972c7531a8b0..0b0abc4dd7d7 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -296,7 +296,7 @@
<jgroups-raft-version>1.1.4.Final</jgroups-raft-version>
<jira-rest-client-api-version>6.0.2</jira-rest-client-api-version>
<jira-sal-api-version>7.2.1</jira-sal-api-version>
- <jline-version>4.1.0</jline-version>
+ <jline-version>4.0.15</jline-version>
<libthrift-version>0.23.0</libthrift-version>
<jodatime2-version>2.14.2</jodatime2-version>
<jolokia-version>2.6.0</jolokia-version>