So, really strange error I didn't really expect to see.
When I used a custom Error type for the Handler, a struct which impls Error and fmt::display, when my authentication fails (I haven't gotten to auth yet so it always fails) my program crashes with Tokio saying a workers stack overflowed.
After switching to anyhow the program works in a way I expect and doesn't crash after auth fail.
MacOS Sonoma - M1 Max
Crate version: russh = { version = "0.44.0", features = ["openssl"] }
Compiling sshtest v0.0.1 (/Users/felixklg/Developer/sshtest)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.78s
Running `target/debug/sshtest`
thread 'tokio-runtime-worker' has overflowed its stack
fatal runtime error: stack overflow
zsh: abort cargo r
So, really strange error I didn't really expect to see. When I used a custom Error type for the Handler, a struct which impls Error and fmt::display, when my authentication fails (I haven't gotten to auth yet so it always fails) my program crashes with Tokio saying a workers stack overflowed.
After switching to anyhow the program works in a way I expect and doesn't crash after auth fail.
MacOS Sonoma - M1 Max Crate version: russh = { version = "0.44.0", features = ["openssl"] }
Pardon the struct names: