Reproducible crash on mouse-dragging from termion window to top of screen
Platform: Lenovo X220, Arch Linux, Awesome window manager, urxvt -terminal.
Tested with applications depending on termion: void, smith.
Reproduction:
- Start holding a mouse button anywhere in the terminal hosting a termion application.
- Touch top of the entire screen, while holding a mouse button.
- -> Application exits with exit code 101, which is rustc for "panic". Applications do not get a panic-backtrace.
More info:
- Original issue I filed in void.
- Other edges of screen do not cause the issue. It seems to be specifically the point where y=0.
- Based on my investigation, the crash happens in void after calling either
std::io::Write::flush()
or after settingstd_out = something
, wherestd_out
is of some compound termion type, likeMouseTerminal<RawTerminal<AlternateScreen<Stdout>>>
. Application crashes consistently, and very mysteriously at the point where the function that calls the above is supposed to return. - This is the function in void, that causes a crash as it returns.