Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node 18.19 breaks release-mainnet1B branch #8599

Closed
mhofman opened this issue Dec 4, 2023 · 2 comments · Fixed by #8600
Closed

Node 18.19 breaks release-mainnet1B branch #8599

mhofman opened this issue Dec 4, 2023 · 2 comments · Fixed by #8600
Assignees
Labels
bug Something isn't working

Comments

@mhofman
Copy link
Member

mhofman commented Dec 4, 2023

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

@mhofman mhofman added the bug Something isn't working label Dec 4, 2023
@mhofman mhofman self-assigned this Dec 4, 2023
@mhofman mhofman linked a pull request Dec 4, 2023 that will close this issue
@mhofman mhofman closed this as completed Dec 4, 2023
@dckc
Copy link
Member

dckc commented Dec 14, 2023

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)

@dckc
Copy link
Member

dckc commented Dec 14, 2023

workarounds

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants