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

Dataform encountered an error: "length" is outside of buffer bounds - Node v22.7.0 #1821

Open
benjaminwestern opened this issue Aug 28, 2024 · 2 comments
Labels

Comments

@benjaminwestern
Copy link

Upgraded to NodeJS v22.7.0 and experienced the following error:

Node v22.7.0 (npm 10.8.2) /opt/homebrew/Cellar/node/22.7.0/bin/node
benjaminwestern@macbook-pro ~/c/n/dataform (main)> dataform compile                                                           (base)
Compiling...

(node:59555) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Dataform encountered an error: "length" is outside of buffer bounds
RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: "length" is outside of buffer bounds
    at proto.utf8Write (node:internal/buffer:1066:13)
    at Op.writeStringBuffer [as fn] (/opt/homebrew/lib/node_modules/@dataform/cli/node_modules/protobufjs/src/writer_buffer.js:61:13)
    at BufferWriter.finish (/opt/homebrew/lib/node_modules/@dataform/cli/node_modules/protobufjs/src/writer.js:453:14)
    at encode64 (/opt/homebrew/lib/node_modules/@dataform/cli/worker_bundle.js:33:63)
    at createCoreExecutionRequest (/opt/homebrew/lib/node_modules/@dataform/cli/worker_bundle.js:27400:12)
    at compile (/opt/homebrew/lib/node_modules/@dataform/cli/worker_bundle.js:27378:69)
    at process.<anonymous> (/opt/homebrew/lib/node_modules/@dataform/cli/worker_bundle.js:27383:36)
    at process.emit (node:events:532:35)
    at emit (node:internal/child_process:951:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:91:21)

Using NVM and switching to v22.6.0 resolves the issue:

Now using Node v22.6.0 (npm 10.8.2) ~/.local/share/nvm/v22.6.0/bin/node
benjaminwestern@macbook-pro ~/c/n/dataform (main)> dataform compile                                                           (base)
Compiling...

(node:59605) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Compiled 34 action(s).

Error Occurs with:
Current Node Version on System:

benjaminwestern@macbook-pro ~/c/n/dataform (main)> node -v                                                                    (base)
v22.7.0

Current NPM Version on System:

benjaminwestern@macbook-pro ~/c/n/dataform (main)> npm -v                                                                     (base)
10.8.2

Node installed with Homebrew (before using NVM):

benjaminwestern@macbook-pro ~/c/n/dataform (main)> which node                                                                 (base)
/opt/homebrew/bin/node

Dataform Version:

benjaminwestern@macbook-pro ~/c/n/dataform (main) [1]> dataform --version                                                     (base)
3.0.2

Let me know if you require any more information!

Cheers

@Ekrekr
Copy link
Contributor

Ekrekr commented Aug 28, 2024

Interesting, this looks like a ProtobufJS bug! It's not too surprising, given that we use a slightly older version.

I would recommend using the LTS node version v20.17.0 rather than v22.7.0, and see if it still happens.

@Ekrekr Ekrekr added the bug label Aug 28, 2024
@benjaminwestern
Copy link
Author

Thanks @Ekrekr works great on v20.17.0 and v22.6.0 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants