File "/Users/dominicorsi/Downloads/netscanner-0.4.1/src/main.rs:38", in netscanner::main
if let Err(e) = tokio_main().await {
File "/Users/dominicorsi/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/runtime.rs:350", in tokio::runtime::runtime::Runtime::block_on
Scheduler::MultiThread(exec) => exec.block_on(&self.handle.inner, future),
File "/Users/dominicorsi/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/mod.rs:86", in tokio::runtime::scheduler::multi_thread::MultiThread::block_on
crate::runtime::context::enter_runtime(handle, true, |blocking| {
File "/Users/dominicorsi/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/context/runtime.rs:65", in tokio::runtime::context::runtime::enter_runtime
return f(&mut guard.blocking);
File "/Users/dominicorsi/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/mod.rs:87", in tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
blocking.block_on(future).expect("failed to park thread")
File "/Users/dominicorsi/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/context/blocking.rs:66", in tokio::runtime::context::blocking::BlockingRegionGuard::block_on
park.block_on(f)
File "/Users/dominicorsi/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/park.rs:281", in tokio::runtime::park::CachedParkThread::block_on
if let Ready(v) = crate::runtime::coop::budget(|| f.as_mut().poll(&mut cx)) {
File "/Users/dominicorsi/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/coop.rs:73", in tokio::runtime::coop::budget
with_budget(Budget::initial(), f)
File "/Users/dominicorsi/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/coop.rs:107", in tokio::runtime::coop::with_budget
f()
File "/Users/dominicorsi/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/park.rs:281", in tokio::runtime::park::CachedParkThread::block_on::{{closure}}
if let Ready(v) = crate::runtime::coop::budget(|| f.as_mut().poll(&mut cx)) {
File "/Users/dominicorsi/Downloads/netscanner-0.4.1/src/main.rs:38", in netscanner::main::{{closure}}
if let Err(e) = tokio_main().await {
File "/Users/dominicorsi/Downloads/netscanner-0.4.1/src/main.rs:31", in netscanner::tokio_main::{{closure}}
app.run().await?;
File "/Users/dominicorsi/Downloads/netscanner-0.4.1/src/app.rs:174", in netscanner::app::App::run::{{closure}}
if let Some(action) = component.update(action.clone())? {
File "/Users/dominicorsi/Downloads/netscanner-0.4.1/src/components/discovery.rs:569", in <netscanner::components::discovery::Discovery as netscanner::components::Component>::update
self.next_in_table();
File "/Users/dominicorsi/Downloads/netscanner-0.4.1/src/components/discovery.rs:288", in netscanner::components::discovery::Discovery::next_in_table
if index >= self.scanned_ips.len() - 1 {
File "rust:library/core/src/panicking.rs:144", in core::panicking::panic
The application panicked (crashed).
attempt to subtract with overflow
in src/components/discovery.rs:288
thread: main
Could only make the crash happen when building from source in v0.4.1. When using cargo install netscanner@0.4.1, no crash would happen.
That needs to be something else.
Originally posted by @Chleba in https://github.com/Chleba/netscanner/issues/22#issuecomment-2062858962
Could only make the crash happen when building from source in
v0.4.1
. When usingcargo install netscanner@0.4.1
, no crash would happen.