Comments (9)
Thanks for the very thorough explanation! This should be a pretty easy fix. We currently filter out change events for the root .git
folder, but we can probably extend that to be any nested .git
folder too.
from turbo.
Hi @AdiRishi, thanks for the issue. Could you share the output of turbo daemon logs
? You can also access the log file directly by running turbo daemon status
and going to the log file path. If you're not comfortable sharing it here, you can also send it to me at [email protected]
from turbo.
Logs seem pretty empty 🙃
turbo-logs.mp4
from turbo.
Hmm very interesting. How large of a repository are you running inside of? And do you see any logs after a significant amount of time, say 10 minutes?
from turbo.
Hmm very interesting. How large of a repository are you running inside of? And do you see any logs after a significant amount of time, say 10 minutes?
I'd say it's a mid-size repository. Around 21 sub-projects in total, it's a mix of around 6 webapps, 7 cloudflare workers and then more utility libaries / configs etc. Nothing crazy.
I'll run some further debugging and get the information you want. I'll also try to continue to re-clone and see if I can reporduce the issues on other systems. I'll get back to you on this.
from turbo.
Gotcha. Any chance you could run the daemon directly by stopping it (turbo daemon stop
) then doing turbo daemon -vvv
? This will run it in full verbosity. Hopefully that should give a better idea of where the daemon is stalling.
from turbo.
Alright, I have some very interesting discoveries to go through.
First off I want to start with the fact that when I re-clone this repository into a different location, and run the daemon from it, this behavior does not occur.
Next I tried to run turbo daemon -vvv
on a different turborepo repository which doesn't exhibit this issue. Here was the output, seems fairly normal. The logs stopped after a few seconds.
arishi-monorepo-daemon-logs.txt
I then ran turbo daemon -vvv
on the problem repository, and the logs wouldn't stop. I've captured around 1 minute of logs in this file. The full logfile is around 25MB so I had to gzip it 😅
bad-monorepo-daemon-logs.txt.gz
I've captured both logfiles using a command like this on mac pnpm turbo daemon -vvv &> daemon-logs.txt
.
Root Cause of Bug
Looking through the bad logs I realised there were mentions of a .git
folder in workers/turborepo-remote-cache
. This was confusing since I didn't think I had git submodules. I went into the directory, and sure enough, there is an inner git repository here with unstaged changes 🙃 . I think around 1 month ago I was updating my local copy of this worker and I accidentally left the git repository cloned and forgot to remove the .git
folder.
So it seems like having this unstaged change causes whatever the turbo daemon is doing to spin in an infinite loop.
I confirmed this by removing the unstaged changes and deleting the .git
folder in the worker/turborepo-remote-cache folder and everything is back to normal 🎉
Still, a very very odd manifestation, definitely does indicate a subtle bug in turbo haha.
I'm happy to help with more debugging if it will be helpful to fix the underlying bug :)
from turbo.
Related Issues (20)
- Docs: When the API references will be added? HOT 1
- ERROR Cannot invoke 'uname` to get architecture type: Os { code: 11, kind: WouldBlock, message: "Resource temporarily unavailable" } HOT 5
- Error when using ssh2 package: Module parse failed: Unexpected character '�' (1:0) HOT 1
- Docs: no-unused-vars occurs on function type argument, in basic example
- Wrong react-internal ESLint config for Basic Next.js example
- Tasks should run `dependsOn` before hashing inputs HOT 2
- Feature Request: Turbopack Plugins HOT 1
- Docs: `dependsOn` is easy to use incorrectly and have tasks run out of order HOT 2
- Minor: turbo/examples /with-svelte/ - Remove deprecated prettierrc option: pluginSearchDirs HOT 1
- Turborepo panics when Ctrl-Cing HOT 2
- Turbo runs fewer tasks than it should and reports questionable summaries HOT 15
- Inputs including invalid files per wildcard HOT 5
- Turbo --filter builds all the packages when a new workspace is added HOT 3
- Examples: `with-nestjs` example implementation HOT 2
- Resolve Alias not working same as webpack
- If dependsOn is missed and a workspace dependency changes, there s no cache miss HOT 2
- Watch-mode not rebuild dependent packages when package changes HOT 23
- Turborepo doesn't work with pnpm v9 HOT 3
- `turbo-ignore` do not work on a single repo HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from turbo.