You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Indeed, thanks Nick! I could bisect it to this commit before which it would still work fine: 5c299de ("MEDIUM: stats: consider that shared stats pointers may be NULL").
@Darlelet I've seen a very strange behavior starting with this commit during the bisect session, reloading the process multiple times would alternate between one old value and a new one for the frontend.
I'm not seeing anything obviously wrong in the patch. Aurélien, do you think that the loops iterating over thread groups could face a null in the middle of others ? For example here:
In 5c299de I completely overlooked the fact that shm stats preloading should be considered as init step for the counters and thus the pointers are expected to be NULL there, and the extra check used everywhere else before using the pointer doesn't apply there.
Activity
wtarreau commentedon Nov 11, 2025
Indeed, thanks Nick! I could bisect it to this commit before which it would still work fine: 5c299de ("MEDIUM: stats: consider that shared stats pointers may be NULL").
@Darlelet I've seen a very strange behavior starting with this commit during the bisect session, reloading the process multiple times would alternate between one old value and a new one for the frontend.
I'm not seeing anything obviously wrong in the patch. Aurélien, do you think that the loops iterating over thread groups could face a null in the middle of others ? For example here:
Shouldn't it be this instead ?
Maybe we're only reloading some thread groups or shards and not all, which could explain why it alternates on reload ?
Darlelet commentedon Nov 12, 2025
It should be fixed with 3262da8
In 5c299de I completely overlooked the fact that shm stats preloading should be considered as init step for the counters and thus the pointers are expected to be NULL there, and the extra check used everywhere else before using the pointer doesn't apply there.
Thanks both for pointing the issue
Darlelet commentedon Nov 12, 2025
It was a dumb mistake indeed
wtarreau commentedon Nov 13, 2025
Closing now that the fix is merged. Thanks Aurélien!