[Pkg-javascript-devel] Bug#1072762: node-eventsource: FTBFS: failing tests

Santiago Vila sanvila at debian.org
Fri Jun 7 16:23:03 BST 2024


Package: src:node-eventsource
Version: 2.0.2+~1.1.10-1
Severity: serious
Tags: ftbfs

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
  debian/rules binary
dh binary
    dh_update_autotools_config
    dh_autoreconf
    dh_auto_configure --buildsystem=nodejs
Link node_modules/@types/eventsource -> ../../types-eventsource
    dh_auto_build --buildsystem=nodejs
No build command found, searching known files
No build command found, searching known files
    dh_auto_test --buildsystem=nodejs
	ln -s ../debian/tests/test_modules/buffer-from node_modules/buffer-from
	ln -s ../. node_modules/eventsource
	/bin/sh -ex debian/tests/pkg-js/test
+ mocha --exit


   Parser
     undefined parses multibyte characters
     undefined parses empty lines with multibyte characters
     undefined parses one one-line message in one chunk
     undefined ignores byte-order mark
     undefined parses one one-line message in two chunks
     undefined parses two one-line messages in one chunk
     undefined parses one two-line message in one chunk
     undefined parses chopped up unicode data
     undefined parses really chopped up unicode data
     undefined accepts CRLF as separator
     undefined accepts CR as separator
     undefined delivers message with explicit event
     undefined allows removal of event listeners
     undefined ignores comments
     undefined ignores empty comments
     undefined does not ignore multilines strings
     undefined does not ignore multilines strings even in data beginning
     undefined causes entire event to be ignored for empty event field
     undefined parses relatively huge messages efficiently
     undefined parses a relatively huge message across many chunks efficiently (76ms)

   HTTP Request
     1) passes cache-control: no-cache to server
     2) sets request headers
     3) does not set request headers that don't have a value
     undefined follows http 301 redirect
     undefined follows http 301 redirects, drops sensitive headers on origin change
     undefined causes error event when response is 301 with missing location
     undefined follows http 302 redirect
     undefined follows http 302 redirects, drops sensitive headers on origin change
     undefined causes error event when response is 302 with missing location
     undefined follows http 307 redirect
     undefined follows http 307 redirects, drops sensitive headers on origin change
     undefined causes error event when response is 307 with missing location
     undefined causes error event when response status is 401
     undefined causes error event when response status is 403
     undefined checks createConnection option

   Reconnection
     undefined is attempted when server is down
     undefined continuing attempts when server is down
     undefined is attempted when server goes down after connection
     undefined is attempted when the server responds with a 500
     undefined is stopped when server goes down and eventsource is being closed (103ms)
     undefined is not attempted when server responds with non-200 and non-500
(node:2252609) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [Server]. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
     4) sends Last-Event-ID http header when it has previously been passed in an event from the server
(node:2252609) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [Server]. Use emitter.setMaxListeners() to increase limit
     5) sends correct Last-Event-ID http header when an initial Last-Event-ID header was specified in the constructor
