Skip to content

20260130 resolve crash in evict_to_len#150

Open
Firstyear wants to merge 4 commits intomasterfrom
20260130-diagnostics
Open

20260130 resolve crash in evict_to_len#150
Firstyear wants to merge 4 commits intomasterfrom
20260130-diagnostics

Conversation

@Firstyear
Copy link
Member

@Firstyear Firstyear commented Jan 30, 2026

After a whole day of testing, debugging, logging, I have found the problem @droideck - the haunted lists were being incorrectly cleared which then left dangling pointers in the cache.

This resolves the issue, does a bit of linked list tidy up, adds a ton of assertions, and resolves the issue.

Hope that helps!

#Fixes #149

@Firstyear Firstyear requested a review from droideck January 30, 2026 08:21
@Firstyear Firstyear changed the title 20260130 diagnostics 20260130 resolve crash in evict_to_len Feb 2, 2026
Copy link
Member

@yaleman yaleman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like things that fix other things 🥳

@Firstyear
Copy link
Member Author

@yaleman Feedback applied.

@droideck Can you re-run a test to confirm if this resolves the problem? I was able to reproduce and my testing shows it's resolved under high concurrent thread pressure.

@droideck
Copy link
Collaborator

droideck commented Feb 4, 2026

@yaleman Feedback applied.

Is it pushed? I can't see it...

@droideck Can you re-run a test to confirm if this resolves the problem? I was able to reproduce and my testing shows it's resolved under high concurrent thread pressure.

For some reason, I can't reproduce it on my current VMs with or without the changes (but I'll try more).

Good news that @vashirov was able to hit it before! I provided the prepped build for the env, so hopefully soon we'll share how it went.

And thanks for such a fast investigation/fix response! I really appreciate it!

@Firstyear
Copy link
Member Author

@yaleman Feedback applied.

Is it pushed? I can't see it...

My mistake! Pushed now.

Good news that @vashirov was able to hit it before! I provided the prepped build for the env, so hopefully soon we'll share how it went.

And thanks for such a fast investigation/fix response! I really appreciate it!

Sounds good, let me know how it goes :)

@Firstyear
Copy link
Member Author

Good news that @vashirov was able to hit it before! I provided the prepped build for the env, so hopefully soon we'll share how it went.

Sorry to be a pain @droideck did you manage to reproduce? Given that this affects not only 389-ds but a few other things we want to do a release soon.

@vashirov
Copy link

vashirov commented Feb 6, 2026

Hey @Firstyear, I ran my reproducer for hours and it didn't crash with this fix. Thanks! :)

Copy link
Collaborator

@droideck droideck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My testing was also not able to hit any panics. Ack from me too!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Panic in evict_to_len: "unreachable" triggered during heavy cache load

4 participants