WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Invoker can panic if invocation was manually paused #4064

@tillrohrmann

Description

@tillrohrmann

@nikrooz ran into an invoker panic when doing the following:

  • Have a handler with a combinator for 3 ctx.runs, 2 will always fail (not terminal) and the other takes very long time
  • In one stage that it was backing-off, I tried to pause the invocation
  • and then tried to resume it
[Some("rt:pp-8")]  PANIC!!!
panicked at crates/invoker-impl/src/invocation_state_machine.rs:404:9:
assertion failed: matches!(&self.invocation_state, AttemptState::WaitingRetry { .. })


thread 'rt:pp-8' (1478256) panicked at crates/invoker-impl/src/invocation_state_machine.rs:404:9:
assertion failed: matches!(&self.invocation_state, AttemptState::WaitingRetry { .. })
2025-11-25T15:58:43.850858Z ERROR tracing_panic
  A panic occurred
    panic.payload: "assertion failed: matches!(&self.invocation_state, AttemptState::WaitingRetry { .. })"
    panic.location: "crates/invoker-impl/src/invocation_state_machine.rs:404:9"
    panic.backtrace: disabled backtrace
    panic.note: "run with RUST_BACKTRACE=1 environment variable to display a backtrace"
on rt:pp-8
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

It seems that we are violating an invariant in the invoker where we expect it to be in the AttemptState::WaitingRetry state.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinginvokerrelease-blockerBlocker for the next release

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions