Hi dear Nashorn developers,

There's an ArrayIndexOutOfBoundsException bug when I try to parse this
JSON: '{ "0":null, "100": null }'.

Have a look here:

jjs> JSON.parse('{ "0":null, "65503": null }')
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 65503
jjs>
jjs> JSON.parse('{ "0":null, "100": null }')
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 100
jjs>
jjs> JSON.parse('{ "0":null, "65": null }')
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 65
jjs>
jjs> JSON.parse('{ "0":null, "64": null }')  // Works
[object Object]
jjs>
jjs> JSON.parse('{ "_0":null, "_100": null }')  // Works
[object Object]
jjs>
jjs>

I found a bug report that was fixed that made { 0: null, 64: null } work.
But as you can see above, { 0: null, 65: null } doesn't work.
  https://bugs.openjdk.java.net/browse/JDK-8048718

Version details:

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

$ uname -a
Linux kajmagnus-lt-15 3.19.0-031900-generic #201502091451 SMP Mon Feb 9
14:52:52 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/issue
Linux Mint 17.1 Rebecca \n \l

(This bug wasn't present in an earlier Nashorn version, u20 or u22 or
something like that.)

Best regards,
KajMagnus

Reply via email to