You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Calling LineReaderImpl.redisplay when running in a container started via compose can trigger infinite recursion, eventually throwing a StackOverflowError.
The underlying cause is that under those conditions, LineReaderImpl.size.getRows() is 0. This is a problem because redisplay can eventually call doList, where a certain condition is then always true and the taken branch calls redisplay again.
This does not seem to affect containers started directly via docker run (rather than compose) and the terminal size is set correctly there.
When running inside a detached Docker container, calling LineReaderImpl.redisplay
resulted in a StackOverflowError. The reason for this is that redisplay eventually
calls doList, which again calls redisplay because the size.getRows() is 0.
Calling
LineReaderImpl.redisplay
when running in a container started viacompose
can trigger infinite recursion, eventually throwing aStackOverflowError
.The underlying cause is that under those conditions,
LineReaderImpl.size.getRows()
is0
. This is a problem becauseredisplay
can eventually calldoList
, where a certain condition is then always true and the taken branch callsredisplay
again.This does not seem to affect containers started directly via
docker run
(rather thancompose
) and the terminal size is set correctly there.Minimal example to reproduce the issue: https://github.com/VerKWer/jline3-stack-overflow
The text was updated successfully, but these errors were encountered: