Comment #1 on issue 2006 by [email protected]: Some JSON debugger lookup requests are taking a very long time
http://code.google.com/p/v8/issues/detail?id=2006

Here's a reduced repro:

File project02.js:
var EventEmitter = require('events').EventEmitter
var exec = require('child_process').exec

exports.packages = function() {
    var ee = new EventEmitter()
    exec('npm ls', function(err, stdout, stderr) {
        console.log("exports packages: err: "
                    + err
                    + ", stdout:"
                    + stdout
                    + ", stderr:"
                    + stderr);
        if (err) {
            ee.emit('error', err);
            return;
        }
        var lines = stdout.split('\n')
        var packages = []
        for (var i = 0; i < lines.length; i++) {
            var packageName = lines[i].match(/^(├──|├─┬|└─┬|└──) (.+)$/)
            if (packageName && packageName[2]) {
                packages.push(packageName[2])
            }
        }
        ee.emit('success', packages)
    })
    return ee;
}
//// END

File main.js:
#!/usr/bin/env node
console.log("About to load reduced project...")
var project = require('./project02');
var props = [];
for (var p in project) {
    props.push(p);
}
console.log("props(project) : " + props.join(" "))
//END

Using a JSON-based Node debugger like Komodo 7.0.2 (7.0.1 shows
similar breakage, but we're updating the debugger for 7.0.2),
set breakpoints in main.js at lines 3 and 4.  The debugger is
responding reasonably quickly at line 3, but times out at
line 4.

Output from some diagnostics I added to the Komodo debugger temporarily:
About to load reduced project...

Debugger diagnostics when stopped at line 3:
// Time to lookup ref 3: 41 msec
// Time to lookup ref 3: 41 msec
// Time to lookup ref 3: 41 msec
// Time to lookup ref 1: 42 msec
Time to build property string for this: 0 msec
Time to prepare context_get repsonse: 0.216 sec
// Time to lookup ref 3: 41 msec
// Time to lookup ref 3: 41 msec
// Time to lookup ref 3: 41 msec
// Time to lookup ref 1: 43 msec
Time to build property string for this: 0 msec
Time to prepare context_get response: 0.21 sec


Debugger diagnostics when stopped at line 4:
// Time to lookup ref 3: 41 msec
// Time to lookup ref 3: 41 msec
// Time to lookup ref 15: 30492 msec
  {"name":"project","propertyType":1,"ref":15}
Time to build property string for project: 0 msec
// Time to lookup ref 1: 67 msec
Time to build property string for this: 0 msec
Time to prepare context_get response: 30.686 sec

webstorm goes haywire on the original project as well

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to