server is unavailable: channel closed
Version
c951f01c98e5a7a13b4b19dd7d6da46af09ffda2
Operating System
Linux
Distribution Method
source
Describe the issue
I'm not able to run from source locally on my linux machine.
I did run (as according to DEVELOPMENT.md):
$ pnpm install
$ cargo build
$ pnpm dev:desktop
How to reproduce
Run and build it from source
Expected behavior
It should start.
Relevant log output
$ LOG_LEVEL=debug pnpm dev:desktop
> root@ dev:desktop /home/toon/devel/gitbutler
> pnpm tauri dev
> root@ tauri /home/toon/devel/gitbutler
> tauri "dev"
Running BeforeDevCommand (`pnpm dev:internal-tauri`)
> @gitbutler/crates@ dev:internal-tauri /home/toon/devel/gitbutler/crates
> pnpm --workspace-root dev:internal-tauri
> root@ dev:internal-tauri /home/toon/devel/gitbutler
> turbo watch --filter @gitbutler/desktop dev
turbo 2.1.1
• Packages in scope: @gitbutler/desktop
• Running dev in 1 packages
• Remote caching disabled
• Packages in scope: @gitbutler/desktop
• Running dev in 1 packages
• Remote caching disabled
× failed to connect to daemon
╰─▶ server is unavailable: channel closed
ELIFECYCLE Command failed with exit code 1.
ELIFECYCLE Command failed with exit code 1.
WARN Local package.json exists, but node_modules missing, did you mean to install?
Error The "beforeDevCommand" terminated with a non-zero status code.
ELIFECYCLE Command failed with exit code 1.
ELIFECYCLE Command failed with exit code 1.
Thanks for reporting!
I have encountered a similar issue when trying to launch the dev-mode on a Linux VM. The file-watcher fails, and I didn't find a way to workaround it, unfortunately.
@Byron Happy to help figure it out, but I don't know where to start.
If you're talking file-watcher, could it be something related to limits?
I don't know, I only figured that it's something in the dev-tooling, nothing that this repository controls directly. I also vaguely remember to have found an open issue (probably by looking up the error message), so it's known and definitely not yet fixed.
Apologies for the vagueness of the answer.
I ran into the same problem, or at least it looks the same. Looking at the logs of turbo, it returns this (npx turbo daemon logs):
WARNING encountered error watching filesystem enumerating recursive watch: IO error for operation on /source/gitbutler/target/release/deps/rmeta5f1FLs: No such file or directory (os error 2)
After that, it just stops working. Killing the turbo daemon makes it work again (or running npx turbo daemon clean). It seems you can get lucky that turbo doesn't have this problem, after which it starts fine. Seems to be a bit of a timing issue, by the looks.
Maybe this snippet of information helps.
Edit: seems to be https://github.com/vercel/turborepo/issues/8800 ; at least, for my issue :)
Thanks so much for sharing, this issue is also what I found, judging by my subscription there.
My hunch here was that turbo tries to read a file that is so short-lived that it's not present anymore when it tries, and that exception derails the whole system. I'd think it should have no business in a git-ignored folder at all.
Hey guys - it appears that the issue is within turbo itself and I think I have a fix for it in this PR: https://github.com/vercel/turborepo/pull/9406
Currently waiting for feedback from the vercel team, but if you feel adventurous, you could build turbo from source from that branch and you should be able build GitButler with it. Hopefully it can land upstream soon-ish though
The issue is now occurring again with turbo v2.5.2, this time the issue is:
turbo 2.5.2
WARNING failed to wait for initial filesystem cookie: filewatching failed to start: waiting for cookie timed out: deadline has elapsed
There is an open issue for this as well:
- https://github.com/vercel/turborepo/issues/4608
Edit: A reboot fixed it