BrowserOS icon indicating copy to clipboard operation
BrowserOS copied to clipboard

MCP server crashes with SIGILL on Ivy Bridge CPUs (missing AVX2 support)

Open mmmikko opened this issue 2 months ago • 2 comments

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

  1. Install BrowserOS on a system with Ivy Bridge CPU (or any CPU without AVX2)
  2. Open BrowserOS → Settings → MCP
  3. Toggle "Enable BrowserOS as MCP server" to ON
  4. 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 $?
132

Exit 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_server process 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

  1. Install BrowserOS on a system with Ivy Bridge CPU (or any CPU without AVX2)
  2. Open BrowserOS → Settings → MCP
  3. Toggle "Enable BrowserOS as MCP server" to ON
  4. Observe error in terminal

Screenshots / Videos

No response

BrowserOS Version

137.0.7229.69

Additional Context

No response

mmmikko avatar Nov 14 '25 17:11 mmmikko

Thank you for raising this issue! We will look into this!

felarof99 avatar Nov 20 '25 20:11 felarof99

Have the same problem as MCP server crashes without reason and can not be connected from any clients. The Test button in Browseros Mcp server shows "Can not be fetched". Sometimes the server runs after a clean restart, but crashes again randomly or when a client is trying to connect.

Mac Book Pro 2017 CPU 2,3 GHz Intel Core i5 double nucleus GPU Intel Iris Plus Graphics 640 1536 MB BrowserOS 137.0.7234.69 (Official build) (x86_64)

No server is running on port 9100 even this is the ps -ef output: 501 5635 565 0 11:49AM ?? 0:00.60 /Applications/BrowserOS.app/Contents/Resources/BrowserOSServer/default/resources/bin/browseros_server --cdp-port=9003 --http-mcp-port=9100 --agent-port=9200 --extension-port=9301 --resources-dir=/Applications/BrowserOS.app/Contents/Resources/BrowserOSServer/default/resources --execution-dir=/Applications/BrowserOS.app/Contents/Resources/BrowserOSServer/default/resources

berkode avatar Nov 29 '25 09:11 berkode

@shivammittal274 is looking into this.

felarof99 avatar Dec 04 '25 19:12 felarof99