Describe the bug
The nodejs24 package shipped in Azure Linux 3.0 (v24.14.1) segfaults deterministically when running TypeSpec's compiler. The same version of TypeSpec running on official upstream Node 24.14.1 (node:24 / node:24-alpine Docker images) works fine. The distinguishing detail is that the Azure Linux build reports V8 as 13.6.233.17-node.44, while official upstream v24.14.1 reports 13.6.233.17-node.48 — i.e. this looks like a distro-specific Node patch.
This blocks internal Microsoft teams (mine and at least one neighboring team) from using mcr.microsoft.com/onebranch/azurelinux/build:3.0 as a TypeSpec-capable build image. We are currently working around it by pinning very old TypeSpec versions that happen not to trigger the V8 crash.
To Reproduce
docker run --rm mcr.microsoft.com/onebranch/azurelinux/build:3.0 bash -lc '
mkdir -p /tmp/mre && cd /tmp/mre
echo "{\"dependencies\":{\"@typespec/compiler\":\"1.11.0\"}}" > package.json
npm install --silent --ignore-scripts
echo "namespace Demo; model W { id: string; }" > main.tsp
./node_modules/.bin/tsp compile main.tsp --no-emit
'
# → "TypeSpec compiler v1.11.0" then Segmentation fault, exit 139
Reproduces 5/5 times. The same script against node:24 or node:24-alpine succeeds 5/5.
node -e "console.log(process.versions.v8)" on the Azure Linux 3.0 image prints 13.6.233.17-node.44; on official node:24 it prints 13.6.233.17-node.48.
Expected behavior
TypeSpec compiles the input file and exits 0, as it does on the corresponding upstream Node 24 build.
Additional context
- Tested on
aarch64; would expect the same on x86_64.
- TypeSpec
@typespec/compiler versions ≥ 1.2.0 trigger the crash; 1.1.0 does not. We have no reason to believe TypeSpec itself is at fault — the bug only manifests on the Azure Linux Node build.
- We can repro on demand if it helps narrow down which V8 / Node patch the Azure Linux package is missing relative to upstream
node.48.
Describe the bug
The
nodejs24package shipped in Azure Linux 3.0 (v24.14.1) segfaults deterministically when running TypeSpec's compiler. The same version of TypeSpec running on official upstream Node 24.14.1 (node:24/node:24-alpineDocker images) works fine. The distinguishing detail is that the Azure Linux build reports V8 as13.6.233.17-node.44, while official upstreamv24.14.1reports13.6.233.17-node.48— i.e. this looks like a distro-specific Node patch.This blocks internal Microsoft teams (mine and at least one neighboring team) from using
mcr.microsoft.com/onebranch/azurelinux/build:3.0as a TypeSpec-capable build image. We are currently working around it by pinning very old TypeSpec versions that happen not to trigger the V8 crash.To Reproduce
Reproduces 5/5 times. The same script against
node:24ornode:24-alpinesucceeds 5/5.node -e "console.log(process.versions.v8)"on the Azure Linux 3.0 image prints13.6.233.17-node.44; on officialnode:24it prints13.6.233.17-node.48.Expected behavior
TypeSpec compiles the input file and exits 0, as it does on the corresponding upstream Node 24 build.
Additional context
aarch64; would expect the same onx86_64.@typespec/compilerversions ≥ 1.2.0 trigger the crash; 1.1.0 does not. We have no reason to believe TypeSpec itself is at fault — the bug only manifests on the Azure Linux Node build.node.48.