Skip to content

Can't git clone code-server #3091

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

Closed
jkaster opened this issue Apr 10, 2021 · 13 comments
Closed

Can't git clone code-server #3091

jkaster opened this issue Apr 10, 2021 · 13 comments
Labels
chore Related to maintenance or clean up docs Documentation related
Milestone

Comments

@jkaster
Copy link

jkaster commented Apr 10, 2021

OS/Web Information

  • Web Browser: Chrome, but N/A
  • Local OS: Debian
  • Remote OS: N/A
  • Remote Architecture: N/A
  • code-server --version: N/A

Steps to Reproduce

  1. git clone [email protected]:cdr/code-server.git

Expected

the repository should be fully cloned without error

Actual

Cloning into 'code-server'...
remote: Enumerating objects: 2312, done.
remote: Counting objects: 100% (2312/2312), done.
remote: Compressing objects: 100% (1727/1727), done.
remote: Total 30415 (delta 459), reused 2280 (delta 442), pack-reused 28103
Receiving objects: 100% (30415/30415), 41.79 MiB | 23.91 MiB/s, done.
Resolving deltas: 100% (16240/16240), done.
git-lfs filter-process: line 1: git-lfs: command not found
fatal: the remote end hung up unexpectedly
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

Notes

This issue can be reproduced in VS Code: No

@jkaster
Copy link
Author

jkaster commented Apr 10, 2021

Follow up: I can run yarn install even after this error (but doubt I''ll be able to submit any PRs to this repo).

However, that also fails because jq is presumed to be installed.

$ ./ci/dev/postinstall.sh
./ci/lib.sh: line 13: jq: command not found

@jkaster
Copy link
Author

jkaster commented Apr 10, 2021

Installed jq and now:

$ ./ci/dev/postinstall.sh
./ci/dev/postinstall.sh: line 9: cd: test: No such file or directory

@jkaster
Copy link
Author

jkaster commented Apr 10, 2021

Wow. create test and get this infinitely with yarn install

$ ./ci/dev/postinstall.sh
yarn install v1.22.4
[1/5] Validating package.json...
[2/5] Resolving packages...
success Already up-to-date.
$ ./ci/dev/postinstall.sh
yarn install v1.22.4
[1/5] Validating package.json...
[2/5] Resolving packages...
success Already up-to-date.
$ ./ci/dev/postinstall.sh
...

Looks like I won't be working on #1964 after all. Pity.

@jawnsy
Copy link
Contributor

jawnsy commented Apr 10, 2021

Hey there! 👋

Sorry about the challenges of getting a development environment set up for code-server, that's definitely not the experience that we want. We're working on making things better, and issues like yours help us with that, so thanks for sharing the feedback!

I'm not one of the primary maintainers for code-server, so I'm not entirely sure about it, but the git-lfs error looks like it's because we're using large file storage for something, so it looks like the existing repository expects it to be installed beforehand? Can you try running through these install steps and cloning again? https://git-lfs.github.com/

Also, if you haven't seen it already, our contributor guide describes how to build, I think this runs things inside a Docker container to help reduce the environment issues.

Lastly I'd also like to welcome you to our Coder Community Slack: https://community.coder.com/ - in particular we have a #code-server channel and would love to discuss with you over there!

I'm sorry that you're having these issues but we'd love to help you troubleshoot as we certainly value your contributions 😄

@jkaster
Copy link
Author

jkaster commented Apr 10, 2021

Thanks for the additional pointer to the contributor guide. I'll go through that.

@jkaster
Copy link
Author

jkaster commented Apr 11, 2021

While yarn && yarn watch worked after installing git-lfs and re-cloning, I kept getting 500 errors.

I tried Docker-based build. I see

debconf: delaying package configuration, since apt-utils is not installed

A fair bit during the CI yarn command which completes without errors eventually.

Unfortunately, the server doesn't respond after the CI yarn watch although it also runs successfully. I see

