-
Notifications
You must be signed in to change notification settings - Fork 763
Description
Issue Type
Browser Issue
Operating System
Linux
Description of the bug
MCP server crashes with SIGILL on Ivy Bridge CPUs (missing AVX2 support)
Description
The BrowserOS MCP server fails to start on older Intel CPUs (Ivy Bridge generation) that support AVX but not AVX2 instructions. The browseros_server binary crashes immediately with an illegal instruction error (SIGILL), preventing MCP integration with Claude Code or other MCP clients.
System Information
- BrowserOS Version: 137.0.7229.69
- OS: Ubuntu 24.04 LTS (kernel 6.14.0-27-generic)
- CPU: Intel Core i5-3210M (Ivy Bridge, 3rd generation)
- CPU Features: Has AVX, lacks AVX2 (introduced in Haswell/4th gen)
Steps to Reproduce
- Install BrowserOS on a system with Ivy Bridge CPU (or any CPU without AVX2)
- Open BrowserOS → Settings → MCP
- Toggle "Enable BrowserOS as MCP server" to ON
- Observe error in terminal
Expected Behavior
The MCP server should start successfully and listen on the configured port (e.g., http://127.0.0.1:9100/mcp or http://127.0.0.1:9226/mcp), allowing MCP clients to connect.
Actual Behavior
The browseros_server binary crashes immediately with:
Illegal instruction (core dumped)
Terminal output:
[23109:23109:1114/114612.291766:ERROR:chrome/browser/browseros_server/browseros_server_manager.cc:803] browseros: MCP control request failed - HTTP 0, net error: net::ERR_CONNECTION_REFUSED
Testing the binary directly:
$ /usr/lib/browseros/BrowserOSServer/default/resources/bin/browseros_server
Illegal instruction (core dumped)
$ echo $?
132Exit code 132 = 128 + signal 4 (SIGILL)
Technical Details
Crash analysis:
- Signal: 4 (SIGILL - Illegal Instruction)
- Crash dump location:
/var/crash/_usr_lib_browseros_BrowserOSServer_default_resources_bin_browseros_server.1000.crash - No
browseros_serverprocess appears in process list - No ports listening on 9100, 9226, or any expected MCP port
CPU flags (has AVX but not AVX2):
fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush
dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc
arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni
pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1
sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand
Impact
Users with older CPUs (pre-Haswell/4th gen Intel, pre-Excavator AMD) cannot use BrowserOS MCP integration with Claude Code, Gemini CLI, or other MCP clients, despite the main browser working fine.
Suggested Solution
Compile the browseros_server binary with a more conservative baseline (e.g., AVX instead of AVX2) or provide separate binaries for different CPU feature levels. Alternatively, detect CPU capabilities at runtime and gracefully fail with a clear error message about system requirements.
Related Issues
Possibly related to #199 (MCP server binds to random ports) - the random port behavior might be a symptom of the server repeatedly crashing and restarting.
Workaround
None currently available. The main BrowserOS browser works fine for regular browsing and AI features, but MCP integration is completely unavailable on affected CPUs.
Steps to Reproduce
- Install BrowserOS on a system with Ivy Bridge CPU (or any CPU without AVX2)
- Open BrowserOS → Settings → MCP
- Toggle "Enable BrowserOS as MCP server" to ON
- Observe error in terminal
Screenshots / Videos
No response
BrowserOS Version
137.0.7229.69
Additional Context
No response