user@argobox:~/journal/2026-01-26-the-language-server-that-froze-everything
$ cat entry.md

The Language Server That Froze Everything

○ NOT REVIEWED

The Language Server That Froze Everything

Date: 2026-01-26 Issue: System freeze during coding session Culprit: Runaway language server process Collateral Damage: NAS mounts broken, Tailscale routes missing


The Freeze

Mid-session. Working on some code. System locks up completely. Not even the mouse moves.

Hard power cycle. Boot back up. Time to figure out what happened and what broke.


Finding The Culprit

After the reboot, I started checking what was still running from before the crash. One process caught my attention:

PID 6035: /opt/google/antigravity/resources/app/extensions/antigravity/bin/language_server_linux_x64
- CPU: 41.6%
- Memory: 10.3% (3.3GB)
- Workspace: ~/Development

41% CPU. 3.3 gigabytes of RAM. While doing nothing. The IDE wasn’t even focused.

Checked its network connections:

FDRemote IPOwner
1534.54.84.110:443Google Cloud
68142.251.46.138:443Google
70216.239.36.223:443Google

Three active HTTPS connections to Google’s cloud endpoints. Constantly sending data. Constantly burning CPU. This is what caused the freeze - the language server hit some kind of runaway loop.

Immediate fix: pkill -f language_server_linux_x64

Long-term fix: Disable the extension when not actively using AI features, or find a less hungry alternative.


Collateral Damage #1: Tailscale Routes

After the hard shutdown, Tailscale was running but the route to the Kronos network was missing:

ip route show | grep 192.168.50
# Nothing

The 192.168.20.0/24 subnet (where Mirach-Maia-Silo and the other Kronos systems live) wasn’t reachable.

Fix:

sudo ip route add 192.168.20.0/24 dev tailscale0

Permanent fix: Updated /usr/local/bin/fix-tailscale-routes.sh to add this route on startup.

Tailscale was also complaining about DNS:

Tailscale health check warning: "can't reach configured DNS servers"

That resolved itself once the route was back.


Collateral Damage #2: NAS Mounts

Checked the NAS mounts:

MountIPStatus
Mirach-Maia-Silo192.168.20.50✅ Working (guest)
Caph-Silo192.168.20.7❌ Failed
Matar-Silo192.168.20.170❌ Failed

dmesg told the story:

CIFS: Status code returned 0xc000006d STATUS_LOGON_FAILURE
CIFS: VFS: \\192.168.20.7 Send error in SessSetup = -13

Wrong SMB credentials. The credential files had a password that doesn’t match what’s configured on the Synology.

The credential files at /etc/cifs-Caph-Silo and /etc/cifs-Matar-Silo contain:

username=logistics-officer
password=<wrong password>

This isn’t a crash-related issue - it’s been broken since the initial setup. I just never noticed because Mirach-Maia-Silo (guest access) was working fine and that’s the one I use most.

Fix needed: Either update the password on the Synology NAS devices, or update the credential files with the correct password.


Documentation Discrepancy

While investigating, I found a documentation error. An old setup doc said Caph-Silo was at 192.168.20.8. The actual IP is 192.168.20.7 (confirmed via ping).

Added to my todo list: fix the docs.


Startup Script Issue

The tailscale mount script at /etc/local.d/tailscale-mounts.start only waits for 192.168.20.50 (Mirach-Maia-Silo) before trying to mount. It doesn’t check for .7 or .170.

So even if the Synology credentials were correct, the mounts might fail on boot because the script doesn’t wait for them to be reachable.


The Stack That Manages This

Current network management on Galileo-Outpost:

ComponentRole
dhcpcd on enp5s0Primary network (via OpenRC)
TailscaleVPN overlay, manages /etc/resolv.conf
/etc/local.d/fix-tailscale-routes.startFixes route conflicts
/etc/local.d/tailscale-mounts.startMounts NAS after Tailscale

It’s a bit fragile. If any piece doesn’t run in the right order, things break.


Quick Recovery Commands

For future reference:

# Test NAS connectivity
ping -c1 192.168.20.50   # Mirach-Maia-Silo
ping -c1 192.168.20.7    # Caph-Silo
ping -c1 192.168.20.170  # Matar-Silo

# Check Tailscale route
ip route show | grep 192.168.20

# Add missing route
sudo ip route add 192.168.20.0/24 dev tailscale0

# Mount NAS manually
sudo mount /mnt/Mirach-Maia-Silo    # Works (guest)
sudo mount /mnt/caph           # Fails (wrong creds)
sudo mount /mnt/matar          # Fails (wrong creds)

# Kill the offending language server
pkill -f language_server_linux_x64

Outstanding Tasks

  • Fix Synology SMB credentials (Caph-Silo & Matar-Silo)
  • Make 192.168.20.0/24 route persistent
  • Update tailscale-mounts.start to handle all 3 NAS devices
  • Update docs with correct Caph-Silo IP
  • Monitor Antigravity language server for recurrence

System freeze. Language server burning 41% CPU while “idle”. Three active connections to Google’s cloud. 3.3GB of RAM.

Sometimes the tools that are supposed to help you are the ones causing the problems.