Repository navigation
util.inspect({level: "info"}) exits the debug session #4440
Description
Activity
- addedutilIssues and PRs related to the built-in util module.Issues and PRs related to the built-in util module.
on Dec 27, 2015 Can you clarify what you're doing step-by-step? You mention running that script with
node debugbut where does theutil.inspect({level: 'info'})come into play? I ran the script as you say, it breaks on the first statement and continuing execution at thedebug>prompt results in "Finished" logged to stdout as expected.Sorry, that was an copy and paste fault by me. I updated my initial comment where the right
bug.jsscript is described.But the before mentioned script
bug2.jsvar vm = require('vm'); vm.runInDebugContext('Debug'); console.log("Finished");
exits after
vm.runInDebugContext('Debug');when I runnode debug bug2.js.I'm not able to reproduce that on master:
$ cat bug.js var vm = require('vm'); vm.runInDebugContext('Debug'); console.log("Finished"); $ ./node debug bug.js < Debugger listening on port 5858 connecting to 127.0.0.1:5858 ... ok break in bug.js:1 > 1 var vm = require('vm'); 2 vm.runInDebugContext('Debug'); 3 console.log("Finished"); debug> c < Finished debug> .exitSimilarly with your updated code example, I cannot reproduce the problem there either on master:
$ cat bug2.js var util = require('util'); util.inspect({level: "info "}); console.log("Test"); $ ./node debug bug2 < Debugger listening on port 5858 connecting to 127.0.0.1:5858 ... ok break in bug2.js:1 > 1 var util = require('util'); 2 util.inspect({level: "info "}); 3 console.log("Test"); debug> c < Test debug> .exitPerhaps there's something that needs to be backported to 5.x yet?
I debugged the script
var vm = require('vm'); vm.runInDebugContext('Debug'); console.log("Finished");
in a new workspace in cloud9 (https://c9.io/) which has node 4.1.1 and Ubuntu 14.04 LTS, on my private Laptop which has node 5.3.0 and Ubuntu 15.10 and on a new VM with a fresh Ubuntu 14.04 LTS and node 4.2.4. In every environment the debugging exits after
vm.runInDebugContext('Debug');. Usually I code in WebStorm which exited with exit code 139 when debugging it. When debugging it via node-inspector as well with cloud9 the error message was a segmentation fault.
Does it has something to do with Ubuntu as the operating system? Which os did you use? Does the master branch differs from the 5.3.0 tag?Yes, master represents the next major version. Necessary commits are backported to versioned branches (e.g. v4.x, v5.x, etc.).
It shouldn't be OS-related. I don't know offhand what needs to be backported, there's a fair amount of different stuff in master (including a new "major" v8 version).
On OSX, it's broken for me in Node 5.3.0 but works fine with current master.
5.3.0:
$ cat test.js var vm = require('vm'); vm.runInDebugContext('Debug'); console.log("Finished"); $ node debug test.js < Debugger listening on port 5858 connecting to 127.0.0.1:5858 ... ok break in test.js:1 > 1 var vm = require('vm'); 2 vm.runInDebugContext('Debug'); 3 console.log("Finished"); debug> c program terminated debug> .exitmaster:
$ ~/io.js/node debug test.js < Debugger listening on port 5858 connecting to 127.0.0.1:5858 ... ok break in test.js:1 > 1 var vm = require('vm'); 2 vm.runInDebugContext('Debug'); 3 console.log("Finished"); debug> c < Finished debug> .exitMaybe it was fixed by 25776f3?
25776f3 is almost certainly the fix. (EDIT: And hasn't been released yet.)
In which release will it be inculded? 5.4.0? When will this release be published?
@LucasMoody It should be in the next release which will either be 5.3.1 or 5.4.0 depending on what else is in the release.
For the stable release line (currently 5.x), the goal is to have a release every 1-2 weeks. The release team seems to be meeting that goal. There's probably not much activity this week, though, as it's a major holiday in much of the world. So add one more week maybe.
So, the unofficial upshot from my non-release-team-member analysis would be: A release with the fix should be out by January 15, and probably sooner.
50 remaining items
The fix is now in master, you should expect this to see it in a release in the next 2 - 3 weeks on v4 and v5.
Thanks for your efforts @thealphanerd it is greatly appreciated.
- added 2 commits that reference this issue
on Feb 8, 2016 The fix is now released in v5.6.0. Expect LTS next week
Still broken in 4.3.0
with the following code in WebStorm 11.03 debugvar jsonData = jsonfile.readFileSync(fromFile); log.trace(jsonData);The trace (or info levels etc) is dumped, but the debug session is exited afterwards.
The comment just above yours mentioned already that it will be fixed at a later time for LTS.
Yes, v4.3.0 was a security fix that only included the fixes for the
security issues. It bumped all other fixes to the next LTS release which
we'll be working on soon.
On Feb 11, 2016 1:35 AM, "atom0s" notifications@github.com wrote:The comment just above yours mentioned already that it will be fixed at a
later time for LTS.—
Reply to this email directly or view it on GitHub
#4440 (comment).This isn't TOP priority? #4382
As mentioned above 4.3.1 has been released with the fix for this bug!
- added a commit that references this issue
on Apr 2, 2016
When debugging in node.js 5.3.0 the script
bug.jswith
node debug bug.js, the debugging session exits. I tried the same in node.js 4.2.4 and it doesn't. When debugging the difference inlib/util.js, line 324 in 5.3.0 looks like this:and line 319 in 4.2.4 looks like:
As value is not an instance of Promise,
inspectPromise(value)is called in 5.3.0. TheninspectPromisecallsensureDebugIsInitialized()which on the other hand callsrequire('vm').runInDebugContext('Debug'). This causes the debugging session to exit. The issue was tested in Ubuntu 14.04 LTS.