-
Bug
-
Resolution: Won't Fix
-
P3
-
None
-
7u51
-
x86_64
-
linux_ubuntu
FULL PRODUCT VERSION :
ava version "1.7.0_51"
OpenJDK Runtime Environment (IcedTea 2.4.4) (7u51-2.4.4-0ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Linux li472-198 3.12.6-x86_64-linode36 #2 SMP Mon Jan 13 18:54:10 EST 2014 x86_64 x86_64 x86_64 GNU/Linux
A DESCRIPTION OF THE PROBLEM :
JavaScript javax.script.ScriptEngine doesn't recognize varargs method with OpenJDK , but works fine with Oracle JDK.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
javac Test.java
java Test
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.EvaluatorException: Can't find method Test.query(string,string). (<Unknown source>#1) in <Unknown source> at line number 1
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:224)
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:240)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at Test.main(Test.java:16)
Caused by: sun.org.mozilla.javascript.EvaluatorException: Can't find method Test.query(string,string). (<Unknown source>#1)
at sun.org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:109)
at sun.org.mozilla.javascript.Context.reportRuntimeError(Context.java:945)
at sun.org.mozilla.javascript.Context.reportRuntimeError(Context.java:1001)
at sun.org.mozilla.javascript.Context.reportRuntimeError1(Context.java:964)
at sun.org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:166)
at sun.org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1701)
at sun.org.mozilla.javascript.Interpreter.interpret(Interpreter.java:854)
at sun.org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
at sun.org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:426)
at com.sun.script.javascript.RhinoScriptEngine$1.superDoTopCall(RhinoScriptEngine.java:116)
at com.sun.script.javascript.RhinoScriptEngine$1.doTopCall(RhinoScriptEngine.java:109)
at sun.org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3178)
at sun.org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:175)
at sun.org.mozilla.javascript.Context.evaluateReader(Context.java:1142)
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:214)
... 3 more
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.util.Arrays;
import javax.script.Bindings;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class Test {
public static void main(String[] args) throws Exception {
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine engine = scriptEngineManager.getEngineByName("JavaScript");
Bindings bindings = engine.createBindings();
bindings.put("test", new Test());
engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
engine.eval("test.query('test','test')");
}
public void query(String string, Object... args) {
System.out.println(string + " with " + Arrays.toString(args));
}
}
---------- END SOURCE ----------
ava version "1.7.0_51"
OpenJDK Runtime Environment (IcedTea 2.4.4) (7u51-2.4.4-0ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Linux li472-198 3.12.6-x86_64-linode36 #2 SMP Mon Jan 13 18:54:10 EST 2014 x86_64 x86_64 x86_64 GNU/Linux
A DESCRIPTION OF THE PROBLEM :
JavaScript javax.script.ScriptEngine doesn't recognize varargs method with OpenJDK , but works fine with Oracle JDK.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
javac Test.java
java Test
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.EvaluatorException: Can't find method Test.query(string,string). (<Unknown source>#1) in <Unknown source> at line number 1
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:224)
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:240)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at Test.main(Test.java:16)
Caused by: sun.org.mozilla.javascript.EvaluatorException: Can't find method Test.query(string,string). (<Unknown source>#1)
at sun.org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:109)
at sun.org.mozilla.javascript.Context.reportRuntimeError(Context.java:945)
at sun.org.mozilla.javascript.Context.reportRuntimeError(Context.java:1001)
at sun.org.mozilla.javascript.Context.reportRuntimeError1(Context.java:964)
at sun.org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:166)
at sun.org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1701)
at sun.org.mozilla.javascript.Interpreter.interpret(Interpreter.java:854)
at sun.org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
at sun.org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:426)
at com.sun.script.javascript.RhinoScriptEngine$1.superDoTopCall(RhinoScriptEngine.java:116)
at com.sun.script.javascript.RhinoScriptEngine$1.doTopCall(RhinoScriptEngine.java:109)
at sun.org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3178)
at sun.org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:175)
at sun.org.mozilla.javascript.Context.evaluateReader(Context.java:1142)
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:214)
... 3 more
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.util.Arrays;
import javax.script.Bindings;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class Test {
public static void main(String[] args) throws Exception {
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine engine = scriptEngineManager.getEngineByName("JavaScript");
Bindings bindings = engine.createBindings();
bindings.put("test", new Test());
engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
engine.eval("test.query('test','test')");
}
public void query(String string, Object... args) {
System.out.println(string + " with " + Arrays.toString(args));
}
}
---------- END SOURCE ----------