[ 
https://issues.apache.org/jira/browse/FELIX-6153?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rico Neubauer updated FELIX-6153:
---------------------------------
    Description: 
Hi,

This is Karaf 4.2.6 using gogo-jline 1.1.4.

Using command-completion in client-console with values, that may include blanks 
fails with StringIndexOutOfBoundsException shown below.

Example: Having this command and hitting TAB, shows the possible values (note 
there is no blank on the first entry, but then a blank in the 2nd entry).
{noformat}
adapters:start " "
"SILClient" "FTP Client"
"AS2 Client" "RESTClient"
"BIC Client" "WSRMClient"
{noformat}
Hitting TAB once more goes to "SILClient" in this example - successful.
 Hitting TAB once more would go to the entry with blank and fails with:
{noformat}
ERROR org.apache.karaf.shell.support.ShellUtil Karaf ssh console user admin 
[org.apache.karaf.shell.core:4.2.6.SEE2] Exception caught while executing 
command
java.lang.StringIndexOutOfBoundsException: String index out of range: 12
 at java.lang.String.charAt(String.java:658) ~[?:?]
 at org.apache.felix.gogo.jline.ParsedLineImpl.escape(ParsedLineImpl.java:131) 
~[?:?]
 at 
org.jline.reader.impl.LineReaderImpl$MenuSupport.update(LineReaderImpl.java:4538)
 ~[740:org.jline:3.11.0]
 at 
org.jline.reader.impl.LineReaderImpl$MenuSupport.next(LineReaderImpl.java:4452) 
~[740:org.jline:3.11.0]
 at org.jline.reader.impl.LineReaderImpl.doMenu(LineReaderImpl.java:4606) 
~[740:org.jline:3.11.0]
 at org.jline.reader.impl.LineReaderImpl.doList(LineReaderImpl.java:4749) 
~[740:org.jline:3.11.0]
 at org.jline.reader.impl.LineReaderImpl.doComplete(LineReaderImpl.java:4284) 
~[740:org.jline:3.11.0]
 at 
org.jline.reader.impl.LineReaderImpl.expandOrComplete(LineReaderImpl.java:4010) 
~[740:org.jline:3.11.0]
 at org.jline.reader.impl.LineReaderImpl$1.apply(LineReaderImpl.java:3616) 
~[740:org.jline:3.11.0]
 at org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:614) 
~[740:org.jline:3.11.0]
 at 
org.apache.karaf.shell.impl.console.ConsoleSessionImpl.readCommand(ConsoleSessionImpl.java:444)
 [644:org.apache.karaf.shell.core:4.2.6]
 at 
org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:402)
 [644:org.apache.karaf.shell.core:4.2.6]
 at java.lang.Thread.run(Thread.java:748) [?:?]adapters:s{noformat}
 

  was:
Hi,

This is Karaf 4.2.6 using gogo-jline 1.1.4.

Using command-completion in client-console with values, that may include blanks 
fails with StringIndexOutOfBoundsException shown below.

Example: Having this command and hitting TAB, shows the possible values (note 
there is no blank on the first entry, but then a blanc in the 2nd entry).
{noformat}
adapters:start " "
"SILClient" "FTP Client"
"AS2 Client" "RESTClient"
"BIC Client" "WSRMClient"
{noformat}
Hitting TAB once more goes to "SILClient" in this example - successful.
Hitting TAB once more would go to the entry with blank and fails with:

 
{noformat}
ERROR org.apache.karaf.shell.support.ShellUtil Karaf ssh console user admin 
[org.apache.karaf.shell.core:4.2.6.SEE2] Exception caught while executing 
command
java.lang.StringIndexOutOfBoundsException: String index out of range: 12
 at java.lang.String.charAt(String.java:658) ~[?:?]
 at org.apache.felix.gogo.jline.ParsedLineImpl.escape(ParsedLineImpl.java:131) 
~[?:?]
 at 
org.jline.reader.impl.LineReaderImpl$MenuSupport.update(LineReaderImpl.java:4538)
 ~[740:org.jline:3.11.0]
 at 
org.jline.reader.impl.LineReaderImpl$MenuSupport.next(LineReaderImpl.java:4452) 
~[740:org.jline:3.11.0]
 at org.jline.reader.impl.LineReaderImpl.doMenu(LineReaderImpl.java:4606) 
