-
Bug
-
Resolution: Fixed
-
P3
-
8u40, 9
-
b66
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8085667 | emb-9 | Sundararajan Athijegannathan | P3 | Resolved | Fixed | team |
JDK-8087090 | 8u65 | Sundararajan Athijegannathan | P3 | Resolved | Fixed | b01 |
JDK-8080887 | 8u60 | Sundararajan Athijegannathan | P3 | Resolved | Fixed | b18 |
JDK-8138461 | emb-8u65 | Unassigned | P3 | Resolved | Fixed | b01 |
JDK-8086243 | emb-8u60 | Sundararajan Athijegannathan | P3 | Resolved | Fixed | team |
Nashorn can show an assertion failure when converting arrays of floats.
This worked in 1.8.0_31, fails in 1.8.0_40, 1.8.0_45.
function floatTest() {
var jsArray = [35250.123456789];
var jFloat = Java.to(jsArray, "float[]");
print(j2jsarray(jFloat));
}
function j2jsarray(jArray) {
var out = new Array();
// out[0]=1.2; this will avoid the assertion failure.
for (var i = 0; i < jArray.length; i++) {
out[i] = jArray[i];
}
return out;
}
floatTest();
Exception in thread "main" java.lang.AssertionError
at
jdk.nashorn.internal.runtime.arrays.IntArrayData.convert(IntArrayData.java:191
)
at
jdk.nashorn.internal.runtime.arrays.IntArrayData.set(IntArrayData.java:241)
at
jdk.nashorn.internal.runtime.ScriptObject.doesNotHave(ScriptObject.java:3166)
at jdk.nashorn.internal.runtime.ScriptObject.set(ScriptObject.java:3384)
at
jdk.nashorn.internal.scripts.Script$Recompilation$2$167A$\^eval\_.j2jsarray(<e
val>:12)
at
jdk.nashorn.internal.scripts.Script$Recompilation$1$22$\^eval\_.floatTest(<eva
l>:5)
at jdk.nashorn.internal.scripts.Script$\^eval\_.:program(<eval>:17)
at
jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java
:636)
at
jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:229)
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:387)
at
jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.jav
a:437)
at
jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.jav
a:401)
at
jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.jav
a:397)
at
jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:14
7)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
at FloatTestApp.main(FloatTestApp.java:13)
This worked in 1.8.0_31, fails in 1.8.0_40, 1.8.0_45.
function floatTest() {
var jsArray = [35250.123456789];
var jFloat = Java.to(jsArray, "float[]");
print(j2jsarray(jFloat));
}
function j2jsarray(jArray) {
var out = new Array();
// out[0]=1.2; this will avoid the assertion failure.
for (var i = 0; i < jArray.length; i++) {
out[i] = jArray[i];
}
return out;
}
floatTest();
Exception in thread "main" java.lang.AssertionError
at
jdk.nashorn.internal.runtime.arrays.IntArrayData.convert(IntArrayData.java:191
)
at
jdk.nashorn.internal.runtime.arrays.IntArrayData.set(IntArrayData.java:241)
at
jdk.nashorn.internal.runtime.ScriptObject.doesNotHave(ScriptObject.java:3166)
at jdk.nashorn.internal.runtime.ScriptObject.set(ScriptObject.java:3384)
at
jdk.nashorn.internal.scripts.Script$Recompilation$2$167A$\^eval\_.j2jsarray(<e
val>:12)
at
jdk.nashorn.internal.scripts.Script$Recompilation$1$22$\^eval\_.floatTest(<eva
l>:5)
at jdk.nashorn.internal.scripts.Script$\^eval\_.:program(<eval>:17)
at
jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java
:636)
at
jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:229)
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:387)
at
jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.jav
a:437)
at
jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.jav
a:401)
at
jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.jav
a:397)
at
jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:14
7)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249)
at FloatTestApp.main(FloatTestApp.java:13)
- backported by
-
JDK-8080887 jdk.nashorn.internal.runtime.arrays.IntArrayData.convert assertion
-
- Resolved
-
-
JDK-8085667 jdk.nashorn.internal.runtime.arrays.IntArrayData.convert assertion
-
- Resolved
-
-
JDK-8086243 jdk.nashorn.internal.runtime.arrays.IntArrayData.convert assertion
-
- Resolved
-
-
JDK-8087090 jdk.nashorn.internal.runtime.arrays.IntArrayData.convert assertion
-
- Resolved
-
-
JDK-8138461 jdk.nashorn.internal.runtime.arrays.IntArrayData.convert assertion
-
- Resolved
-