|
Ran
|
Jobs
1
|
Files
479
|
Run time
1min
|
Badge
README BADGES
|
push
github
vinyl: fix use-after-free of LSM tree in scheduler Between picking an LSM tree from a heap and taking a reference to it in vy_task_new() there are a few places where the scheduler may yield: - in vy_worker_pool_get() to start a worker pool; - in vy_task_dump_new() to wait for a memory tree to be unpinned; - in vy_task_compaction_new() to commit an entry to the metadata log after splitting or coalescing a range. If a concurrent fiber drops and deletes the LSM tree in the meanwhile, the scheduler will crash. To avoid that, let's take a reference to the LSM tree. It's quite difficult to write a functional test for it without a bunch of ugly error injections so we rely on fuzzing tests. Closes #9995 NO_DOC=bug fix NO_TEST=fuzzing (cherry picked from commit 1c4605bb9)
62584 of 113808 branches covered (54.99%)
9 of 10 new or added lines in 1 file covered. (90.0%)
33 existing lines in 10 files now uncovered.93477 of 108941 relevant lines covered (85.81%)
2602702.63 hits per line
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 9108683127.1 | 0 |
85.81 |
GitHub Action Run |