Skip to content

Critical Crash: Gemini Code Assist binary SIGILL on HPC Login Node (VM/Emulated CPU) #1190

@PeterShanxin

Description

@PeterShanxin

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions