Remote SSH: provide more descriptive error message on glibc incompatibility

Open
#8,480 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
42/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
typescript

Research direction

Start with the Remote - SSH installation and error-resolution path corresponding to the bundled extension.js locations in the report, and reproduce the failed positron-server launch on CentOS 7. Check how the non-zero exit status and server log are surfaced, then verify that a glibc incompatibility produces a descriptive unsupported-platform error instead of only a generic installation failure.

Written by the indexing model from the issue text.

Description

area: remote host enhancement support

System details:

Positron and OS details:
版本: Positron Version: 2025.07.0 (system setup) build 204

Code - OSS Version: 1.100.3
Commit: 03ae7a5393c776bb24c23d2aa6a6bfbba90cbc5e
Date: 2025-06-30T16:48:59.334Z
提交: 34.5.1
日期: 132.0.6834.210
Electron: 20.19.0
ElectronBuildId: 13.2.152.41-electron.0
Chromium: Windows_NT x64 10.0.19045
Node.js: undefined
V8: undefined
OS: undefined


Interpreter details:

R 4.5.0 (Note: The R version is on the remote server, but the core issue seems to be with the Positron server binary, not R itself.)

Describe the issue:

When attempting to connect to a remote CentOS 7 server using the SSH remote extension in Positron, the connection fails. The logs indicate that after successfully authenticating via SSH, the remote Positron server (positron-server) is launched but fails to start properly. The installation script waits for the server to report that it's listening on a port, but this never happens, leading to a timeout and a connection failure.

The root cause is very likely an incompatibility between the pre-compiled positron-server binary and the old glibc version (2.17) provided by CentOS 7. Modern applications like Positron are typically compiled on newer systems and require a higher glibc version (e.g., 2.18+), causing them to fail immediately upon execution on older systems like CentOS 7.

Steps to reproduce the issue:

  1. Use Positron on a local machine (e.g., Windows).
  2. Install the "Remote - SSH" extension.
  3. Configure an SSH connection to a remote server running CentOS 7.
  4. Attempt to connect to the remote server.
  5. The connection process will begin, SSH authentication will succeed, but the process will fail during the "Installing Positron server on remote" or "Resolving remote" stage.

The specific context (R script, Quarto, etc.) is not reached because the remote environment itself fails to initialize.

Expected or desired behavior:

The Positron server should successfully start on the remote CentOS 7 machine, allowing the Positron client to establish a full remote development session.

Alternatively, if CentOS 7 is not a supported platform due to glibc limitations, the error message should be more explicit, for example, "The remote operating system is not supported" or should point to the underlying glibc incompatibility issue.

Were there any error messages in the UI, Output panel, or Developer Tools console?

Yes, the Remote - SSH output panel provides detailed logs. The key parts of the log are as follows:

1. The installation script's output, showing the server fails to start:

[Trace  - 07:23:44.253] Server install command stdout:
Server script already installed in /public/home/a333/cch/.positron-server/bin/03ae7a5393c776bb24c23d2aa6a6bfbba90cbc5e/bin/positron-server
Error server did not start sucessfully
2868eefbcba00226dcd9a263: start
exitCode==1==
listeningOn====
connectionToken==74fb33bd-d321-40be-954b-9a3f21fe8dbb==
logFile==/public/home/a333/cch/.positron-server/.03ae7a5393c776bb24c23d2aa6a6bfbba90cbc5e.log==
osReleaseId==centos==
arch==x86_64==
platform==linux==
tmpDir==/run/user/32026==
2868eefbcba00226dcd9a263: end

2. The final error message from the Positron client:

[Error  - 07:23:44.254] Error resolving authority
Error: Couldn't install Positron server on remote server, install script returned non-zero exit status
	at e.installCodeServer (d:\Positron\resources\app\extensions\open-remote-ssh\dist\extension.js:1:440056)
	at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
	at async d:\Positron\resources\app\extensions\open-remote-ssh\dist\extension.js:1:403242

When manually running the positron-server binary on the remote CentOS 7 machine, it's expected to produce an error similar to:

/lib64/libc.so.6: version `GLIBC_2.18' not found (required by ./positron-server)

This confirms the incompatibility issue.

Dominant language
TypeScript
Stars
4.3k
Forks
184
Avg merge
1d 9h
Merged PRs (30d)
195

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from posit-dev/positron

All issues in posit-dev/positron

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.