Skip to content

Node 18.19 breaks release-mainnet1B branch #8599

Closed

Description

@mhofman

Describe the bug

A patch to make the Symbol.dispose and Symbol.asyncDispose in Node spec compliant, aka non-configurable got back-ported to the latest Node 18 LTS: v18.19.0, which was just released Nov 29th. Unfortunately this triggers a bug in the SES shim used in the release branch which couldn't remove those new symbols.

Unfortunately the version of SES used in agoric-sdk affects both the kernel and tooling running under node, as well as the lockdown code ran in xsnap. Changing the latter results in a different bundle, which would be used for new vats started on chain.

The least intrusive approach is likely to apply endojs/endo#1579 as a patch-package in agoric-sdk since the semver allows newer patch versions of ses with the fix to be installed for NPM based installs.

To Reproduce

Checkout release-mainnet1B and run tests using latest Node 18 LTS

Activity

  1. self-assigned this
    on Dec 4, 2023
  2. linked a pull request that will close this issuefix: handle Node 18 breaking change #8600on Dec 4, 2023
  3. dckc commented on Dec 14, 2023

    @dckc
    Member

    for folks searching for error messages... one person reported these symptoms:

    Removing intrinsics.Symbol.dispose
    failed to delete intrinsics.Symbol.dispose (TypeError#1)
    TypeError#1: Cannot delete property 'dispose' of function Symbol() { [native code] }
    
    (TypeError#1)
    
  4. dckc commented on Dec 14, 2023

    @dckc
    Member

    workarounds

    I don't see these symptoms when I use node v18.17.1
    @turadg reports that v18.18.0 also avoids these symptoms.

  5. added theissue type on Mar 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions