Status: New
Owner: ----

New issue 3510 by [email protected]: Harmony proxies are impossible to debug in tcp debugger (v8 3.24.35.22)
http://code.google.com/p/v8/issues/detail?id=3510

Hello,

I've already reported this issue for node.js ( https://github.com/joyent/node/issues/8124#event-152101531 ), but it seems it originated from V8 itself.

The situation is that if I have a breakpoint in a tcp based debugging session where the scope is behind a proxy call, then debuger hangs up, node console say "illegal access buff", and if I continue debugging it crashes with error: "Internal error: illegal access".

It happens in any debugger I tried: node-inspector, WebStorm, Nodeclipse.

I have a repro script:

var proxy = {
    create: function (target)
    {
    return Proxy.create({
        has: function(name)
        {
            return target[name] !== undefined;
        },

        get: function (proxy, name)
        {
            return target[name];
        },

        set: function (proxy, name, value)
        {
            target[name] = value;
        },

        iterate: function* ()
        {
            for (var p in target) yield p;
        },

        enumerate: function ()
        {
            return Object.keys(target);
        }
    });
    }
}

function Foo()
{
    this.bar = "Bimbi";
}

Foo.prototype.boo = function()
{
    return this.bar; // Put a breakpoint here!
}

var fp = proxy.create(new Foo());
console.log(fp.boo());

Repro steps by using node-inspector:

launch node-inspector
mocha --debug-brk --harmony repro.js
switch to node-inspector, refresh page, put a breakpoint to repro.js line 40
launch debugging
nothing happens, debugging hangs up (except there should be an error message in the node.js console that says: illegal access buff)
pause debugging
red Internal error: Illegal access will appear in the node-inspector console

There is an other version of this problem. It seems when the breakpoint is after a certain point in the scope far behind a proxy call, the debugging session won't hang up but the call stack will be broken, it will contains many "Internal error: Illegal access" entries instead of valid ones.

node 0.11.13 w/ v8 3.24.35.22

The above issue is not present in Chrome 36.0.1985.143 m with harmony flags, I can debug my proxies by using the bundled debugger.


--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to