Node.js reports wrong ABI version number
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
nodejs (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Ubuntu version: 24.04.1 aarch64
Package version: 18.19.1+
Expected to happen: Node.js ABI version is the same as other copies of the same version of Node, or an Ubuntu-specific ABI version if Ubuntu has made an ABI-incompatible change.
What actually happened: Ubuntu's copy of Node.js 18 reports the ABI version assigned to Electron 21.
Ubuntu 24.04 includes Node.js 18.19.1. However, the ABI version number reported does not match:
$ node
Welcome to Node.js v18.19.1.
Type ".help" for more information.
> process.
'109'
According to the registry [1], Node 18.x should have ABI version 108, and version 109 is assigned to Electron 21. In the official binaries for 18.x, process.
I did find this Debian bug [2] where it seems that they bumped the ABI version due to a t64-related change, but I don't understand exactly what the change is. Also their change doesn't seem to have made it into a release of Debian (Bookworm ships Node 18.19.0 with the correct ABI version 108, while testing has upgraded to 20.x). If that's the change that is affecting Ubuntu too then "Node 18 with some t64 change" should be assigned a new ABI version number instead of using the one for Electron 21.
[1] https:/
[2] https:/
Le mar. 29 oct. 2024 à 03:35, Ben Grant <email address hidden> a
écrit :
> Public bug reported: dfsg-6ubuntu5 versions. modules versions. modules == '108'.
>
> Ubuntu version: 24.04.1 aarch64
> Package version: 18.19.1+
>
> Expected to happen: Node.js ABI version is the same as other copies of
> the same version of Node, or an Ubuntu-specific ABI version if Ubuntu
> has made an ABI-incompatible change.
>
> What actually happened: Ubuntu's copy of Node.js 18 reports the ABI
> version assigned to Electron 21.
>
> Ubuntu 24.04 includes Node.js 18.19.1. However, the ABI version number
> reported does not match:
>
> $ node
> Welcome to Node.js v18.19.1.
> Type ".help" for more information.
> > process.
> '109'
>
> According to the registry [1], Node 18.x should have ABI version 108,
> and version 109 is assigned to Electron 21. In the official binaries for
> 18.x, process.
>
> I did find this Debian bug [2] where it seems that they bumped the ABI
> version due to a t64-related change, but I don't understand exactly what
> the change is. Also their change doesn't seem to have made it into a
> release of Debian (Bookworm ships Node 18.19.0 with the correct ABI
> version 108, while testing has upgraded to 20.x). If that's the change
> that is affecting Ubuntu too then "Node 18 with some t64 change" should
> be assigned a new ABI version number instead of using the one for
> Electron 21.
That was my mistake. MODULE_ VERSION /github. com/nodejs/ node/blob/ HEAD/doc/ abi_version_ registry. json
Indeed, now that Ubuntu has it, it should request
a NODE_EMBEDDER_
at https:/
See src/node_version.h