[2021-04-11T20:43:30.143Z] info  code-server 3.9.3 development
[2021-04-11T20:43:30.145Z] info  Using user-data-dir ~/.local/share/code-server
[2021-04-11T20:43:30.156Z] info  Using config file ~/.config/code-server/config.yaml
[2021-04-11T20:43:30.156Z] info  HTTP server listening on http://127.0.0.1:8080 
[2021-04-11T20:43:30.156Z] info    - Authentication is enabled
[2021-04-11T20:43:30.156Z] info      - Using password from ~/.config/code-server/config.yaml
[2021-04-11T20:43:30.157Z] info    - Not serving HTTPS 

but http://127.0.0.1:8080 and http://localhost:8080 both cycle between "Connection reset" and "Socket not connected" errors in Chrome

netstat indicates something is listening via a Docker container on port 8080

tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      211590/docker-proxy 

@jkaster
Copy link
Author

jkaster commented Apr 11, 2021

The 500 error I get with straight yarn watch is:

500
VS Code failed to load. It might not have finished compiling. exited unexpectedly with code 0

with the terminal log

[Error: ENOENT: no such file or directory, open '/usr/local/google/home/kaster/Documents/code-server/lib/vscode/out/vs/server/entry.js'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/usr/local/google/home/kaster/Documents/code-server/lib/vscode/out/vs/server/entry.js',
  phase: 'loading',
  moduleId: 'vs/server/entry',
  neededBy: [ '===anonymous1===' ]
}

@jkaster
Copy link
Author

jkaster commented Apr 11, 2021

With ./ci/dev/image/run.sh ./ci/steps/release.sh I get:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:370: starting container process caused: exec: "./ci/steps/release.sh": stat ./ci/steps/release.sh: no such file or directory: unknown.

@jkaster
Copy link
Author

jkaster commented Apr 11, 2021

This worked (vscode build took a long time but I guess that's expected):

yarn
yarn build
yarn build:vscode
yarn release

followed by

cd release
yarn --production
node .

So I can see my last session from the installed code-server, but I see these log errors after it successfully opens my last workspace (although I keep having to reconnect).

Error: redacted/code-server/release/lib/vscode/node_modules/spdlog/build/Release/spdlog.node: undefined symbol: _ZN2v816FunctionTemplate3NewEPNS_7IsolateEPFvRKNS_20FunctionCallbackInfoINS_5ValueEEEENS_5LocalIS4_EENSA_INS_9SignatureEEEiNS_19ConstructorBehaviorENS_14SideEffectTypeE

and also

  ERR redacted/.local/share/code-server/extensions [Error: ENOENT: no such file or directory, scandir 'redacted/.local/share/code-server/extensions'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'scandir',
  path: 'redacted/.local/share/code-server/extensions'
}

but only being able to run the release without being able to step through what's going on when I use ?path= isn't going to help me understand what happens at all.

I was too optimistic with the amount of time setup would take, and I don't really have any time left now to work further on this. I hope my play-by-play commentary helps someone else, though.

@code-asher
Copy link
Member

code-asher commented Apr 12, 2021

I'm sorry this was so difficult. We'll need to take your commentary and improve the process.

The 500 error after yarn watch is most likely because VS Code hadn't finished compiling yet. code-server finishes relatively quickly but VS Code won't be ready until the terminal outputs finished compilation which can take quite a while. We'll need to look into generating a better error message for this case I think.

@jkaster
Copy link
Author

jkaster commented Apr 12, 2021

Good to know. I appreciate the responsiveness for sure! I'll wait longer for the yarn && yarn watch approach when I can look at this again. Maybe a clearer message in the build process that everything is really done now would help.

@code-asher
Copy link
Member

That makes sense! We can definitely do that.

@jsjoeio jsjoeio added the docs Documentation related label Apr 12, 2021
@jsjoeio jsjoeio added this to the On Deck milestone Apr 12, 2021
@jsjoeio jsjoeio added the chore Related to maintenance or clean up label May 14, 2021
@stale
Copy link

stale bot commented Nov 10, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no activity occurs in the next 5 days.

@stale stale bot added the stale label Nov 10, 2021
@stale stale bot closed this as completed Nov 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Related to maintenance or clean up docs Documentation related
Projects
None yet
Development

No branches or pull requests

4 participants