Skip to content

Address remaining panic-on-persistence failures #381

Open

Description

@tnull

In #374 we fixed the panics in event handling, but there are still some others that are unaddressed. We still need to fix them, which is important for any kind of remote persistence, especially VSS.

Note that many of the -on-persistence-failure-panics are happening in upstream code or are blocked by upstream developments. So this is marked 'blocked on upstream' for now.

Activity

  1. added this to the 0.5 milestone on Oct 17, 2024
  2. modified the milestones: 0.5, 0.6 on Jan 24, 2025
  3. modified the milestones: 0.6, 0.7 on Jun 9, 2025
  4. modified the milestones: 0.7, 0.8 on Nov 17, 2025
  5. tnull commented on Nov 17, 2025

    @tnull
    CollaboratorAuthor

    In particular, this will require fully switching over to KVStore (i.e., including ChannelMonitor persistence) which we intend to do for v0.8.

  6. tnull commented on Jun 11, 2026

    @tnull
    CollaboratorAuthor

    This was mostly addressed by #919, but there are still remaining cases we'd need to address to fully resolve this. For the local ones we'd need some kind of wrapper for the node that cleanly shuts down and attempts restart whenever we hit a persistence failure (after retries for VSS, ofc). We also still have UnrecoverableError variants upstream that we'd need to drop to fully resolve this.

    With #919, #782, #667 we made some good progress here, but for now I'll remove this from the 0.8 milestone.

  7. removed this from the 0.8 milestone on Jun 11, 2026
  8. TheBlueMatt commented on Jul 24, 2026

    @TheBlueMatt
    Contributor

    P1, upstream-blocked panics:

    The only thing we could realistically do to "fix" these would be to simply remove the UnrecoverableError return value. If this is still somehow an "issue" we should just do that - this is not blocked on upstream, there is no way to handle this in lightning, the only appropriate way to handle this is to set a flag in ldk-node, do not "complete" the async monitor update persistence, and read that flag to shut down.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions