Summary
On the linux-arm64 build (v1.6.2 and v1.6.3), the Tracing feature never appears.
isTracingSupported() fails because @vscode/sqlite3's native module in the VSIX is
compiled for x86-64, so it can't load on arm64. As a result the
ai-mlstudio.tracing.* commands (startCollector/stopCollector/open/showStatus) are
never registered and the collector never listens on 4317.
Environment
- Host: Linux aarch64 (arm64), VS Code Server, Node v24.15.0 (ABI 137)
- Extension: ms-windows-ai-studio.windows-ai-studio 1.6.3 (linux-arm64); also reproduced on 1.6.2
Evidence
Path: dist/node_modules/@vscode/sqlite3/build/Release/vscode-sqlite3.node
$ file vscode-sqlite3.node
ELF 64-bit LSB shared object, x86-64, ... not stripped ← wrong arch
$ readelf -h vscode-sqlite3.node | grep Machine
Machine: Advanced Micro Devices X86-64
Package metadata: @vscode/sqlite3 5.1.6-vscode, N-API (node-addon-api ^4.2.0, napi_versions [3,6]).
Root cause (suspected)
The platform-targeted VSIX is packaged on an x86-64 CI agent and bundles the host-arch
prebuilt native module instead of the arm64 one. Likely affects all non-x64 targets.
Workaround (confirmed)
Replace with the matching arm64 N-API build (ABI-independent, no compile):
download napi-v6-linux-glibc-arm64 sqlite3 5.1.6 and overwrite vscode-sqlite3.node.
Reload window → tracing commands register and work.
Suggested fix
- Install the target-arch prebuilt before
vsce package --target <arch>
(e.g. npm_config_arch / prebuild-install --arch).
- Add a CI check: after packaging each target, assert the bundled .node ELF Machine
matches the target arch.
Summary
On the
linux-arm64build (v1.6.2 and v1.6.3), the Tracing feature never appears.isTracingSupported()fails because@vscode/sqlite3's native module in the VSIX iscompiled for x86-64, so it can't load on arm64. As a result the
ai-mlstudio.tracing.*commands (startCollector/stopCollector/open/showStatus) arenever registered and the collector never listens on 4317.
Environment
Evidence
Path: dist/node_modules/@vscode/sqlite3/build/Release/vscode-sqlite3.node
$ file vscode-sqlite3.node
ELF 64-bit LSB shared object, x86-64, ... not stripped ← wrong arch
$ readelf -h vscode-sqlite3.node | grep Machine
Machine: Advanced Micro Devices X86-64
Package metadata: @vscode/sqlite3 5.1.6-vscode, N-API (node-addon-api ^4.2.0, napi_versions [3,6]).
Root cause (suspected)
The platform-targeted VSIX is packaged on an x86-64 CI agent and bundles the host-arch
prebuilt native module instead of the arm64 one. Likely affects all non-x64 targets.
Workaround (confirmed)
Replace with the matching arm64 N-API build (ABI-independent, no compile):
download napi-v6-linux-glibc-arm64 sqlite3 5.1.6 and overwrite vscode-sqlite3.node.
Reload window → tracing commands register and work.
Suggested fix
vsce package --target <arch>(e.g. npm_config_arch / prebuild-install --arch).
matches the target arch.