Skip to content

Preserve worker error backtraces - #137

Merged
reneklacan merged 2 commits into
mainfrom
reneklacan/osaka
Aug 13, 2026
Merged

Preserve worker error backtraces#137
reneklacan merged 2 commits into
mainfrom
reneklacan/osaka

Conversation

@reneklacan

@reneklacan reneklacan commented Aug 13, 2026

Copy link
Copy Markdown
Member

Summary

  • store worker failures with Debug formatting by default so captured backtraces reach retry and dead-job metadata
  • add a runtime error formatter override for applications that need a custom representation
  • cover default and custom formatting in integration tests and document backtrace requirements

Verification

  • cargo fmt --all -- --check
  • cargo clippy --all-features --workspace --all-targets -- -D warnings
  • cargo test --workspace --all-features
  • cargo check --all-features --workspace

Note

Low Risk
Stored error text changes from Display to Debug by default, which may alter dashboard copy but does not touch auth or persistence semantics; optional backtraces can expose sensitive stack data if enabled.

Overview
Worker failures persisted on retry and dead jobs now use each error’s Debug string instead of Display, so types that embed backtraces (when enabled) surface that detail in stored metadata and the dashboard.

Adds RuntimeBuilder::error_formatter and RuntimeSettings::format_error so apps can override the stored text (e.g. back to error.to_string()). The executor and queue drain path both route failures through this helper; drain now takes runtime settings for formatting.

Changelog, README (backtrace env notes and sensitivity), and integration tests cover default Debug output and custom formatters on dead, retry, and drain flows.

Reviewed by Cursor Bugbot for commit baa35fd. Bugbot is set up for automated code reviews on this repo. Configure here.

Store worker failures with Debug formatting by default so captured cause chains and backtraces reach retry and dead-job metadata. Add an explicit formatter override for applications that need a different representation.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 0fee8b9. Configure here.

Comment thread oxana/src/runtime.rs
Route drain failures through the runtime error formatter so default Debug backtraces and custom representations are preserved consistently.
@reneklacan
reneklacan merged commit d816425 into main Aug 13, 2026
2 checks passed
@reneklacan
reneklacan deleted the reneklacan/osaka branch August 13, 2026 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant