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

[regression] java.lang.VerifyError: Bad type on operand stack

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1
    • Resolution: Fixed
    • Affects Version/s: 8
    • Fix Version/s: 8
    • Component/s: core-libs
    • Subcomponent:
    • Introduced In Build:
      b108
    • Introduced In Version:
      8
    • Resolved In Build:
      b115
    • CPU:
      generic
    • OS:
      generic
    • Verification:
      Not verified

      Description

      Nashorn initialization fails with "java.lang.VerifyError: Bad type on operand stack". This is regression in JDK caused by JDK-8024619. JDK8-b107 works fine, JDK8-b108 does not work.

      The full exception is below:
      java.lang.VerifyError: Bad type on operand stack
      Exception Details:
        Location:
          jdk/nashorn/internal/scripts/Script$engine.runScript(Ljdk/nashorn/internal/runtime/ScriptFunction;Ljava/lang/Object;)Ljava/lang/Object; @17: invokestatic
        Reason:
          Type 'jdk/nashorn/internal/scripts/JO1P0' (current frame, stack[0]) is not assignable to 'jdk/nashorn/internal/runtime/ScriptObject'
        Current Frame:
          bci: @17
          flags: { }
          locals: { 'jdk/nashorn/internal/runtime/ScriptFunction', 'java/lang/Object', 'jdk/nashorn/internal/runtime/ScriptObject' }
          stack: { 'jdk/nashorn/internal/scripts/JO1P0' }
        Bytecode:
          0000000: 2ab6 0018 4dbb 001a 5903 b800 1e2c b700
          0000010: 21b8 0027 4d2c bb00 a559 b200 a704 32c0
          0000020: 00a9 2cb7 00ac ba00 b000 002c ba00 b300
          0000030: 004e 2cba 00b6 0000 59ba 00b9 0000 5f2b
          0000040: 12bb bb00 bd59 05b8 001e b700 c059 04b8
          0000050: 00c6 b500 c959 03b8 00c6 b500 cc59 04b8
          0000060: 00c6 b500 cf59 bb00 a559 b200 a706 32c0
          0000070: 00a9 2cb7 00ac b500 e159 b800 e4b6 00e8
          0000080: ba00 eb00 004e 2cba 00b6 0000 59ba 00b9
          0000090: 0000 5f2b 12ed bb00 bd59 05b8 001e b700
          00000a0: c059 04b8 00c6 b500 c959 03b8 00c6 b500
          00000b0: cc59 04b8 00c6 b500 cf59 bb00 a559 b200
          00000c0: a707 32c0 00a9 2cb7 00ac b500 e159 b800
          00000d0: e4b6 00e8 ba00 eb00 004e 2cba 00b6 0000
          00000e0: 59ba 00b9 0000 5f2b 12fc bb00 bd59 05b8
          00000f0: 001e b700 c059 04b8 00c6 b500 c959 03b8
          0000100: 00c6 b500 cc59 04b8 00c6 b500 cf59 bb00
          0000110: a559 b200 a710 0632 c000 a92c b700 acb5
          0000120: 00e1 59b8 00e4 b600 e8ba 00eb 0000 4e2d
          0000130: b0

      at java.lang.Class.getDeclaredFields0(Native Method)
      at java.lang.Class.privateGetDeclaredFields(Class.java:2528)
      at java.lang.Class.getDeclaredField(Class.java:2022)
      at jdk.nashorn.internal.codegen.Compiler$2.run(Compiler.java:417)
      at jdk.nashorn.internal.codegen.Compiler$2.run(Compiler.java:413)
      at java.security.AccessController.doPrivileged(Native Method)
      at jdk.nashorn.internal.codegen.Compiler.install(Compiler.java:413)
      at jdk.nashorn.internal.codegen.Compiler.install(Compiler.java:447)
      at jdk.nashorn.internal.runtime.Context.compile(Context.java:891)
      at jdk.nashorn.internal.runtime.Context.compileScript(Context.java:847)
      at jdk.nashorn.internal.runtime.Context.compileScript(Context.java:391)
      at jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:595)
      at jdk.nashorn.api.scripting.NashornScriptEngine.createNashornGlobal(NashornScriptEngine.java:444)
      at jdk.nashorn.api.scripting.NashornScriptEngine.<init>(NashornScriptEngine.java:181)
      at jdk.nashorn.api.scripting.NashornScriptEngine.<init>(NashornScriptEngine.java:152)
      at jdk.nashorn.api.scripting.NashornScriptEngineFactory.getScriptEngine(NashornScriptEngineFactory.java:141)
      at jdk.nashorn.api.scripting.NashornScriptEngineFactory.getScriptEngine(NashornScriptEngineFactory.java:111)
      at javax.script.ScriptEngineManager.getEngineByName(ScriptEngineManager.java:233)
      at org.netbeans.core.network.proxy.ProxyAutoConfig.evalPAC(ProxyAutoConfig.java:201)
      at org.netbeans.core.network.proxy.ProxyAutoConfig.initEngine(ProxyAutoConfig.java:131)
      at org.netbeans.core.network.proxy.ProxyAutoConfig.access$000(ProxyAutoConfig.java:65)
      at org.netbeans.core.network.proxy.ProxyAutoConfig$1.run(ProxyAutoConfig.java:104)
      at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1432)
      at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2042)

      Related NetBeans bug:
      https://netbeans.org/bugzilla/show_bug.cgi?id=236704

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                sundar Sundararajan Athijegannathan
                Reporter:
                thurka Tomáš Hůrka
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: