Skip to content

ws fails on Node.js 27 #1190

Closed
Closed

Description

@MikeMcC399

This is advance notice that one CI test in ws may fail when Node.js 27 Alpha is released.
Now confirmed also in Node.js 27 Alpha release with ws@8.22.0

Situation

Running citgm ws fails on Node.js 27 nightly (macos, ubuntu & windows)

Item Status
npm package https://www.npmjs.com/package/ws
npm status active
last published 8.22.0 Sep 26, 2026
weekly downloads 224,959,738
repo location https://github.com/websockets/ws
repo last update to default branch Sep 26, 2026
repo status active
repo CI status runs in Node.js 10-26, macos, ubuntu & windows
lookup - skip win32
lookup maintainer 1 einaros (dormant)
lookup maintainer 2 3rd-Eden (dormant)
lookup maintainer 3 lpinca

Repo CI https://github.com/websockets/ws/blob/master/.github/workflows/ci.yml runs in Node.js 10-26, macos, ubuntu & windows.

Steps to reproduce

On Ubuntu 26.04.1 LTS, with n Node.js version manager installed.

n nightly # for example nightly/27.0.0-nightly20261007aa1bf2cc37
npm install citgm@latest -g
git clone https://github.com/websockets/ws
cd ws
npm install
npm test

Logs

  1) WebSocket
       Connection establishing
         fails if the Upgrade header field value cannot be read:
     Uncaught Error: Parse Error: Header overflow
      at Socket.socketOnData (node:_http_client:842:22)
      at Socket.emit (node:events:514:20)
      at addChunk (node:internal/streams/readable:605:12)
      at readableAddChunkPushByteMode (node:internal/streams/readable:556:3)
      at Readable.push (node:internal/streams/readable:436:5)
      at TCP.onStreamRead (node:internal/stream_base_commons:194:23)

Result

Passes in all current release lines & major operating systems:

Node.js npm macos ubuntu windows
22.23.3 10.9.9 PASS PASS PASS
24.21.0 11.19.0 PASS PASS PASS
26.10.0 11.19.1 PASS PASS PASS

Fails in current nightly-v27.0.0-nightly202610086d5e309871

nodejs/node#65010 introduces HPE_HEADER_OVERFLOW. If this commit is released with Node.js 27, then tests can be expected to fail.

References

citgm/lib/lookup.json

Lines 470 to 474 in 4d3d256

"ws": {
"expectFail": "fips",
"maintainers": ["einaros", "3rd-Eden", "lpinca"],
"scripts": ["test -- --timeout 30000"]
},

cc: @lpinca

Activity

  1. MikeMcC399 commented on Oct 8, 2026

    @MikeMcC399
    ContributorAuthor

    Additionally, according to websockets/ws#2330 @einaros & @3rd-Eden are no longer active in this repo. Probably they should be removed as maintainers for ws in lookup.json

  2. lpinca commented on Oct 8, 2026

    @lpinca
    Member

    Yes, this is the same as websockets/ws@2eb3be0 but for nodejs/node@e5778f7. I will fix it. Thanks for the ping.

  3. MikeMcC399 commented on Oct 13, 2026

    @MikeMcC399
    ContributorAuthor

    Closing, as Node.js nightly builds are an unreliable metric. This was advance notice only.

    websockets/ws#2340 has been opened, so it is already tracked in the ws repo.

  4. MikeMcC399 commented on Oct 30, 2026

    @MikeMcC399
    ContributorAuthor

    Fails in v27.0.0-alpha.0.0.0

    $ node -v
    v27.0.0-alpha.0.0.0
    $ citgm ws
    info: starting            | ws                  
    info: lookup              | ws                  
    info: lookup-found        | ws                  
    info: ws lookup-replace   | https://github.com/websockets/ws/archive/297202cdae9b0590629821373b3b679c407f3431.tar.gz
    info: ws npm:             | Downloading project: https://github.com/websockets/ws/archive/297202cdae9b0590629821373b3b679c407f3431.tar.gz
    info: ws npm:             | Project downloaded 297202cdae9b0590629821373b3b679c407f3431.tar.gz
    info: ws npm:             | npm install started 
    info: ws npm:             | npm install successfully completed
    info: ws npm:             | test suite started  
    error: failure             | The canary is dead: 
    error: failing module(s)   |                     
    error: module name:        | ws                  
    error: version:            | 8.22.0              
    error: error:              | The canary is dead: 
    error: error:              | undefined                                                                      
    error:                     | added 297 packages in 10s   
  5. lpinca commented on Oct 30, 2026

    @lpinca
    Member

    I'll try to cut a new ws release today.

  6. changed the title [-]`ws` fails on Node.js 27 nightly[/-] [+]`ws` fails on Node.js 27[/+] on Oct 30, 2026
  7. MikeMcC399 commented on Oct 30, 2026

    @MikeMcC399
    ContributorAuthor

    Re-opening for tracking purposes. Will close again if tests are successful after new release.

  8. lpinca commented on Oct 30, 2026

    @lpinca
    Member

    I'll try to cut a new ws release today.

    Postponed to tomorrow, I'm out of time.

  9. lpinca commented on Oct 31, 2026

    @lpinca
    Member

    ws@8.22.1 has been published to npm.

  10. MikeMcC399 commented on Oct 31, 2026

    @MikeMcC399
    ContributorAuthor

    12. ws@8.22.1 has been published to npm.

    Thanks very much @lpinca !

    I've successfully tested in citgm running under GitHub Actions with the full matrix of:

    • macos / ubuntu / windows
    • Node.js 22, 24, 26 & latest (= Node.js 27 Alpha according to actions/setup-node)
    Run node bin/citgm.js ws
    info: starting            | ws                  
    info: lookup              | ws                  
    info: lookup-found        | ws                  
    info: ws lookup-replace   | https://github.com/websockets/ws/archive/c18a80a10f2769688d90d69c2f96ec7828dfbe62.tar.gz
    info: ws npm:             | Downloading project: https://github.com/websockets/ws/archive/c18a80a10f2769688d90d69c2f96ec7828dfbe62.tar.gz
    info: ws npm:             | Project downloaded c18a80a10f2769688d90d69c2f96ec7828dfbe62.tar.gz
    info: ws npm:             | npm install started 
    info: ws npm:             | npm install successfully completed
    info: ws npm:             | test suite started  
    info: passing module(s)   |                     
    info: module name:        | ws                  
    info: version:            | 8.22.1              
    info: done                | The smoke test has passed.
    info: duration            | test duration: 8409ms

    So I'll close this issue now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions