-
-
Notifications
You must be signed in to change notification settings - Fork 33k
Closed
Labels
confirmed-bugIssues with confirmed bugs.Issues with confirmed bugs.trace_eventsIssues and PRs related to V8, Node.js core, and userspace code trace events.Issues and PRs related to V8, Node.js core, and userspace code trace events.
Description
Introduced in version 10.2.0 (found in versions 10.2.0..10.7.0)
Tiny snippet:
'use strict'
const { spawn } = require('child_process')
// Spawning a child with trace events enabled
// Segfaults when:
// - Destination file is missing OR
// - On any error thrown inside the file, like `throw new Error('foo')` or `require('module-not-found')`
const proc = spawn('node', ['non-existent.js'], {
env: Object.assign({}, process.env, {
NODE_OPTIONS: '--trace-events-enabled'
})
})
proc.once('exit', function (code, signal) {
console.log({ code, signal })
})
Execution:
km-mac:n-tmp km$ nvm use 10.7
Now using node v10.7.0 (npm v6.1.0)
km-mac:n-tmp km$ node segfault-issue.js
{ code: null, signal: 'SIGSEGV' }
# BROKEN
km-mac:n-tmp km$ nvm use 10.2
Now using node v10.2.0 (npm v5.6.0)
km-mac:n-tmp km$ node segfault-issue.js
{ code: null, signal: 'SIGSEGV' }
# BROKEN
km-mac:n-tmp km$ nvm use 10.1
Now using node v10.1.0 (npm v5.6.0)
km-mac:n-tmp km$ node segfault-issue.js
{ code: 1, signal: null }
# OK
km-mac:n-tmp km$ nvm use 10.2
Now using node v10.2.0 (npm v5.6.0)
km-mac:n-tmp km$ echo "throw new Error('foo')" > non-existent.js
km-mac:n-tmp km$ node segfault-issue.js
{ code: null, signal: 'SIGSEGV' }
# On error throw
km-mac:n-tmp km$ echo "require('foo')" > non-existent.js
km-mac:n-tmp km$ node segfault-issue.js
{ code: null, signal: 'SIGSEGV' }
# On ENOENT require
km-mac:n-tmp km$ echo "require('http')" > non-existent.js
km-mac:n-tmp km$ node segfault-issue.js
{ code: 0, signal: null }
# When contents are valid
km-mac:n-tmp km$ ls
node_trace.1.log non-existent.js segfault-issue.js
# Trace log was produced during one of these executions
Trace log file:
node_trace.1.log
OSX El Capitan 10.11.6
km-mac:n-tmp km$ uname -a
Darwin km-mac.local 15.6.0 Darwin Kernel Version 15.6.0: Thu Jun 21 20:07:40 PDT 2018; root:xnu-3248.73.11~1/RELEASE_X86_64 x86_64
Metadata
Metadata
Assignees
Labels
confirmed-bugIssues with confirmed bugs.Issues with confirmed bugs.trace_eventsIssues and PRs related to V8, Node.js core, and userspace code trace events.Issues and PRs related to V8, Node.js core, and userspace code trace events.