You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My project use rouille as http server, and it panic with following stacktrace today.
I can't understand why remote_addr is invalid here, and I can't reproduce this by myself.
From my point of view, after (client, addr) = sock.accept() , ENOTCONN won't happend on client, if then other end disconnect, we will get Broken pipe for write and Connection reset by peer for read.
Is there anything I'm missing?
2020-09-03 16:59:35.794 ERRO [src/engine/util/mod.rs:171] thread '<unnamed>' panicked 'called `Result::unwrap()` on an `Err` value: Os { code: 107, kind: NotConnected, message: "Transport endpoint is not connected" }' at "/root/.cargo/registry/src/gitlab.example.com-bfbf2811318eff5d/tiny_http-0.6.2/src/client.rs:157"
stack backtrace:
0: 0x560b76f094ad - backtrace::backtrace::libunwind::trace::h1dfc5d5f86da629a
at /root/.cargo/registry/src/gitlab.example.com-bfbf2811318eff5d/backtrace-0.2.3/src/backtrace/libunwind.rs:54
- backtrace::backtrace::trace::h6cebca1075b8eb4b
at /root/.cargo/registry/src/gitlab.example.com-bfbf2811318eff5d/backtrace-0.2.3/src/backtrace/mod.rs:70
1: 0x560b76f08b02 - backtrace::capture::Backtrace::new::h1a1970034c6045ed
at /app/ceresbase/target/release/build/backtrace-0d10531d76a2c814/out/capture.rs:79
- <backtrace::capture::Backtrace as core::default::Default>::default::h63f59b9329434b56
at /app/ceresbase/target/release/build/backtrace-0d10531d76a2c814/out/capture.rs:187
2: 0x560b76d7ee52 - ceresbase::engine::util::set_exit_hook::{{closure}}::hcaeca03c7ca0b6a1
at src/engine/util/mod.rs:170
3: 0x560b7796d95c - std::panicking::rust_panic_with_hook::hb7ad5693188bdb00
at src/libstd/panicking.rs:476
4: 0x560b7796d46f - rust_begin_unwind
at src/libstd/panicking.rs:380
5: 0x560b7798c2d0 - core::panicking::panic_fmt::hb1f3e14b86a3520c
at src/libcore/panicking.rs:85
6: 0x560b7798c0d2 - core::option::expect_none_failed::he6711468044f7162
at src/libcore/option.rs:1199
7: 0x560b778cd1be - core::result::Result<T,E>::unwrap::h38e5fad2ca27e032
at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447/src/libcore/result.rs:963
- tiny_http::client::ClientConnection::read::ha911ed308c506847
at /root/.cargo/registry/src/gitlab.example.com-bfbf2811318eff5d/tiny_http-0.6.2/src/client.rs:157
- <tiny_http::client::ClientConnection as core::iter::traits::iterator::Iterator>::next::h0c9e303d0acc2c69
at /root/.cargo/registry/src/gitlab.example.com-bfbf2811318eff5d/tiny_http-0.6.2/src/client.rs:185
8: 0x560b76e18220 - tiny_http::Server::new::{{closure}}::{{closure}}::hecf4c099fd41f08c
at /root/.cargo/registry/src/gitlab.example.com-bfbf2811318eff5d/tiny_http-0.6.2/src/lib.rs:330
9: 0x560b778be5dc - <alloc::boxed::Box<F> as core::ops::function::FnMut<A>>::call_mut::hfc46fcd7349e6a65
at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447/src/liballoc/boxed.rs:1022
- tiny_http::util::task_pool::TaskPool::add_thread::{{closure}}::h3a885c7fe2bf99c0
at /root/.cargo/registry/src/gitlab.example.com-bfbf2811318eff5d/tiny_http-0.6.2/src/util/task_pool.rs:141
- std::sys_common::backtrace::__rust_begin_short_backtrace::hebe78f87f91cc17f
at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447/src/libstd/sys_common/backtrace.rs:129
10: 0x560b778bf76b - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h403781e55d5a497c
at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447/src/libstd/thread/mod.rs:475
- <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hedd9d183b4614ebe
at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447/src/libstd/panic.rs:318
- std::panicking::try::do_call::h8d6671340e951ac2
at /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447/src/libstd/panicking.rs:305
11: 0x560b779737d6 - __rust_maybe_catch_panic
at src/libpanic_unwind/lib.rs:86
12: 0x560b778b556e - std::panicking::try::h753244e51df72843
The text was updated successfully, but these errors were encountered:
My project use rouille as http server, and it panic with following stacktrace today.
I can't understand why remote_addr is invalid here, and I can't reproduce this by myself.
From my point of view, after
(client, addr) = sock.accept()
, ENOTCONN won't happend on client, if then other end disconnect, we will getBroken pipe
for write andConnection reset by peer
for read.Is there anything I'm missing?
The text was updated successfully, but these errors were encountered: