-
Notifications
You must be signed in to change notification settings - Fork 134
Description
Summary
The Gemini Code Assist server binary crashes immediately on startup due to a SIGILL (Illegal Instruction) error. The binary appears to be compiled with pclmul (Carry-less Multiplication) enabled. This instruction set is often unavailable on standard University/Enterprise HPC login nodes, which act as gateways using virtualized or emulated CPU architectures.
Environment
Platform: Visual Studio Code Remote - SSH
OS: Linux (RHEL/CentOS)
Hardware Context: University HPC Cluster (National University of Singapore - Vanda System)
Login Node: Virtual Machine with emulated CPU micro-architecture.
Compute Nodes: Intel 8452Y (Sapphire Rapids).
The Issue
I am connecting via SSH to the cluster's login node (vanda.nus.edu.sg) to develop code. According to our infrastructure documentation, the login node is a VM with an "emulated CPU micro-architecture" intended for gateway access, whereas the heavy compute nodes utilize modern Intel CPUs.
Because the VS Code Server (and the Gemini extension) launches on the login node, it hits the SIGILL error immediately because the VM environment masks the pclmul instruction flag, even if the underlying host might support it.
Other AI assistants (e.g., GitHub Copilot, OpenAI Codex) currently function correctly in this environment, suggesting they use a more compatible build target (e.g., GOAMD64=v1 or v2).
Error Log
FATAL ERROR: This binary was compiled with pclmul enabled, but this feature is not available on this processor (go/sigill-fail-fast).
[Error - 1:00:06 PM] Server initialization failed.
Message: Pending response rejected since connection got disposed
Code: -32097
[Error - 1:00:06 PM] Server process exited with signal SIGILL.
Steps to Reproduce
Connect VS Code via Remote-SSH to a standard HPC Login Node or a VM with generic CPU flags (lacking pclmul).
Install the Gemini Code Assist extension.
Observe the immediate crash loop in the Output tab.
Expected Behavior
The extension server should either:
Be compiled with a lower baseline architecture (e.g., GOAMD64=v1) to support legacy/virtualized gateway processors.
Use dynamic feature detection rather than hard-crashing on missing instructions.
Impact
This effectively blocks usage for students and researchers in HPC environments who must use login gateways to access compute resources.