-
Notifications
You must be signed in to change notification settings - Fork 414
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
Is cached_digest doing extra work on cmt files? #4273
Comments
There is a known reproducibility issue with cmt/cmti files, so that might just be it. /cc @snowleopard who has been observing such issues inside Jane Street. |
I think @jeremiedimino refers to this issue with non-reproducible However, it seems to me that @ejgallego's report may be about a different problem: in this case we expect no files to be rebuild at all, but for some reason some |
I see. This reminds of a conversation we had some time ago, where we said it'd be nice to have a way to debug what files Dune's consider as changed. To understand better why it re-run some rules. |
I don't think the issue is specific to cmt files, I could reproduce on others; it seems to me that it is due to symlinks not being tracked properly. |
I have written some support like that a few times; I'd be happy to finish the support, but a couple of issues remain:
|
I think so as well, but it'd be easier to reason about this with the code. So I'd just open a PR and we can discuss this during the review.
I'd say whatever is the most useful for debugging. If both are useful, it seems fine to me to support both. |
This seems fixed now, likely some of the PRs related to #4412 |
Dear dune devs,
I have been observing some re-hashing of files on what should be a no-op rebuild, example from the Coq sources after doing
dune build coq.install
after a previous full build:so indeed, all
.cmt{,i}
files in the source tree seem to be re-digested, however it seems to me they should not. After the digest, nothing is rebuilt, I guess the digest matches the stored one, tho cmt tend to be leaves themselves.The text was updated successfully, but these errors were encountered: