Skip to content
This repository was archived by the owner on Oct 23, 2022. It is now read-only.

sled pinstore tests deadlock rarely #443

Closed
koivunej opened this issue Jan 8, 2021 · 2 comments · Fixed by #444
Closed

sled pinstore tests deadlock rarely #443

koivunej opened this issue Jan 8, 2021 · 2 comments · Fixed by #444

Comments

@koivunej
Copy link
Collaborator

koivunej commented Jan 8, 2021

When running the common tests for sled pinstore on a loop with a machine more than 8 cores, it seems that they sometimes lock up: while true; do cargo test --lib -- --test-threads 8 repo::kv --nocapture; done.

Looking this deadlock through gdb shows only awaiting threads, so it kinda feels like the wakeup is being missed.

With some additional debugging (a future which printlns poll calls to the flush_async) it'd seem that the lockup only happens whenever all 7/8 tests which flush (cannot_recursively_unpin_unpinned doesn't flush) poll the flush future without before any of them returning ready.

@koivunej
Copy link
Collaborator Author

koivunej commented Jan 8, 2021

Created spacejam/sled#1241

@koivunej
Copy link
Collaborator Author

The posted changes will remove this issue as flush_async() will no longer be used.

@bors bors bot closed this as completed in d4b13d9 Jan 18, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant