node icon indicating copy to clipboard operation
node copied to clipboard

SWC + next.js + Node.js v22.7

Open RaenonX opened this issue 1 year ago • 8 comments

Version

v22.7

Platform

Microsoft Windows NT 10.0.22631.0 x64

Subsystem

No response

What steps will reproduce the bug?

  1. Create a next.js app
  2. Run next dev
  3. (Failed)

How often does it reproduce? Is there a required condition?

Deterministic (everytime).

What is the expected behavior? Why is that the expected behavior?

No error.

What do you see instead?

For others: https://github.com/vercel/next.js/issues/69150 (the actual repo that I realized it's 22.7 release breaking it).

For myself, my CI starts deterministically failing on Aug. 21 (22.7 release date), and the error (One of the failed CI) is always the same of saying "invalid unicode code point."

Additional information

No response

RaenonX avatar Aug 24 '24 03:08 RaenonX

Hi! Could you provide a minimal reproduction?

avivkeller avatar Aug 24 '24 12:08 avivkeller

Hi! Could you provide a minimal reproduction?

There's also a few replicable examples here: https://github.com/vercel/next.js/issues/69263

ViggoV avatar Aug 26 '24 08:08 ViggoV

v22.8.0 is releasing soon with patches for a few buffer issues, so if this is related, that may fix it.

avivkeller avatar Aug 26 '24 10:08 avivkeller

This completely breaks NextJS for me. I think you should check if 22.8 fixes it, because it is a fairly big problem.

bernaferrari avatar Aug 26 '24 23:08 bernaferrari

This completely breaks NextJS for me. I think you should check if 22.8 fixes it, because it is a fairly big problem.

If you'd like to test the buffer patches, their PRs are #54526, #54524, and #54565

avivkeller avatar Aug 26 '24 23:08 avivkeller

FWIW, Regarding whether this is a buffer issue or not, I've confirmed it is. looking at the offending code, It's calling:

bindings.minify(toBuffer(src), toBuffer(options ?? {}));

Reference A: https://www.npmjs.com/package/next?activeTab=code (Line 814) Reference B: https://github.com/swc-project/swc/blob/d068a63ba218a0884de5cbd10764f3f6f652bc5c/packages/core/src/index.ts#L66

avivkeller avatar Aug 26 '24 23:08 avivkeller

I think this is a duplicate of #54521, as the buffer isn't returning what it is expected to, which is what that issue is discussing. WDYT @ronag

avivkeller avatar Aug 26 '24 23:08 avivkeller

Sorry was enjoying my weekend, but good to know that it's possibly fix at v22.8. I'll wait and see if v22.8 fixes this! (I assume no repro is needed?)

RaenonX avatar Aug 27 '24 05:08 RaenonX

Sorry was enjoying my weekend, but good to know that it's possibly fix at v22.8. I'll wait and see if v22.8 fixes this! (I assume no repro is needed?)

I just experienced this on v22.8.0 (Next v14.2.11). Downgrading to v20.17.0 solved the issue for me.

lightify97 avatar Sep 15 '24 10:09 lightify97

Sorry was enjoying my weekend, but good to know that it's possibly fix at v22.8. I'll wait and see if v22.8 fixes this! (I assume no repro is needed?)

I just experienced this on v22.8.0 (Next v14.2.11). Downgrading to v20.17.0 solved the issue for me.

22.8 should work (at least for me), the CI I am running is using 22.8 and it never failed because of this error, maybe check node version using command first?

https://dev.azure.com/RaenonX/RaenonX/_build/results?buildId=9733&view=logs&j=dd80c5cf-c1e0-5ab3-fd96-ef8a744d5654&t=3e86df9c-ea95-5693-1b8c-fd416a80634d

RaenonX avatar Sep 15 '24 11:09 RaenonX