Skip to content

Remote development becomes unstable on 1 vCPU servers after Zed 0.200+ (heartbeat timeouts) #43809

@pitrozx

Description

@pitrozx

Reproduction steps

Reproduction Steps

  1. Create any VPS with:
    • 1 vCPU AMD EPYC
    • 1–2 GB RAM
  2. open remote development SSH into the machine with Zed 0.200+.
  3. open big project example ipfs/kubo
  4. Wait 300–600 seconds (even idle).
  5. Heartbeats begin to fail.
  6. Zed goes into a reconnect loop.

Upgrading this exact instance to 2 vCPU fixes the issue immediately.

Current vs. Expected behavior

Expected Behavior

Zed Remote Server should not lose heartbeat on idle workload, even on minimal CPUs.
Versions before 0.200 handled 1 vCPU environments normally.


Actual Behavior

On a 1 vCPU host, Zed Remote Server misses heartbeats and enters an infinite reconnect loop.

Zed version and system specs

zed 0.212.5
os: Distributor ID: ManjaroLinux
Description: Manjaro Linux
Release: 25.0.0
Codename: Zetar
Linux d469f12fd92c 6.8.0-58-generic #60-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 14 18:29:48 UTC 2025 x86_64 GNU/Linux
memory 2GB
cpu: AMD EPYC 7001

Attach Zed log file

Zed.log
25-11-14T18:21:14+02:00 INFO  [remote_server::unix] (remote server) Got new node settings: NodeBinarySettings { path: None, npm_path: None, ignore_system_version: false }

2025-11-14T18:21:15+02:00 INFO  [extension_host::headless_host] (remote server) Loaded language server: vscode-html-language-server
2025-11-14T18:21:15+02:00 INFO  [lsp] (remote server) starting language server process. binary path: "/home/ptrzx/.local/share/zed/languages/gopls/gopls_0.20.0_go_1.24.3", working directory: "/home/ptrzx/nb/tpb/gtpb", args: ["-mode=stdio"]
2025-11-14T18:21:16+02:00 INFO  [extension_host::headless_host] (remote server) Loaded language server: intelephense
2025-11-14T18:21:16+02:00 INFO  [extension_host::headless_host] (remote server) Loaded language server: phpactor
2025-11-14T18:21:16+02:00 INFO  [extension_host::headless_host] (remote server) Loaded language server: phptools
2025-11-14T18:21:16+02:00 INFO  [extension_host::headless_host] (remote server) Loaded debug adapter: Xdebug

2025-11-14T18:21:27+02:00 WARN  [remote::remote_client] No heartbeat from server after 5s. Missed heartbeat 1 out of 5.
2025-11-14T18:21:27+02:00 INFO  [remote::remote_client] setting state to 'heartbeat missed'

2025-11-14T18:21:37+02:00 WARN  [remote::remote_client] No heartbeat from server after 5s. Missed heartbeat 2 out of 5.
2025-11-14T18:21:47+02:00 WARN  [remote::remote_client] No heartbeat from server after 5s. Missed heartbeat 3 out of 5.
2025-11-14T18:21:57+02:00 WARN  [remote::remote_client] No heartbeat from server after 5s. Missed heartbeat 4 out of 5.
2025-11-14T18:22:07+02:00 WARN  [remote::remote_client] No heartbeat from server after 5s. Missed heartbeat 5 out of 5.

2025-11-14T18:22:07+02:00 ERROR [remote::remote_client] Missed last 5 heartbeats. Reconnecting...
2025-11-14T18:22:07+02:00 INFO  [remote::remote_client] setting state to 'reconnecting'
2025-11-14T18:22:07+02:00 INFO  [remote::remote_client] Trying to reconnect to ssh server... Attempt 1

2025-11-14T18:22:08+02:00 INFO  [remote::transport::ssh] Remote shell discovered: /usr/bin/bash
2025-11-14T18:22:08+02:00 INFO  [remote::transport::ssh] Remote platform discovered: /usr/bin/bash

2025-11-14T18:22:13+02:00 ERROR [remote::remote_client] Reconnect attempt 1 failed: Timed out resyncing remote client. Starting new attempt...

2025-11-14T18:22:13+02:00 INFO  [remote::remote_client] Trying to reconnect to ssh server... Attempt 2
2025-11-14T18:22:14+02:00 INFO  [remote::transport::ssh] Remote shell discovered: /usr/bin/bash
2025-11-14T18:22:14+02:00 INFO  [remote::transport::ssh] Remote platform discovered: /usr/bin/bash

2025-11-14T18:22:19+02:00 ERROR [remote::remote_client] Reconnect attempt 2 failed: Timed out resyncing remote client.

2025-11-14T18:22:19+02:00 INFO  [remote::remote_client] Trying to reconnect to ssh server... Attempt 3
2025-11-14T18:22:20+02:00 INFO  [remote::transport::ssh] Remote shell discovered: /usr/bin/bash
2025-11-14T18:22:20+02:00 INFO  [remote::transport::ssh] Remote platform discovered: /usr/bin/bash

2025-11-14T18:22:26+02:00 ERROR [remote::remote_client] Reconnect attempt 3 failed: Timed out resyncing remote client.
2025-11-14T18:22:26+02:00 ERROR [remote::remote_client] Failed to reconnect after 3 attempts, giving up

Relevant Zed settings

settings.json

(for AI issues) Model provider details

No response

If you are using WSL on Windows, what flavor of Linux are you using?

None

Metadata

Metadata

Assignees

No one assigned

    Labels

    frequency:uncommonBugs that happen for a small subset of users, special configurations, rare circumstances, etcplatform:remoteRemote development, SSH and zed-remote-serverpriority:P1Security holes w/o exploit, crash, install/update, sign-in, badly broken common features

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions