question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

how to debug hydration?

See original GitHub issue

We’re considering switching to GIT/GVFS in a very large project. As we try any operation requiring hydration of many files (build, or just opening a big solution), not just the command but the whole operation system hangs, needing a hard reset to restore operation. The hang we think is windows explorer/filesystem-related, some of the processes stay more or less operable, but we cannot browse files, cannot type, or start new programs.
Hydration of a single file (e.g. opening a text file in the repo) works as expected.

We found out that while this command always works in our repo: gvfs prefetch --files '*', this command always hangs: gvfs prefetch --files '*' --hydrate

I’ve attached logs of the latter, started in verbose mode. The logs are of 2 separate runs. Please excuse me for the quality, but we weren’t able to save the log or do a printscreen with the computer hanging, so the log was photographed. In both cases, the hang was experienced between the last 2 lines, a lot before the last line appeared.

We’re willing to try debug the issue, but we’re not experienced in debugging filter drivers. If there’s any way we could provide more information than this, we’ll try to help.

log_2 log_3

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
derrickstoleecommented, May 27, 2020

Hi @canahari. Sorry that you’re having issues. Thanks for bringing this to our attention. The gvfs prefetch --files '*' --hydrate command spins up several worker threads, and you are seeing the message that the “find the blobs we need to download” is finishing, but the “actually download the blobs” is not reporting success. Further, with 547,000 missing objects and a batch size of 4,000, you should be seeing over 136 “DownloadObjects” lines. This means that the download thread is not able to finish. But you could also be correct that the filesystem interactions are causing a halt that prevents that thread from continuing.

Here are some basic questions:

  1. What version of Windows are you using?
  2. What version of VFS for Git are you using?
  3. What kind of drive are you using? Solid-state drives are so highly recommended that we don’t typically investigate performance issues related to hard disk drives.

Our usual way to diagnose these issues is to have the user run gvfs diagnose and put the resulting .zip file in a network share. If the .zip isn’t too big for your repo, perhaps you could email it to gvfsdogfood@service.microsoft.com.

Alternatively, you could place the .zip file in a private GitHub repo and give me access to read it. I’m just trying to make sure we can support you while also not making any potentially sensitive information completely public.

Finally, since you are hydrating the entire working directory, and it seems to have “only” 550 thousand files, perhaps you would have a better time trying Scalar? Here is a blog post describing some of the differences between VFS for Git and Scalar.

0reactions
derrickstoleecommented, May 28, 2020

(I’d really like to try a little debugging as I’m a C#er myself, …

To do debugging, you are better off building from source and then working from there. Please see the instructions in the README. The tricky part is getting all of the dependencies installed, then running your built installer.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Debugging and fixing hydration issues - somewhat abstract
Spotting hydration errors and fixing them can prevent serious user-facing performance issues, and since we do not get a signal during production ...
Read more >
How to debug a Next.js hydration error that only shows up ...
Unfortunately, there is no good way to debug hydration errors. I had to narrow it down by disabling components and check.
Read more >
How To Solve Hydration Error In Next.js
The code in react-dom will use tryHydrate to try the hydrate operation, if it fails, the mode and flags will be checked and...
Read more >
How to catch React Hydration errors on production
In this article, you will learn how to catch React hydration errors on production by monkey patching the console.error function.
Read more >
Make hydration errors more actionable · Issue #26224
So here a , div , and i are react components, which should help a lot with debugging. The only issue is that...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found