Hello,
Milos Nikic, le ven. 27 févr. 2026 12:09:28 -0800, a ecrit:
> This new assert SHOULD fail and if it does it will give us the info needed to
> fix the problem.
> ---
> libdiskfs/name-cache.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/libdiskfs/name-cache.c b/libdiskfs/name-cache.c
> index 99591754..7a84fdb3 100644
> --- a/libdiskfs/name-cache.c
> +++ b/libdiskfs/name-cache.c
> @@ -197,7 +197,11 @@ diskfs_enter_lookup_cache (struct node *dir, struct node
> *np, const char *name)
> add_entry (bucket, i, name, key, dir->cache_id, value);
> else
> if (bucket->node_cache_id[i] != value)
> - bucket->node_cache_id[i] = value;
> + {
> + /* DO NOT MERGE: Catch threads clobbering valid entries with negative
> ones */
> + assert_backtrace (!(value == 0 && bucket->node_cache_id[i] != 0));
> + bucket->node_cache_id[i] = value;
Ok, I see. I have installed it and will see what we get with building
large packages (gcc also had the same kind of issue).
Samuel