uNetworking/uWebSockets.js

ARM64 binary wrong for Node20

jbenguira opened this issue · 6 comments

I noticed recently that on ARM64 / Node 20 I'm getting this error:
Error: uws_linux_arm64_115.node: wrong ELF class: ELFCLASS32

I also tried with Node 21 and there the binary is accepted but I'm getting this error:
Error: idleTimeout must not be greater than 960 seconds!
terminate called without an active exception
Aborted (core dumped)

No issues with Node 18, so my guess is the binary for Node 20 (uws_linux_arm64_115.node) is containing a wrong version (compiled for 32 bits CPU?) and version for node 21 have another issue

Can someone confirm that Nodejs 20 + arm64 on Linux fails to load?

e3dio commented

Arm64 Node v20 works fine, Node v21 works too, with uWS.js binaries from many months ago and latest

Hum ... Then please let me redo my tests and update here with details and steps

Make sure to use a released tag

Make sure to use a released tag
Thanks, tested with this one and it worked! (v20.34.0)

about my second issue (idleTimeout must not be greater than 960 seconds!) it was just my code setting it by default to 1 day, it was working with older versions of uWS but seems to be now capped to 960 seconds. That's ok with me.

Thanks for your help :)

If you don't want idleTimeout the disabled is 0, 16 minutes is maximum but default is probably 120 seconds