~[740:org.jline:3.11.0]
 at org.jline.reader.impl.LineReaderImpl.doList(LineReaderImpl.java:4749) 
~[740:org.jline:3.11.0]
 at org.jline.reader.impl.LineReaderImpl.doComplete(LineReaderImpl.java:4284) 
~[740:org.jline:3.11.0]
 at 
org.jline.reader.impl.LineReaderImpl.expandOrComplete(LineReaderImpl.java:4010) 
~[740:org.jline:3.11.0]
 at org.jline.reader.impl.LineReaderImpl$1.apply(LineReaderImpl.java:3616) 
~[740:org.jline:3.11.0]
 at org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:614) 
~[740:org.jline:3.11.0]
 at 
org.apache.karaf.shell.impl.console.ConsoleSessionImpl.readCommand(ConsoleSessionImpl.java:444)
 [644:org.apache.karaf.shell.core:4.2.6]
 at 
org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:402)
 [644:org.apache.karaf.shell.core:4.2.6]
 at java.lang.Thread.run(Thread.java:748) [?:?]adapters:s{noformat}
 


> StringIndexOutOfBoundsException on TAB completion with blanks
> -------------------------------------------------------------
>
>                 Key: FELIX-6153
>                 URL: https://issues.apache.org/jira/browse/FELIX-6153
>             Project: Felix
>          Issue Type: Bug
>          Components: Gogo JLine
>    Affects Versions: gogo.jline-1.1.4
>            Reporter: Rico Neubauer
>            Priority: Major
>
> Hi,
> This is Karaf 4.2.6 using gogo-jline 1.1.4.
> Using command-completion in client-console with values, that may include 
> blanks fails with StringIndexOutOfBoundsException shown below.
> Example: Having this command and hitting TAB, shows the possible values (note 
> there is no blank on the first entry, but then a blank in the 2nd entry).
> {noformat}
> adapters:start " "
> "SILClient" "FTP Client"
> "AS2 Client" "RESTClient"
> "BIC Client" "WSRMClient"
> {noformat}
> Hitting TAB once more goes to "SILClient" in this example - successful.
>  Hitting TAB once more would go to the entry with blank and fails with:
> {noformat}
> ERROR org.apache.karaf.shell.support.ShellUtil Karaf ssh console user admin 
> [org.apache.karaf.shell.core:4.2.6.SEE2] Exception caught while executing 
> command
> java.lang.StringIndexOutOfBoundsException: String index out of range: 12
>  at java.lang.String.charAt(String.java:658) ~[?:?]
>  at 
> org.apache.felix.gogo.jline.ParsedLineImpl.escape(ParsedLineImpl.java:131) 
> ~[?:?]
>  at 
> org.jline.reader.impl.LineReaderImpl$MenuSupport.update(LineReaderImpl.java:4538)
>  ~[740:org.jline:3.11.0]
>  at 
> org.jline.reader.impl.LineReaderImpl$MenuSupport.next(LineReaderImpl.java:4452)
>  ~[740:org.jline:3.11.0]
>  at org.jline.reader.impl.LineReaderImpl.doMenu(LineReaderImpl.java:4606) 
> ~[740:org.jline:3.11.0]
>  at org.jline.reader.impl.LineReaderImpl.doList(LineReaderImpl.java:4749) 
> ~[740:org.jline:3.11.0]
>  at org.jline.reader.impl.LineReaderImpl.doComplete(LineReaderImpl.java:4284) 
> ~[740:org.jline:3.11.0]
>  at 
> org.jline.reader.impl.LineReaderImpl.expandOrComplete(LineReaderImpl.java:4010)
>  ~[740:org.jline:3.11.0]
>  at org.jline.reader.impl.LineReaderImpl$1.apply(LineReaderImpl.java:3616) 
> ~[740:org.jline:3.11.0]
>  at org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:614) 
> ~[740:org.jline:3.11.0]
>  at 
> org.apache.karaf.shell.impl.console.ConsoleSessionImpl.readCommand(ConsoleSessionImpl.java:444)
>  [644:org.apache.karaf.shell.core:4.2.6]
>  at 
> org.apache.karaf.shell.impl.console.ConsoleSessionImpl.run(ConsoleSessionImpl.java:402)
>  [644:org.apache.karaf.shell.core:4.2.6]
>  at java.lang.Thread.run(Thread.java:748) [?:?]adapters:s{noformat}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to