microsoft / microsoft/foundry-dev-tools
Tracing unavailable on linux-arm64 — VSIX ships x86-64 @vscode/sqlite3 native binary
@dooriya is already working on this.
Since Jul 21, 2026.
- Dominant language
- JavaScript
- Stars
- 2.1k
- Forks
- 260
- Avg merge
- 42m
- Merged PRs (30d)
- 29
Description
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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.