Subject: Re: [bug#29449] [PATCH] gnu: node: Update to 8.9.1.

From: Jelle Licht <[email-masked]>
Date: Sun, 26 Nov 2017 22:55:26 +0100

Ludovic Courtès <[email-masked]> writes:

> Hello Mike,
>
> Mike Gerwitz <[email-masked]> skribis:
>
>> Let me know if there is a better way to accomplish removing the
>> `doc-only' invocation as part of the `check' target.  It invokes npm and
>> attempts to download `js-yaml', so I figured we may as well just skip it
>> altogether since it isn't otherwise used.
>
> What you did LGTM.
>
>> From 918303981e0dd3212f1e0c1f1f87fc8ca608cc5e Mon Sep 17 00:00:00 2001
>> From: Mike Gerwitz <[email-masked]>
>> Date: Sat, 25 Nov 2017 20:34:12 -0500
>> Subject: [PATCH] gnu: node: Update to 8.9.1.
>>
>> * gnu/packages/node.scm (node): Update to 8.9.1.
>> [arguments]: Skip 'doc-only' target in 'check', which attempts to use
>> npm to retrieve 'js-yaml' package.  Remove test/doctool/test-make-doc.js.
>> Do not remove now-missing test case.  Remove new test case that fails in
>> containers due to networking.
>
> The ‘check’ phase fails for me (on x86_64):
>
> --8<---------------cut here---------------start------------->8---
> [----------] 10 tests from InspectorSocketServerTest (88 ms total)
>
> [----------] Global test environment tear-down
> [==========] 62 tests from 7 test cases ran. (3863 ms total)
> [  PASSED  ] 62 tests.
> /gnu/store/zlbbayv8rv6z7gnhz435gjq8pzjm06v6-python-2.7.13/bin/python tools/test.py --mode=release -J \
>         async-hooks \
>         default \
>         addons addons-napi \
>         doctool \
>         known_issues
> === release test-http2-server-rst-stream ===
> Path: parallel/test-http2-server-rst-stream
> (node:12213) ExperimentalWarning: The http2 module is an experimental API.
> assert.js:42
>   throw new errors.AssertionError({
>   ^
>
> AssertionError [ERR_ASSERTION]: rstWithCancel is not match rstCode
>     at ClientHttp2Stream.req.on.common.mustCall (/tmp/guix-build-node-8.9.1.drv-0/node-v8.9.1/test/parallel/test-http2-server-rst-stream.js:55:14)
>     at ClientHttp2Stream.<anonymous> (/tmp/guix-build-node-8.9.1.drv-0/node-v8.9.1/test/common/index.js:533:15)
>     at emitOne (events.js:121:20)
>     at ClientHttp2Stream.emit (events.js:211:7)
>     at emit (internal/http2/core.js:140:8)
>     at _combinedTickCallback (internal/process/next_tick.js:141:11)
>     at process._tickCallback (internal/process/next_tick.js:180:9)
> Command: out/Release/node /tmp/guix-build-node-8.9.1.drv-0/node-v8.9.1/test/parallel/test-http2-server-rst-stream.js
> [10:05|% 100|+ 2010|-   1]: Done
> make: *** [Makefile:218: test] Error 1
> phase `check' failed after 667.7 seconds
> --8<---------------cut here---------------end--------------->8---
>
>
> Any ideas?  Could it be a non-deterministic issue?
>
> Thanks,
> Ludo’.

I get a similar issue to Ludo:

--8<---------------cut here---------------start------------->8---
Path: parallel/test-http2-server-rst-stream
(node:13036) ExperimentalWarning: The http2 module is an experimental API.
assert.js:42
  throw new errors.AssertionError({
  ^

AssertionError [ERR_ASSERTION]: rstWithProtocolError is not match rstCode
    at ClientHttp2Stream.req.on.common.mustCall (/tmp/guix-build-node-8.9.1.drv-0/node-v8.9.1/test/parallel/test-http2-server-rst-stream.js:55:14)
    at ClientHttp2Stream.<anonymous> (/tmp/guix-build-node-8.9.1.drv-0/node-v8.9.1/test/common/index.js:533:15)
    at emitOne (events.js:121:20)
    at ClientHttp2Stream.emit (events.js:211:7)
    at emit (internal/http2/core.js:140:8)
    at _combinedTickCallback (internal/process/next_tick.js:141:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
Command: out/Release/node /tmp/guix-build-node-8.9.1.drv-0/node-v8.9.1/test/parallel/test-http2-server-rst-stream.js
--8<---------------cut here---------------end--------------->8---

I also found a GitHub issue[0], stating that several other people have
similar problems with this specific test. It also seems that commit
a41cc020fd in the node git repo addresses this flaky test. We could
either backport the fix until it is included in a node release proper,
or disable the test for now.

- Jelle

[0]: https://github.com/nodejs/node/issues/16688