[Pkg-javascript-devel] Bug#963039: node-iconv: versions of nodejs dependencies not properly documented

Paul Gevers elbrus at debian.org
Thu Jun 18 09:06:50 BST 2020


Source: node-iconv
Version: 1.19.0-2
Severity: serious
Tags: sid bullseye
User: debian-ci at lists.debian.org
Usertags: needs-update
Control: affects -1 src:nodejs src:node-body-parser
Control: affects -1 src:node-client-sessions src:node-express

[X-Debbugs-CC: debian-ci at lists.debian.org,
node-body-parser at packages.debian.org,
node-client-sessions at packages.debian.org, node-express at packages.debian.org]

Dear maintainer(s),

With a recent upload of nodejs the autopkgtest of node-body-parser fails
in testing when that autopkgtest is run with the binary packages of
nodejs from unstable. It passes when run with only packages from
testing. In tabular form:

                       pass            fail
nodejs                 from testing    12.18.0~dfsg-3
node-body-parser       from testing    1.19.0-2
all others             from testing    from testing

I copied some of the output at the bottom of this report. As a nodejs
non-expert, it seems to me that the version of node-iconv in testing is
not compatible with the version of src:nodejs in unstable, but the
package dependencies don't reflect that in any way. Looking at the error
message, it seems to me that nodejs has an internal versioning scheme
that should be exposed in the Debian control file. node-iconv is rebuilt
in unstable and now has a dependency on the new version of libnodejsX,
but an unversioned dependency on nodejs itself.

Ideally, to fix the current situation some binary from src:nodejs, I
think nodejs, needs to add a "Breaks: node-iconv << <first fixed
version>", but unfortunately this shouldn't be done on binNMU versions,
so this breaks can only happen if node-iconv gets a new upload, but it
should be done in that case.

Currently this regression is blocking the migration of nodejs to testing
[1].

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul
PS: there's probably more regressions (but not all) triggered by nodejs
caused by this, I'll add them as affected when I see them.

[1] https://qa.debian.org/excuses.php?package=nodejs

https://ci.debian.net/data/autopkgtest/testing/amd64/n/node-body-parser/5929967/log.gz

Launch debian/tests/pkg-js/test with sh -ex
+ mocha --require test/support/env --reporter spec --check-leaks --bail
test/


  bodyParser()
    1) "before all" hook for "should default to {}"


  0 passing (51ms)
  1 failing

  1) bodyParser()
       "before all" hook for "should default to {}":
     Error: The module
'/usr/lib/x86_64-linux-gnu/nodejs/iconv/build/Release/iconv.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 64. This version of Node.js requires
NODE_MODULE_VERSION 72. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
      at Object.Module._extensions..node
(internal/modules/cjs/loader.js:1188:18)
      at Module.load (internal/modules/cjs/loader.js:986:32)
      at Function.Module._load (internal/modules/cjs/loader.js:879:14)
      at Module.require (internal/modules/cjs/loader.js:1026:19)
      at require (internal/modules/cjs/helpers.js:72:18)
      at Object.<anonymous>
(/usr/lib/x86_64-linux-gnu/nodejs/iconv/lib/iconv.js:30:14)
      at Module._compile (internal/modules/cjs/loader.js:1138:30)
      at Object.Module._extensions..js
(internal/modules/cjs/loader.js:1158:10)
      at Module.load (internal/modules/cjs/loader.js:986:32)
      at Function.Module._load (internal/modules/cjs/loader.js:879:14)
      at Module.require (internal/modules/cjs/loader.js:1026:19)
      at require (internal/modules/cjs/helpers.js:72:18)
      at Object.<anonymous> (/usr/share/nodejs/raw-body/index.js:17:13)
      at Module._compile (internal/modules/cjs/loader.js:1138:30)
      at Object.Module._extensions..js
(internal/modules/cjs/loader.js:1158:10)
      at Module.load (internal/modules/cjs/loader.js:986:32)
      at Function.Module._load (internal/modules/cjs/loader.js:879:14)
      at Module.require (internal/modules/cjs/loader.js:1026:19)
      at require (internal/modules/cjs/helpers.js:72:18)
      at Object.<anonymous>
(/usr/share/nodejs/body-parser/lib/read.js:15:15)
      at Module._compile (internal/modules/cjs/loader.js:1138:30)
      at Object.Module._extensions..js
(internal/modules/cjs/loader.js:1158:10)
      at Module.load (internal/modules/cjs/loader.js:986:32)
      at Function.Module._load (internal/modules/cjs/loader.js:879:14)
      at Module.require (internal/modules/cjs/loader.js:1026:19)
      at require (internal/modules/cjs/helpers.js:72:18)
      at Object.<anonymous>
(/usr/share/nodejs/body-parser/lib/types/urlencoded.js:20:12)
      at Module._compile (internal/modules/cjs/loader.js:1138:30)
      at Object.Module._extensions..js
(internal/modules/cjs/loader.js:1158:10)
      at Module.load (internal/modules/cjs/loader.js:986:32)
      at Function.Module._load (internal/modules/cjs/loader.js:879:14)
      at Module.require (internal/modules/cjs/loader.js:1026:19)
      at require (internal/modules/cjs/helpers.js:72:18)
      at loadParser (/usr/share/nodejs/body-parser/index.js:151:16)
      at Function.get [as urlencoded]
(/usr/share/nodejs/body-parser/index.js:123:12)
      at bodyParser (/usr/share/nodejs/body-parser/index.js:105:29)
      at eval (eval at wrapfunction
(/usr/share/nodejs/depd/index.js:425:22), <anonymous>:3:11)
      at createServer (test/body-parser.js:143:21)
      at Context.<anonymous> (test/body-parser.js:10:19)
      at callFn (/usr/share/nodejs/mocha/lib/runnable.js:395:21)
      at Hook.Runnable.run (/usr/share/nodejs/mocha/lib/runnable.js:382:7)
      at next (/usr/share/nodejs/mocha/lib/runner.js:384:10)
      at Immediate._onImmediate
(/usr/share/nodejs/mocha/lib/runner.js:428:5)
      at processImmediate (internal/timers.js:456:21)



malloc_consolidate(): invalid chunk size
Aborted

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-javascript-devel/attachments/20200618/9a870c64/attachment-0002.sig>


More information about the Pkg-javascript-devel mailing list