linefeed icon indicating copy to clipboard operation
linefeed copied to clipboard

"The handle is invalid" running inside Cygwin on Windows 10

Open AlbertoGP opened this issue 5 years ago • 2 comments

Hi, this combination might be out of scope but I can spend some time helping diagnose it.

Compiling in Windows 10, the program runs fine under PowerShell and CMD.EXE, but crashes when run from the Cygwin console:

$ cargo run
   Compiling lf v0.1.0 (C:\cygwin\home\user\linefeed-crash)
warning: variable does not need to be mutable
  --> src\main.rs:13:7
   |
13 |   let mut reader = Interface::new("my-application")?;
   |       ----^^^^^^
   |       |
   |       help: remove this `mut`
   |
   = note: `#[warn(unused_mut)]` on by default

warning: 1 warning emitted

    Finished dev [unoptimized + debuginfo] target(s) in 11.76s
     Running `target\debug\lf.exe`
Hello, world!
Error: Os { code: 6, kind: Other, message: "The handle is invalid." }

$

The error happens on line 13 of the attached file: let mut reader = Interface::new("my-application")?; main.rs.txt

Is this a known issue?

AlbertoGP avatar Jun 14 '20 21:06 AlbertoGP

This might be a widespread problem: I’m checking alternatives, and for instance in rustyline it says:

Note: Mintty (Cygwin/MinGW) is not supported

Others don’t specify that. Two of them, Terminal Wizardry and Runtastic Prompt mention only that they support Windows, the others don’t say even that.

AlbertoGP avatar Jun 14 '20 22:06 AlbertoGP

For easy reference, here are the problems with supporting Mintty in rustyline from their issue tracker:

There are at least two problems implementing the Term trait (mainly the input part):

Under Mintty, you cannot use the Windows API anymore.

https://github.com/kkawakam/rustyline/issues/203#issuecomment-468934002

AlbertoGP avatar Jun 15 '20 07:06 AlbertoGP