| 21 Oct 2025 |
Sergei Zimmerman (xokdvium) | Generally flake inputs with submodules should not be cached for this reason (the fetchToStore cache entry from the fingerprint -> store path). Maybe that’s the broken part? | 13:53:43 |
Sergei Zimmerman (xokdvium) | does it end up in the cache with submodules enabled and disabled? | 13:56:32 |
Sergei Zimmerman (xokdvium) | For the same git revision | 13:56:51 |
Julian | Sergei Zimmerman (xokdvium): What specifically do you mean with submodules enabled/disabled? And which cache specifically? | 13:57:38 |
Sergei Zimmerman (xokdvium) | The fetcher cache. | 13:58:44 |
Julian | Sergei Zimmerman (xokdvium): Only the revision with no empty submodule directories is in the fetcher cache fetcher-cache-v4.sqlite. For the build to work, the store path should include empty submodule directories (or atleast for hashes to match). | 14:15:12 |
Julian | So I guess there must be some code that puts invalid entries into the fetcher cache? And this specifically only happens when the repository contains submodules that are not fetched? | 14:16:40 |
Sergei Zimmerman (xokdvium) | In reply to @juliankuners:matrix.org So I guess there must be some code that puts invalid entries into the fetcher cache? And this specifically only happens when the repository contains submodules that are not fetched? When submodules are fetched it should not try to use the fetcher cache at all. That’s the issue I think. There’s some logic for it there, but it must have been broken somehow | 14:17:59 |
Sergei Zimmerman (xokdvium) | (As in, it should not use the fetchToStore cache entry) | 14:18:27 |