gyscos / cursive

A Text User Interface library for the Rust programming language
MIT License
4.25k stars 244 forks source link

Updating to crossterm 0.16 causes critical filehandle leak #432

Open compenguy opened 4 years ago

compenguy commented 4 years ago

Bug report

Problem description

Crossterm 0.16 has a critical bug on linux (https://github.com/crossterm-rs/crossterm/pull/383).

The issue is fixed in master (commit 007063896e8b310a6711d7ab780962a9f8ed7283), but is not included yet in a release. I believe 0.15.x releases are affected as well, but I have been unable to verify.

Environment

gyscos commented 4 years ago

Ah blast, I knew it was too easy an upgrade... May stay on the git branch until they release a version.

compenguy commented 4 years ago

Let me tell you, it was no fun to track down that issue, because the panic message was getting swallowed, and the exhausted filehandles meant that human-panic couldn't write a panic report for me. GDB didn't turn up anything quickly. It was only when I straced my program that I found the issue.

william-ree commented 4 years ago

@gyscos I think you're probably good to update to crossterm 0.17.1 (they skipped 0.16), but I haven't tested it myself yet.

gyscos commented 4 years ago

Thanks! Updated to 0.17, seems to be working so far.