Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8261450

JShell crashes with SIOOBE in tab completion

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P4
    • 17
    • 15.0.2
    • tools
    • None
    • b13

    Description

      Type Class.forName and then 3 times tab:

      jshell> Class.forName(
      Signatures:
      Class<?> Class<T>.forName(String className) throws ClassNotFoundException
      Class<?> Class<T>.forName(String name, boolean initialize, ClassLoader loader) throws ClassNotFoundException
      Class<?> Class<T>.forName(Module module, String name)

      <press tab again to see documentation>
      jshell> Class.forName(
      Exception in thread "main" java.lang.StringIndexOutOfBoundsException: index 889, length 889
      at java.base/java.lang.String.checkIndex(String.java:3693)
      at java.base/java.lang.AbstractStringBuilder.charAt(AbstractStringBuilder.java:351)
      at java.base/java.lang.StringBuilder.charAt(StringBuilder.java:85)
      at jdk.compiler/jdk.internal.shellsupport.doc.JavadocFormatter.reflow(JavadocFormatter.java:590)
      at jdk.compiler/jdk.internal.shellsupport.doc.JavadocFormatter$FormatJavadocScanner.formatDef(JavadocFormatter.java:221)
      at jdk.compiler/jdk.internal.shellsupport.doc.JavadocFormatter$FormatJavadocScanner.visitThrows(JavadocFormatter.java:203)
      at jdk.compiler/com.sun.tools.javac.tree.DCTree$DCThrows.accept(DCTree.java:957)
      at jdk.compiler/com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:79)
      at jdk.compiler/jdk.internal.shellsupport.doc.JavadocFormatter$FormatJavadocScanner.scan(JavadocFormatter.java:549)
      at jdk.compiler/jdk.internal.shellsupport.doc.JavadocFormatter$FormatJavadocScanner.visitDocComment(JavadocFormatter.java:164)
      at jdk.compiler/com.sun.tools.javac.tree.DCTree$DCDocComment.accept(DCTree.java:138)
      at jdk.compiler/com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:79)
      at jdk.compiler/jdk.internal.shellsupport.doc.JavadocFormatter$FormatJavadocScanner.scan(JavadocFormatter.java:549)
      at jdk.compiler/jdk.internal.shellsupport.doc.JavadocFormatter.formatJavadoc(JavadocFormatter.java:118)
      at jdk.jshell/jdk.internal.jshell.tool.ConsoleIOContext$ExpressionJavadocTask.lambda$perform$0(ConsoleIOContext.java:789)
      at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
      at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
      at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
      at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
      at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
      at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
      at jdk.jshell/jdk.internal.jshell.tool.ConsoleIOContext$ExpressionJavadocTask.perform(ConsoleIOContext.java:795)
      at jdk.jshell/jdk.internal.jshell.tool.ConsoleIOContext.complete(ConsoleIOContext.java:427)
      at jdk.jshell/jdk.internal.jshell.tool.ConsoleIOContext$2.doComplete(ConsoleIOContext.java:153)
      at jdk.internal.le/jdk.internal.org.jline.reader.impl.LineReaderImpl.expandOrComplete(LineReaderImpl.java:4302)
      at jdk.internal.le/jdk.internal.org.jline.reader.impl.LineReaderImpl$1.apply(LineReaderImpl.java:3797)
      at jdk.internal.le/jdk.internal.org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:665)
      at jdk.internal.le/jdk.internal.org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:454)
      at jdk.jshell/jdk.internal.jshell.tool.ConsoleIOContext.readLine(ConsoleIOContext.java:233)
      at jdk.jshell/jdk.internal.jshell.tool.JShellTool.getInput(JShellTool.java:1254)
      at jdk.jshell/jdk.internal.jshell.tool.JShellTool.run(JShellTool.java:1190)
      at jdk.jshell/jdk.internal.jshell.tool.JShellTool.start(JShellTool.java:991)
      at jdk.jshell/jdk.internal.jshell.tool.JShellToolBuilder.start(JShellToolBuilder.java:254)
      at jdk.jshell/jdk.internal.jshell.tool.JShellToolProvider.main(JShellToolProvider.java:120)

      Attachments

        Issue Links

          Activity

            People

              jlahoda Jan Lahoda
              mschoene Marc Schönefeld
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: