We hit a regression in @statsig/statsig-node-core after upgrading from 0.16.3 to 0.16.4. All versions newer than v0.16.4 are affected.
On linux/arm64, the published 0.16.4 package fails at runtime with transport-level errors during
initialization with errors like this, for requests to download_config_specs, get_id_lists, sdk_exception, and log_event:
RetriesExhausted: https://api.statsigcdn.com/v2/download_config_specs/... status(None) attempts(1) error sending
request for url (...)
Findings
We could reproduce this failure in both Debian-based container images (e.g. node:24-bullseye-slim) and non-Debian container images (e.g. public.ecr.aws/lambda/nodejs:24).
The regression appears to be caused by this commit: 39114ac, but only when built inside the CentOS7/manylinux2014 build environment that produced the native addon for Node.js in CI for aarch64.
Two scenarios we tried did reproduce the issue:
- The v0.16.4 package published on npm fails to make outbound requests
- Rebuilding the v0.16.4 package from source inside the same
CentOS7/manylinux2014 arm64 image used in CI also fails to make outbound requests
And the modifying the release profile config, removing the --use-napi-cross flag, or changing the build container image all fixed the issue:
- Building the v0.16.4 source but reverting 39114ac fixed the issue
- Building the v0.16.4 source but removing the
--use-napi-cross flag fixed the issue
- Building the v0.16.4 source but building in a different container image (e.g.
public.ecr.aws/lambda/nodejs:24) fixed the issue
This may have something to do with the version of GCC (v4.8.5) inside the CentOS7/manylinux2014 image being older.
We hit a regression in
@statsig/statsig-node-coreafter upgrading from0.16.3to0.16.4. All versions newer than v0.16.4 are affected.On
linux/arm64, the published0.16.4package fails at runtime with transport-level errors duringinitialization with errors like this, for requests to
download_config_specs,get_id_lists,sdk_exception, andlog_event:Findings
We could reproduce this failure in both Debian-based container images (e.g.
node:24-bullseye-slim) and non-Debian container images (e.g.public.ecr.aws/lambda/nodejs:24).The regression appears to be caused by this commit: 39114ac, but only when built inside the
CentOS7/manylinux2014build environment that produced the native addon for Node.js in CI for aarch64.Two scenarios we tried did reproduce the issue:
CentOS7/manylinux2014arm64 image used in CI also fails to make outbound requestsAnd the modifying the release profile config, removing the
--use-napi-crossflag, or changing the build container image all fixed the issue:--use-napi-crossflag fixed the issuepublic.ecr.aws/lambda/nodejs:24) fixed the issueThis may have something to do with the version of GCC (v4.8.5) inside the
CentOS7/manylinux2014image being older.