Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

check-requirements.sh script fails on certain devices that meet requirements. #204611

Closed
kbirger opened this issue Feb 7, 2024 · 11 comments · Fixed by #204660
Closed

check-requirements.sh script fails on certain devices that meet requirements. #204611

kbirger opened this issue Feb 7, 2024 · 11 comments · Fixed by #204660
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug insiders-released Patch has been released in VS Code Insiders remote Remote system operations issues verified Verification succeeded
Milestone

Comments

@kbirger
Copy link

kbirger commented Feb 7, 2024

Does this issue occur when all extensions are disabled?: Yes

The issue involves connecting to a host via SSH, and occurs when installing the updated version of vscode-server on the host. This worked with the same client/host on a previous version of VS Code.

Client Machine:

Version: 1.86.0
Commit: 0504748
Date: 2024-01-31T10:29:11.933Z
Electron: 27.2.3
ElectronBuildId: 26495564
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: 11.8.172.18-electron.0
OS: Darwin arm64 23.3.0

Host Machine:

Synology DS920+
OS: Linux slon 4.4.302+ #69057 SMP Mon Nov 13 14:19:30 CST 2023 x86_64 GNU/Linux synology_geminilake_920+

glibc info:

GNU C Library (GNU libc) stable release version 2.36.
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 12.2.0.
libc ABIs: UNIQUE IFUNC ABSOLUTE
Minimum supported kernel: 3.2.0

Steps to Reproduce:

  1. Install vs code and ssh remote extension
  2. connect to remote host running synology (ssh must be enabled on host, tcp forwarding enabled)

Connection fails with an error saying getconf: command not found because this distro does not ship with getconf, but nonetheless has the correct version of glibc and other dependencies.

This seems to come from the following line of code: https://github.com/microsoft/vscode/blob/main/resources/server/bin/helpers/check-requirements-linux.sh#L22

As a workaround, I've been able to create /tmp/vscode-skip-server-requirements-check and have a functioning setup. This confirms that the requirements are actually met.

Thoughts

It seems like the $BITNESS variable only matters for arm64 and aarch64 systems. It would make sense to rewrite the script to only do the check when it is necessary, in order to maximize compatibility.

I'm going through the script manually line by line to spot other issues. It's mostly fine on my host.

On some hosts, /etc/os-release may also not be present. (Such as Synology NAS, which is perfectly capable of running this software). It is only used to detect nixos and alpine linux. Perhaps this lookup can also be moved to the appropriate places for compatibility. Alternately, can't uname give this answer?

One other thing to note is the the libstdcpp versino detection. It seems to be incorrect.
https://github.com/microsoft/vscode/blob/main/resources/server/bin/helpers/check-requirements-linux.sh#L74 Checks for a specific version 6.0.25, but will throw a warning if a newer version, such as 6.0.31 is reported on the lines above in the variable $libstdcpp_version

@ericbodden
Copy link

I am having the exact same problem. Thanks for raising this, otherwise I would have done the same.

@aeschli aeschli assigned deepak1556 and unassigned aeschli Feb 7, 2024
@deepak1556 deepak1556 added bug Issue identified by VS Code Team member as probable bug remote Remote system operations issues labels Feb 7, 2024
@deepak1556 deepak1556 added this to the February 2024 milestone Feb 7, 2024
@vscodenpa vscodenpa added the unreleased Patch has not yet been released in VS Code Insiders label Feb 7, 2024
@vscodenpa vscodenpa added insiders-released Patch has been released in VS Code Insiders and removed unreleased Patch has not yet been released in VS Code Insiders labels Feb 8, 2024
@andreamah andreamah added the author-verification-requested Issues potentially verifiable by issue author label Feb 22, 2024
@vscodenpa
Copy link

This bug has been fixed in the latest release of VS Code Insiders!

@kbirger, you can help us out by commenting /verified if things are now working as expected.

If things still don't seem right, please ensure you're on version a0b90ac of Insiders (today's or later - you can use Help: About in the command palette to check), and leave a comment letting us know what isn't working as expected.

Happy Coding!

@connor4312
Copy link
Member

@deepak1556 are there steps for this? Seems like the default Alpine image has both getconf and /etc/os-release, so I'm not sure what I should test on.

@connor4312 connor4312 added the verification-steps-needed Steps to verify are needed for verification label Feb 22, 2024
@deepak1556
Copy link
Collaborator

Issue requires a custom linux variant which I also don't have steps to verify, but the fix was verified in #204745 (comment) by another user on similar setup.

@deepak1556 deepak1556 added verified Verification succeeded and removed verification-steps-needed Steps to verify are needed for verification labels Feb 23, 2024
@git-nico
Copy link

The insiders build Is is working as expected for me.
Tested it on a Synology DS918+, 4.4.302+ #69057 SMP Fri Jan 12 17:02:59 CST 2024 x86_64 GNU/Linux synology_apollolake_918+

@lgu-appear
Copy link

It doesn't work in my case. It keeps asking for what distribution is installed once the VSCode server is installed.

image
image
image

@kbirger
Copy link
Author

kbirger commented Feb 29, 2024

/verified

@vscodenpa vscodenpa removed the author-verification-requested Issues potentially verifiable by issue author label Feb 29, 2024
@Fr34k9
Copy link

Fr34k9 commented Mar 4, 2024

Also not working for me (neither in vscode nor insiders). Only works if I add the file /tmp/vscode-skip-server-requirements-check

@lgu-appear
Copy link

Can we reopen that? @deepak1556

@git-nico
Copy link

git-nico commented Mar 4, 2024

related to #206533 ?

@deepak1556
Copy link
Collaborator

Can confirm the issue with ssh setup, will track it in #206533

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
bug Issue identified by VS Code Team member as probable bug insiders-released Patch has been released in VS Code Insiders remote Remote system operations issues verified Verification succeeded
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants