Skip to content

JLine hangs reading line in GitBash #245

@bdw429s

Description

@bdw429s

I tried out my CommandBox library which uses JLine on GitShell today. The shell prompt works fine as well as me typing text, but as soon as I hit enter, the program hangs for a very long time (I've never waited to see if it completes), consuming a large amount of CPU usage and an ever-growing amount of memory.

Pulling a stack trace from the JVM shows the thread is on this same place every time. It would appear as though some sort of error is being thrown over and over and getting caught every time.

I am using Windows 8 and here is where I downloaded Git shell from:
https://git-for-windows.github.io/

   java.lang.Thread.State: RUNNABLE
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Unknown Source)
    - locked <0x00000000e71d05e8> (a java.io.IOException)
    at java.lang.Throwable.<init>(Unknown Source)
    at java.lang.Exception.<init>(Unknown Source)
    at java.io.IOException.<init>(Unknown Source)
    at org.fusesource.jansi.internal.Kernel32.readConsoleInputHelper(Kernel32.java:765)
    at org.fusesource.jansi.internal.Kernel32.readConsoleKeyInput(Kernel32.java:794)
    at org.fusesource.jansi.internal.WindowsSupport.readConsoleInput(WindowsSupport.java:97)
    at jline.WindowsTerminal.readConsoleInput(WindowsTerminal.java:214)
    at jline.WindowsTerminal.access$000(WindowsTerminal.java:54)
    at jline.WindowsTerminal$1.read(WindowsTerminal.java:156)
    at jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:166)
    - locked <0x00000000ae441ed0> (a jline.internal.NonBlockingInputStream)
    at jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:135)
    at jline.internal.NonBlockingInputStream.read(NonBlockingInputStream.java:243)
    at jline.internal.InputStreamReader.read(InputStreamReader.java:257)
    - locked <0x00000000ae441ed0> (a jline.internal.NonBlockingInputStream)
    at jline.internal.InputStreamReader.read(InputStreamReader.java:194)
    - locked <0x00000000ae441ed0> (a jline.internal.NonBlockingInputStream)
    at jline.console.ConsoleReader.readCharacter(ConsoleReader.java:2135)
    at jline.console.ConsoleReader.readCharacter(ConsoleReader.java:2125)
    at jline.console.ConsoleReader.readBinding(ConsoleReader.java:2210)
    at jline.console.ConsoleReader.readLine(ConsoleReader.java:2450)
    at jline.console.ConsoleReader.readLine(ConsoleReader.java:2362)
    at jline.console.ConsoleReader.readLine(ConsoleReader.java:2350)
    at jline.console.ConsoleReader.readLine(ConsoleReader.java:2338)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at lucee.runtime.reflection.pairs.MethodInstance.invoke(MethodInstance.java:55)
    at lucee.runtime.reflection.Reflector.callMethod(Reflector.java:857)
    at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:756)
    at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1590)
    at system.shell_cfc$cf.udfCall2(C:\Users\Brad\.CommandBox\cfml\system\Shell.cfc:409)
...

Let me know if this should actually be logged in JAnsi.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions