Skip to content

possible libuv issue with macos 10.15: empty udp message not registering#30030

@daviehh

Description

@daviehh
  • Version:
    v12.12.0
  • Platform:
    macos catalina/10.15 (19A602)
  • Subsystem:
    n/a

When sending an empty udp message, the message will not be received until another non-empty udp message is received.

Example/Reproduce: (may only affect macos 10.15?)

file server.js

var PORT = 33333; var HOST = '127.0.0.1'; var dgram = require('dgram'); var server = dgram.createSocket('udp4'); server.on('listening', function(){var address = server.address(); console.log('UDP Server listening on ' + address.address + ':' + address.port)}); server.on('message', function(message, remote){console.log(remote.address + ':' + remote.port +' - ' + message)}); server.bind(PORT, HOST); 

file client_test.js

var PORT = 33333; var HOST = '127.0.0.1'; var dgram = require('dgram'); var client = dgram.createSocket('udp4'); var message = Buffer.from('abc'); client.send(message, 0, message.length, PORT, HOST, function(err, bytes){if (err) throw err; console.log('UDP message sent to ' + HOST +':'+ PORT); client.close()}); 

file client_0.js

var PORT = 33333; var HOST = '127.0.0.1'; var dgram = require('dgram'); var client = dgram.createSocket('udp4'); var message = Buffer.from(''); client.send(message, 0, message.length, PORT, HOST, function(err, bytes){if (err) throw err; console.log('UDP message sent to ' + HOST +':'+ PORT); client.close()}); 

run the server code, then run the client_0.js: no response in server.
followed by running client_test.js: server got empty and the "abc" message.

Metadata

Metadata

Assignees

No one assigned

    Labels

    confirmed-bugIssues with confirmed bugs.dgramIssues and PRs related to the dgram subsystem / UDP.macosIssues and PRs related to the macOS platform / OSX.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions