Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[Bug]: Argon2 Again #5430

Closed
4 tasks done
im-coder-lg opened this issue Aug 9, 2022 · 13 comments
Closed
4 tasks done

[Bug]: Argon2 Again #5430

im-coder-lg opened this issue Aug 9, 2022 · 13 comments

Comments

@im-coder-lg
Copy link
Contributor

im-coder-lg commented Aug 9, 2022

Is there an existing issue for this?

  • I have searched the existing issues

OS/Web Information

  • Web Browser: All
  • Local OS: All
  • Remote OS: All
  • Remote Architecture: ARM64 (maybe for now)
  • code-server --version: Latest

Steps to Reproduce

Prerequisite: Node 16 only

  1. Install via Yarn
  2. See Argon2 error

Expected

We are supposed to see a successful installation.

Actual

The bad old argon2 dependency error happens. We last saw this in #4422.

Logs

Logs can be found at this discussion: #5381

Screenshot/Video

At #5381

Does this issue happen in VS Code or GitHub Codespaces?

  • I cannot reproduce this in VS Code.
  • I cannot reproduce this in GitHub Codespaces.

Are you accessing code-server over HTTPS?

  • I am using HTTPS.

Notes

I couldn't dig properly, but I think node-rs adopted a new problem, perhaps? @yisibl would love to hear your insight on this!

My notes will be continued in comments later on. My first point is this:

This was supposed to be fixed in #4733, and so it was - I personally tested it via Node 14 on my 32-bit Raspbian install. This is back now, which makes it weird. I am going to need a bit of time on this - sorry, but I have a lot of things up next, like August 15, I have a job to do for that, as well as some other things.

@jsjoeio and @bpmct you are the people I know who have RPis set up. Can you install Node and check it? My install via nvm seems to be screwed up.

@yisibl you suggested @node-rs/argon2, have you noticed anything going haywire in the build logs? Maybe we could start on these things as I also try on my Zorin installation on my computer.

@im-coder-lg im-coder-lg added bug Something isn't working triage This issue needs to be triaged by a maintainer labels Aug 9, 2022
@im-coder-lg
Copy link
Contributor Author

2022-08-09T16_30_58_095Z-debug-0.log
That was my debug log. It seems something other than node-rs/argon2, but this could be potentially NPM package-destructing.

So, my knowledge gain was - AMD64 has another issue.

Please test on your Pis and tell your ideas here. We can't switch node-rs/argon2, it has worked splendidly for the past releases.

@jsjoeio
Copy link
Contributor

jsjoeio commented Aug 9, 2022

First, thank you @im-coder-lg for testing and opening this! Looks semi-related to argon2. I will add this to high-priority list so we can take a look soon.

@jsjoeio jsjoeio added needs-investigation This issue needs to be further investigated and removed bug Something isn't working triage This issue needs to be triaged by a maintainer labels Aug 9, 2022
@code-asher
Copy link
Member

I think we switched to node-rs/argon2 to fix this but then had an issue and had to switch back.

Related/possibly a dupe: #4670

I have steps for resolution in there.

@ranisalt
Copy link

Let me know if I can help. Looking at the older issues, it seems that the system you guys are using ships an ancient version of glibc. node-argon2 currently builds for ubuntu20.04 which ships glibc 2.31, so anything older than that will fail to link/load.

@im-coder-lg
Copy link
Contributor Author

So, it's mostly a problem in building the entire app, with an older glibc version? And all you have to do is make sure that npm packages are built on Ubuntu LTS with glibc 2.31, that's what you are saying? If this is the fix, I will personally test and code a nice workflow and PR it here.

@jsjoeio
Copy link
Contributor

jsjoeio commented Aug 23, 2022

Let me know if I can help.

Will do! Really appreciate that.

Looking at the older issues, it seems that the system you guys are using ships an ancient version of glibc

@code-asher do you remember why we use an ancient version of glibc? I want to say something-something CentOS but can't recall.

@ranisalt
Copy link

@im-coder-lg yes, essentially that. In the past, we had this problem with a hosting provider that used Ubuntu 16.04 (after it's EOL, mind you) and there was no way to support that.

argon2 ships prebuilt binaries built against glibc 2.31, so a system shipping glibc in any version >=2.3.1, <3 will be compatible, otherwise crashing occurs. It can't provide a version linked with an older glibc version because GitHub Actions provides Ubuntu 20.04 as the oldest distro.

What you need to do is ensure that the system executing argon2 either ships with a compatible glibc version, or builds from source - this requires gcc, make, node-gyp and other bulld tools.

@jsjoeio indeed CentOS 8.5 ships glibc 2.28 which is already too old.

@code-asher
Copy link
Member

Yeah we have been reluctant to up the minimum glibc requirement since I think we had people on the product side using code-server on CentOS 7.

@code-asher
Copy link
Member

code-asher commented Aug 24, 2022

IMO building from source sounds like it might be the best move for us at the moment.

@jsjoeio jsjoeio added this to the On Deck - High Priority milestone Aug 24, 2022
@ranisalt
Copy link

ranisalt commented Aug 25, 2022

Yeah we have been reluctant to up the minimum glibc requirement since I think we had people on the product side using code-server on CentOS 7.

If you can confirm this data, I can try to build with an older distro, so it's compatible. There is no hard requirement to support newer distros :)

@jsjoeio
Copy link
Contributor

jsjoeio commented Aug 29, 2022

If you can confirm this data, I can try to build with an older distro, so it's compatible.

That is super nice of you! Let me ping some folks internally and find out.

@code-asher
Copy link
Member

Closing since we updated to CentOS 8 some time ago, and other changes around this were made, and if it is still a problem I think we need new investigation.

@code-asher code-asher removed the needs-investigation This issue needs to be further investigated label Jul 11, 2024
@im-coder-lg
Copy link
Contributor Author

I thought this was done! Anyway this looks good

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants