what is the type of args[0]? Can you print args[0].getClass() to check it?
Thanks,
-Sundar
On 24/08/17, 9:14 AM, Jesse Schulman wrote:
I did try running with -Dnashorn.apply2call=false when I saw the email
for that fix but it did not resolve the issue.
There is no exception thrown, but our JSObject.call method basically
is no-op as a result of not getting a ScriptObjectMirror, it
effectively looks like this:
@Override
public Object call(Object thiz, Object ... args) {
if (args.length < 2 || !(args[0] instanceof
ScriptObjectMirror) || !((ScriptObjectMirror) args[0]).isFunction() ||
!(args[1] instanceof Integer))
return gScriptEnvironment.getUndefined();
// safely cast and call ScriptObjectMirror...
}
I am continuing to work on reproducing it outside our application in a
simple way. In the mean time if there's any other information I can
share besides a reproducing example, or suggestions on workarounds to
try let me know.
Thanks!
Jesse
On Wed, Aug 23, 2017 at 7:10 PM Sundararajan Athijegannathan
<sundararajan.athijegannat...@oracle.com
<mailto:sundararajan.athijegannat...@oracle.com>> wrote:
Hi,
Sorry for the delayed response. We need more info to debug this - in
particular, what is the exception (if any) thrown etc.
I wonder if this is related to this recent apply-related fix ->
http://mail.openjdk.java.net/pipermail/nashorn-dev/2017-August/006998.html
-Sundar
On 22/08/17, 3:43 AM, Jesse Schulman wrote:
> This does not happen on the first run of the code but is
consistently
> happening on the 17th run after a restart and from that point
forward is
> broken until we restart.
>
> Attached is a broken and working call stack.
>
> I have tried to replicate what we are doing in a basic java
reproducer but
> have not been able to do so, given that I can consistently
reproduce this
> locally I am happy to take any suggested steps to gather more
information
> or to workaround/resolve the issue.
>
> Environment:
> Java version 1.8.144
> Engine created with "--no-java", "-strict",
"--no-syntax-extensions",
> "--language=es6", "--optimistic-types=true" (also tried with
> optimistic-types=false)
> All evaluation done on the same engine via engine.eval(String,
Bindings)
> using a Bindings that was returned from engine.createBindings,
each of the
> "runs" described above took place in a different Bindings instance
>
> Thanks!
> Jesse