Hi,

Thanks for the standalone test case! I reproduced the issue and filed a bug -> https://bugs.openjdk.java.net/browse/JDK-8186807

Thanks,
-Sundar

On 24/08/17, 11:11 PM, Jesse Schulman wrote:
The type is ScriptFunction, I've created a simple reproducer that I've pushed to https://github.com/jesseschulman/JSObject_gets_ScriptFunction <https://github.com/jesseschulman/JSObject_gets_ScriptFunction.git>

Thanks!
Jesse

On Thu, Aug 24, 2017 at 1:05 AM Sundararajan Athijegannathan <sundararajan.athijegannat...@oracle.com <mailto:sundararajan.athijegannat...@oracle.com>> wrote:

    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

Reply via email to