New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 3510 link

Starred by 20 users

Issue metadata

Status: WontFix
Owner:
Closed: Dec 2017
Cc:
Components:
HW: All
NextAction: ----
OS: ----
Priority: 2
Type: Bug

Blocked on:
issue 3270

Blocking:
issue 1543



Sign in to add a comment

Harmony proxies are impossible to debug in tcp debugger (v8 3.24.35.22)

Reported by neuroflo...@gmail.com, Aug 13 2014

Issue description

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.

 
Cc: rossberg@chromium.org
Yup. Harmony proxies are not debugger-proof yet.

Comment 2 by ilia...@gmail.com, Aug 29 2014

Any plans/milestones to fix that?
Short answer: no. Proxies are generally lower priority for us than most other ES6 features, of which there are still plenty.
Cc: -rossberg@chromium.org
Labels: Type-Bug Harmony
Owner: rossberg@chromium.org
Blocking: v8:1543
Labels: Area-Language Priority-Medium
Status: Assigned
Cc: pfeldman@chromium.org yangguo@chromium.org
I assume this one is fixed, right?
Blockedon: 3270
Owner: yangguo@chromium.org
Labels: Priority-2

Comment 12 by adamk@chromium.org, Dec 19 2017

Components: -Language Inspector
Labels: HW-All

Comment 13 by kozy@chromium.org, Dec 19 2017

Status: WontFix (was: Assigned)
I can not reproduce it using modern proxy syntax. I believe this one is fixed.

Sign in to add a comment