(node:2252609) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [Server]. Use emitter.setMaxListeners() to increase limit
(node:2252609) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added to [Server]. Use emitter.setMaxListeners() to increase limit
     6) does not send Last-Event-ID http header when it has not been previously sent by the server
     7) attempts to reconnect are deduplicated on sequential erorrs

   readyState
     undefined has CONNECTING constant
     undefined has OPEN constant
     undefined has CLOSED constant
     undefined has readystate constants on instances
     undefined is CONNECTING before connection has been established
     undefined is CONNECTING when server has closed the connection
     undefined is OPEN when connection has been established
     undefined is CLOSED after connection has been closed

   Methods
     undefined close method exists and can be called to close an eventsource
     undefined close method is a prototype method

   Properties
     undefined url exposes original request url

   Events
     undefined calls onopen when connection is established
     undefined supplies the correct origin
     undefined emits open event when connection is established
     undefined does not double reconnect when connection is closed by server (351ms)
     undefined does not emit error when connection is closed by client
     undefined populates message's lastEventId correctly when the last event has an associated id
     undefined populates message's lastEventId correctly when the last event doesn't have an associated id
     undefined populates messages with enumerable properties so they can be inspected via console.log().
     undefined throws error if the message type is unspecified, '' or null
     undefined delivers the dispatched event without payload
     undefined delivers the dispatched event with payload

   Proxying
     undefined proxies http->http requests


   61 passing (13s)
   7 failing

   1) HTTP Request
        passes cache-control: no-cache to server:
      Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/<<PKGBUILDDIR>>/test/eventsource_test.js)
       at createTimeoutError (/usr/share/nodejs/mocha/lib/errors.js:498:15)
       at Runnable._timeoutError (/usr/share/nodejs/mocha/lib/runnable.js:431:10)
       at Timeout.<anonymous> (/usr/share/nodejs/mocha/lib/runnable.js:246:24)
       at listOnTimeout (node:internal/timers:573:17)
       at process.processTimers (node:internal/timers:514:7)

   2) HTTP Request
        sets request headers:
      Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/<<PKGBUILDDIR>>/test/eventsource_test.js)
       at createTimeoutError (/usr/share/nodejs/mocha/lib/errors.js:498:15)
       at Runnable._timeoutError (/usr/share/nodejs/mocha/lib/runnable.js:431:10)
       at Timeout.<anonymous> (/usr/share/nodejs/mocha/lib/runnable.js:246:24)
       at listOnTimeout (node:internal/timers:573:17)
       at process.processTimers (node:internal/timers:514:7)

   3) HTTP Request
        does not set request headers that don't have a value:
      Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/<<PKGBUILDDIR>>/test/eventsource_test.js)
       at createTimeoutError (/usr/share/nodejs/mocha/lib/errors.js:498:15)
       at Runnable._timeoutError (/usr/share/nodejs/mocha/lib/runnable.js:431:10)
       at Timeout.<anonymous> (/usr/share/nodejs/mocha/lib/runnable.js:246:24)
       at listOnTimeout (node:internal/timers:573:17)
       at process.processTimers (node:internal/timers:514:7)

   4) Reconnection
        sends Last-Event-ID http header when it has previously been passed in an event from the server:
      Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/<<PKGBUILDDIR>>/test/eventsource_test.js)
       at createTimeoutError (/usr/share/nodejs/mocha/lib/errors.js:498:15)
       at Runnable._timeoutError (/usr/share/nodejs/mocha/lib/runnable.js:431:10)
       at Timeout.<anonymous> (/usr/share/nodejs/mocha/lib/runnable.js:246:24)
       at listOnTimeout (node:internal/timers:573:17)
       at process.processTimers (node:internal/timers:514:7)

   5) Reconnection
        sends correct Last-Event-ID http header when an initial Last-Event-ID header was specified in the constructor:
      Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/<<PKGBUILDDIR>>/test/eventsource_test.js)
       at createTimeoutError (/usr/share/nodejs/mocha/lib/errors.js:498:15)
       at Runnable._timeoutError (/usr/share/nodejs/mocha/lib/runnable.js:431:10)
       at Timeout.<anonymous> (/usr/share/nodejs/mocha/lib/runnable.js:246:24)
       at listOnTimeout (node:internal/timers:573:17)
       at process.processTimers (node:internal/timers:514:7)

   6) Reconnection
        does not send Last-Event-ID http header when it has not been previously sent by the server:
      Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/<<PKGBUILDDIR>>/test/eventsource_test.js)
       at createTimeoutError (/usr/share/nodejs/mocha/lib/errors.js:498:15)
       at Runnable._timeoutError (/usr/share/nodejs/mocha/lib/runnable.js:431:10)
       at Timeout.<anonymous> (/usr/share/nodejs/mocha/lib/runnable.js:246:24)
       at listOnTimeout (node:internal/timers:573:17)
       at process.processTimers (node:internal/timers:514:7)

   7) Reconnection
        attempts to reconnect are deduplicated on sequential erorrs:
      Uncaught Error [ERR_HTTP_HEADERS_SENT]: Cannot write headers after they are sent to the client
       at ServerResponse.writeHead (node:_http_server:345:11)
       at /<<PKGBUILDDIR>>/test/eventsource_test.js:119:9
       at Server.<anonymous> (test/eventsource_test.js:1005:11)
       at Server.emit (node:events:531:35)
       at parserOnIncoming (node:_http_server:1140:12)
       at HTTPParser.parserOnHeadersComplete (node:_http_common:119:17)



************ Didn't kill all servers - there is still 7 running.
dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 7
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202406/

About the archive rebuild: The build was made on virtual machines
of type m6a.large and r6a.large from AWS, using sbuild and a
reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Thanks.



More information about the Pkg-javascript-devel mailing list