awslabs / awslabs/shuttle

Can't load replay schedule for max_steps failures

Open
#85 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
1.1k
Forks
59
Avg merge
4d 2h
Merged PRs (30d)
15

Description

I have a [shuttle test](https://github.com/chc4/samsara/blob/4799ed47775882c1adf224651e9380f882f5bdff/src/test.rs#L204) for a crate I wrote. It occasionally hits a deadlock that shuttle reports via hitting "exceeded max_steps bound ". It gives a (very big) failing schedule that I should pass to replay in order to reproduce the issue.

The problems are two fold:
1) replay_from_file can't load the outputted schedule string, always panicking with "invalid schedule"
2) ~~reducing the max_steps via a custom Config.max_steps so that the schedule is able to be embedded as an argument to replay directly ends with shuttle erroring out with "expected context switch but next schedule step is random choice".~~

This unfortunately makes shuttle kind of useless for trying to fix this bug, since I can't exercise the reported deadlock to try and debug it under gdb or something to get a stacktrace of the stuck thread.

Contributor guide

Open the contributing guide

Research direction

Start with replay_from_file and the custom Config.max_steps path described in the report, using the linked src/test.rs shuttle test as the reproduction entry point. Confirm that the max_steps failure schedule can be loaded and replayed without the reported “invalid schedule” or context-switch/random-choice errors, and that the deadlock can be exercised.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.