Chleba / netscanner

Terminal Network scanner & diagnostic tool with modern TUI
MIT License
865 stars 20 forks source link

Crash Report v0.4.1 #23

Closed DominicOrsi closed 7 months ago

DominicOrsi commented 7 months ago
          Could you please get me the crash log output from the `v0.4.1` as well please?

That needs to be something else.

Originally posted by @Chleba in https://github.com/Chleba/netscanner/issues/22#issuecomment-2062858962

  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.

Chleba commented 7 months ago

Hi, Thanks for the report and log. Here's the fix: https://github.com/Chleba/netscanner/commit/52e2095c8141d6f2a97870cc7967aadeb593b1be, that will be in the next version.