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

JSON Parse - leads to java.lang.ArrayIndexOutOfBoundsException

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 8u40
    • core-libs

      FULL PRODUCT VERSION :
      Windows:
      java version "1.8.0_40"
      Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
      Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

      Linux:
      java version "1.8.0_40"
      Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
      Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Linux manivand.desktop.*****.com 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

      NOTE: This is not related to OS. I am able to reproduce the same issue on Windows, Mac & Ubuntu systems.

      A DESCRIPTION OF THE PROBLEM :
      Nashorn is no longer parsing the below JSON content.
      {
          "supportInfo": {
              "210": true,
              "500": false
        }
      }

      How to reproduce?
      1. Goto Java BIN directory
      2. Run "jjs", run the following script.
      var jsonString = '{"supportInfo":{"210":true,"500":false}}';
      var data = JSON.parse(jsonString);

      Error: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 7

      REGRESSION. Last worked in version 8u31

      ADDITIONAL REGRESSION INFORMATION:
      java version "1.8.0_31"
      Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
      Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :

      How to reproduce?
      1. Goto Java BIN directory
      2. Run "jjs", run the following script.
      var jsonString = '{"supportInfo":{"210":true,"500":false}}';
      var data = JSON.parse(jsonString);
      print(data.supportInfo["210"]) //true
      print(data.supportInfo["510"]) //false

      No errors

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      210
      510
      Without any error
      ACTUAL -
      In 1.8.0_31 - No errors works as expected.
      In 1.8.0_41 - Error: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 7

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      No logs, it looks like a definite software bug.

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      Not Requried
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Never keep your json property/key as integer. The following json parses fine.

      {
          "supportInfo": {
              "_210": true,
              "_500": false
        }
      }

            pardesha Pardeep Sharma
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: