Skip to content

Assertion error thrown in internal/child_process.js on Linux #4205

Closed
@Trott

Description

@Trott

On Linux using current master, this code:

'use strict';
const common = require('../common');
const net = require('net');
const cluster = require('cluster');
cluster.schedulingPolicy = cluster.SCHED_NONE;

if (cluster.isMaster) {
  var worker1, worker2;

  worker1 = cluster.fork();
  worker1.on('message', common.mustCall(function() {
    worker2 = cluster.fork();
    worker1.disconnect();
    worker2.disconnect();
  }));

  return;
}

var server = net.createServer();

server.listen(common.PORT, function() {
  process.send('listening');
});

...results in this output...

assert.js:90
  throw new assert.AssertionError({
  ^
AssertionError: null == true
    at process.target._send (internal/child_process.js:520:5)
    at process.<anonymous> (internal/child_process.js:486:12)
    at emitTwo (events.js:94:20)
    at process.emit (events.js:174:7)
    at handleMessage (internal/child_process.js:687:10)
    at Pipe.channel.onread (internal/child_process.js:439:11)

(The script still exits with a successful return code so the script above is not sufficient for testing on the Node CI infrastructure.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    child_processIssues and PRs related to the child_process subsystem.clusterIssues and PRs related to the cluster subsystem.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions