oxidecomputer / oxidecomputer/omicron
Wicket crash in `wicket::runner::RunnerCore::new`
Open
Nobody has claimed this yet.
wicket
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
Ended up with a core dump on dogfood
> ::stack
libc.so.1`_lwp_kill+0xa()
libc.so.1`raise+0x22(6)
libc.so.1`abort+0x58()
0x1b0fa29()
0x1b0fa19()
rust_panic+0xd()
_ZN3std9panicking20rust_panic_with_hook17h83507dc0eaa37bc0E+0x302()
_ZN3std9panicking19begin_panic_handler28_$u7b$$u7b$closure$u7d$$u7d$17h3154d00dc41726bdE+0xa4()
0x1af5869()
0x1af7e36()
0x1b3e175()
0x1b3e7b5()
0xc7fe43()
_ZN6wicket6runner6Runner3new17h4407e078b3d8dc96E+0x246()
_ZN6wicket8dispatch4exec17h8a2e5aaa60724887E+0x123()
_ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h38fda0017fc71b9dE+6()
_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h00875c8d00d697cdE+0x11()
_ZN3std2rt19lang_start_internal17h16a6f35fda36f8b5E+0x2d3()
main+0x2c()
_start_crt+0x87()
_start+0x18()
> 0xc7fe3f::whatis
c7fe3f is wicket::runner::RunnerCore::new::h6ed3e6e431a19713+0x4bf, in /opt/oxide/wicket/bin/wicket [400000,1e10000)
> 0x1b3e7b1::whatis
1b3e7b1 is core::result::unwrap_failed::hde36021d185658ce+0x71, in /opt/oxide/wicket/bin/wicket [400000,1e10000)
Which looks like it maps to
pub fn new(log: Logger) -> Self {
Self {
screen: Screen::new(&log),
state: State::new(),
terminal: Terminal::new(CrosstermBackend::new(stdout())).unwrap(),
log,
log_throttler: EventReportLogThrottler::default(),
}
}
Unclear what triggered the crash as I don't recall actually seeing wicket crash. I may have been resizing the window which is known to trigger crashes.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at wicket:🏃:RunnerCore::new and inspect the stack trace around the unwrap failure in the shown constructor. Run wicket and investigate whether resizing the window reproduces the dogfood crash; done means identifying the trigger and preventing the crash with coverage for the failing case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100