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>

Reply via email to