vmware / splinterdb

High Performance Embedded Key-Value Store
https://splinterdb.org
Apache License 2.0
673 stars 56 forks source link

(#581) Resolve a segmentation fault on trunk_unmount() #582

Closed deukyeon closed 1 year ago

deukyeon commented 1 year ago

trunk_set_super_block() is used when both creating and closing the splinterdb. However, spl->log is already freed and becomes NULL when it gets to this function. This causes a segmentation fault because spl->log is referenced when it stores the log addresses into the super block. As a fix, it sets super->log_addr and super->log_meta_addr if spl->log is valid. Otherwise, they are set to 0.

netlify[bot] commented 1 year ago

Deploy Preview for splinterdb canceled.

Name Link
Latest commit 488e1a87ebdba9773933ac14ad4bb1e1503bf2c1
Latest deploy log https://app.netlify.com/sites/splinterdb/deploys/64bf13c679526500085b60c7
deukyeon commented 1 year ago

I can't merge this PR. Maybe due to "some checks haven't completed yet"? How can I resolve this?

rtjohnso commented 1 year ago

Let me try to poke the CI to run the checks.

Best, Rob

On Mon, Jul 24, 2023 at 9:23 AM deukyeon @.***> wrote:

I can't merge this PR. Maybe due to "some checks haven't completed yet"? How can I resolve this?

— Reply to this email directly, view it on GitHub https://github.com/vmware/splinterdb/pull/582#issuecomment-1648227385, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA45FRJ2PUGRUA4ULU7C553XR2ORNANCNFSM6AAAAAAYZSJVIM . You are receiving this because your review was requested.Message ID: @.***>