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

JShell crashes when attempting to use bad source file in class path

XMLWordPrintable

    • b04
    • x86_64
    • generic

      FULL PRODUCT VERSION :
      java 9.0.4
      Java(TM) SE Runtime Environment (build 9.0.4+11)
      Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Ubuntu 16.04 LTS

      A DESCRIPTION OF THE PROBLEM :
      When I try to access any class in jar files JShell crashes.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Run Jshell with jar in class-path for example:
      jshell --class-path /home/victor/.m2/repository/com/google/guava/guava/18.0/guava-18.0-sources.jar

      Run snippet that access classes in this jar:
      com.google.common.collect.Lists.class



      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      S1 ==> class com.google.common.collect.Lists.class

      ACTUAL -
      Exception in thread "main" java.lang.ClassCastException: jdk.compiler/com.sun.tools.javac.file.PathFileObject$JarFileObject cannot be cast to jdk.jshell/jdk.jshell.MemoryFileManager$SourceMemoryJavaFileObject
              at jdk.jshell/jdk.jshell.TaskFactory$WrapSourceHandler.diag(TaskFactory.java:181)
              at jdk.jshell/jdk.jshell.TaskFactory$BaseTask.diag(TaskFactory.java:370)
              at jdk.jshell/jdk.jshell.TaskFactory$BaseTask.getDiagnostics(TaskFactory.java:404)
              at jdk.jshell/jdk.jshell.Eval.processExpression(Eval.java:339)
              at jdk.jshell/jdk.jshell.Eval.sourceToSnippets(Eval.java:178)
              at jdk.jshell/jdk.jshell.Eval.eval(Eval.java:111)
              at jdk.jshell/jdk.jshell.JShell.eval(JShell.java:493)
              at jdk.jshell/jdk.internal.jshell.tool.JShellTool.processCompleteSource(JShellTool.java:2937)
              at jdk.jshell/jdk.internal.jshell.tool.JShellTool.processSource(JShellTool.java:2925)
              at jdk.jshell/jdk.internal.jshell.tool.JShellTool.processSourceCatchingReset(JShellTool.java:1182)
              at jdk.jshell/jdk.internal.jshell.tool.JShellTool.run(JShellTool.java:1162)
              at jdk.jshell/jdk.internal.jshell.tool.JShellTool.start(JShellTool.java:929)
              at jdk.jshell/jdk.internal.jshell.tool.JShellToolBuilder.run(JShellToolBuilder.java:239)
              at jdk.jshell/jdk.internal.jshell.tool.JShellToolProvider.main(JShellToolProvider.java:119)


      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Exception in thread "main" java.lang.ClassCastException: jdk.compiler/com.sun.tools.javac.file.PathFileObject$JarFileObject cannot be cast to jdk.jshell/jdk.jshell.MemoryFileManager$SourceMemoryJavaFileObject
              at jdk.jshell/jdk.jshell.TaskFactory$WrapSourceHandler.diag(TaskFactory.java:181)
              at jdk.jshell/jdk.jshell.TaskFactory$BaseTask.diag(TaskFactory.java:370)
              at jdk.jshell/jdk.jshell.TaskFactory$BaseTask.getDiagnostics(TaskFactory.java:404)
              at jdk.jshell/jdk.jshell.Eval.processExpression(Eval.java:339)
              at jdk.jshell/jdk.jshell.Eval.sourceToSnippets(Eval.java:178)
              at jdk.jshell/jdk.jshell.Eval.eval(Eval.java:111)
              at jdk.jshell/jdk.jshell.JShell.eval(JShell.java:493)
              at jdk.jshell/jdk.internal.jshell.tool.JShellTool.processCompleteSource(JShellTool.java:2937)
              at jdk.jshell/jdk.internal.jshell.tool.JShellTool.processSource(JShellTool.java:2925)
              at jdk.jshell/jdk.internal.jshell.tool.JShellTool.processSourceCatchingReset(JShellTool.java:1182)
              at jdk.jshell/jdk.internal.jshell.tool.JShellTool.run(JShellTool.java:1162)
              at jdk.jshell/jdk.internal.jshell.tool.JShellTool.start(JShellTool.java:929)
              at jdk.jshell/jdk.internal.jshell.tool.JShellToolBuilder.run(JShellToolBuilder.java:239)
              at jdk.jshell/jdk.internal.jshell.tool.JShellToolProvider.main(JShellToolProvider.java:119)


      REPRODUCIBILITY :
      This bug can be reproduced always.

        1. SampleTest.java
          0.1 kB
          Fairoz Matte

            rfield Robert Field (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: