[Pkg-javascript-devel] Bug#1072763: node-follow-redirects: FTBFS: autobuilder hangs

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


Package: src:node-follow-redirects
Version: 1.15.6+~1.14.4-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/follow-redirects -> ../../types-follow-redirects
    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 ../. node_modules/follow-redirects
	/bin/sh -ex debian/tests/pkg-js/test
+ mocha


   follow-redirects
     undefined http.get with string and callback - redirect (47ms)
     undefined http.get with URL object and callback - redirect
     undefined http.get with options object and callback - redirect
     undefined http.get with string and callback - no redirect
     undefined http.get with options object and callback - no redirect
     undefined http.get with host option and callback - redirect
     undefined http.get to IPv4 address
     undefined http.get to IPv6 address
     undefined http.get to bracketed IPv4 address
     undefined http.get to bracketed IPv4 address specified as host
     undefined http.get to bracketed IPv4 address specified as hostname
     undefined http.get to bracketed hostname
     undefined http.get redirecting to IPv4 address
     undefined http.get redirecting to IPv6 address
     undefined http.get redirecting to bracketed IPv4 address
     undefined http.get redirecting to bracketed hostname
     undefined http.get with response event
     undefined http.get with relative URL path
     undefined redirect to URL with fragment
     undefined should return with the original status code if the response does not contain a location header
     undefined should emit connection errors on the returned stream
     undefined should emit socket events on the returned stream
     undefined should emit connect events on the returned stream
     undefined emits an error on redirects with an invalid location
     undefined emits an error when the request fails for another reason
     undefined should destroy responses
     undefined should honor query params in redirects
     undefined should allow aborting
     undefined should provide connection
     undefined should provide flushHeaders
     undefined should provide getHeader
     undefined should provide removeHeader
     undefined should provide setHeader
     undefined should provide setNoDelay
     undefined should provide setSocketKeepAlive
     undefined should provide setTimeout
     undefined should provide socket
     undefined should wait for an explicit call to end
     undefined errors on write after end
     undefined should support writing into request stream without redirects
     undefined should support writing into request stream with redirects
     undefined should support piping into request stream without redirects
     undefined should support piping into request stream with redirects
     undefined should support piping into request stream with explicit Content-Length without redirects
     undefined should support piping into request stream with explicit Content-Length with redirects
     undefined keeps the header when redirected from HTTP to HTTPS
     undefined drops the header when redirected from HTTPS to HTTP
Tue, 04 Jun 2024 11:17:38 GMT express deprecated res.redirect(url, status): Use res.redirect(status, url) instead at test/util.js:9:18
     undefined passes the redirect status code to beforeRedirect
     undefined passes the request method to beforeRedirect
     undefined passes the request headers to beforeRedirect
     undefined passes the request URL to beforeRedirect
     undefined keeps the header when redirected from HTTP to HTTPS
     undefined drops the header when redirected from HTTPS to HTTP
     undefined passes the redirect status code to beforeRedirect
     undefined passes the request method to beforeRedirect
     undefined passes the request headers to beforeRedirect
     undefined passes the request URL to beforeRedirect
     undefined keeps the header when redirected from HTTP to HTTPS
     undefined drops the header when redirected from HTTPS to HTTP
     undefined passes the redirect status code to beforeRedirect
     undefined passes the request method to beforeRedirect
     undefined passes the request headers to beforeRedirect
     undefined passes the request URL to beforeRedirect
     setTimeout
       undefined clears timeouts after a successful response
       undefined clears timeouts after an error response
       undefined handles errors occuring before a socket is established
       undefined sets a timeout when the socket already exists
       1) destroys the socket after configured inactivity period
       2) "after each" hook for "destroys the socket after configured inactivity period"


   67 passing (3s)
   2 failing

   1) follow-redirects
        setTimeout
          destroys the socket after configured inactivity period:
      Uncaught Error: should not have timed out
       at RedirectableRequest.<anonymous> (test/test.js:613:19)
       at RedirectableRequest.emit (node:events:519:28)
       at eventHandlers.<computed> (index.js:38:24)
       at ClientRequest.emit (node:events:519:28)
       at Socket.emitRequestTimeout (node:_http_client:845:9)
       at Object.onceWrapper (node:events:633:28)
       at Socket.emit (node:events:531:35)
       at Socket._onTimeout (node:net:591:8)
       at listOnTimeout (node:internal/timers:573:17)
       at process.processTimers (node:internal/timers:514:7)

   2) follow-redirects
        "after each" hook for "destroys the socket after configured inactivity period":
      Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/<<PKGBUILDDIR>>/test/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)



E: Build killed with signal TERM after 60 minutes of inactivity
--------------------------------------------------------------------------------

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/

Note: In this case the provided full build log is for trixie, but that's not relevant,
because the autobuilder also hangs here:

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/node-follow-redirects.html

as the clock icon indicates.


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