alucryd / oxyromon

Rusty ROM OrgaNizer
Other
110 stars 13 forks source link

[Issue] Panic on check-roms #118

Closed maxexcloo closed 4 months ago

maxexcloo commented 4 months ago

When checking my ROMs I get the following panic:

root@gen8:/mnt/user/media/games# docker run -i -t --rm -v $(pwd):/data -e RUST_BACKTRACE=full ghcr.io/maxexcloo/docker-oxyromon:main check-roms --all
Processing "ACT - Apricot PC Xi"

Processing "APF - Imagination Machine"

Processing "APF - MP-1000"

Processing "Acorn - Archimedes"

Processing "Acorn - Atom (Tapes) (Bitstream)"

Processing "Acorn - Risc PC (Flux)"

Processing "Acorn RISC OS - Flash Media (Misc)"

Processing "Amstrad - CPC (Flux)"
Processing "Gestion Bancaire (France) (3 inch).zip"
Processing "Amstradivarius (France) (3 inch).zip"
Processing "Grapheur (France) (3 inch).zip"
Processing "Peter Pan (France) (3 inch).zip"
Processing "Invasion Galactique (France) (3 inch).zip"
Processing "Albertville 92 (France) (En) (3 inch).zip"

Processing "Amstrad - CPC (Misc)"
Processing "Gilligan's Gold (World) (Steam).zip"

Processing "Apple - I (Tapes)"

Processing "Apple - II (A2R)"
Processing "Microzine Issue 36 (Disk 1) (Unknown) (Side B).zip"
Processing "BeagleWorks (Disk 1) (Unknown).zip"
Processing "AppleWorks Training (Disk 1) (Unknown) (Side B).zip"
Processing "Star Dance (USA).zip"
⠤                                                                                                                                                                                                                                                                                                                                                                                                                                           thread 'main' panicked at src/check_roms.rs:274:14:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0:     0x563ff96e2196 - std::backtrace_rs::backtrace::libunwind::trace::hbee8a7973eeb6c93
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x563ff96e2196 - std::backtrace_rs::backtrace::trace_unsynchronized::hc8ac75eea3aa6899
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x563ff96e2196 - std::sys_common::backtrace::_print_fmt::hc7f3e3b5298b1083
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x563ff96e2196 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbb235daedd7c6190
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x563ff9711570 - core::fmt::rt::Argument::fmt::h76c38a80d925a410
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/rt.rs:142:9
   5:     0x563ff9711570 - core::fmt::write::h3ed6aeaa977c8e45
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/mod.rs:1120:17
   6:     0x563ff96defef - std::io::Write::write_fmt::h78b18af5775fedb5
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/io/mod.rs:1810:15
   7:     0x563ff96e1f74 - std::sys_common::backtrace::_print::h5d645a07e0fcfdbb
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x563ff96e1f74 - std::sys_common::backtrace::print::h85035a511aafe7a8
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x563ff96e37f7 - std::panicking::default_hook::{{closure}}::hcce8cea212785a25
  10:     0x563ff96e3559 - std::panicking::default_hook::hf5fcb0f213fe709a
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:292:9
  11:     0x563ff96e3c88 - std::panicking::rust_panic_with_hook::h095fccf1dc9379ee
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:779:13
  12:     0x563ff96e3b29 - std::panicking::begin_panic_handler::{{closure}}::h032ba12139b353db
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:649:13
  13:     0x563ff96e2696 - std::sys_common::backtrace::__rust_end_short_backtrace::h9259bc2ff8fd0f76
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:171:18
  14:     0x563ff96e38c0 - rust_begin_unwind
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
  15:     0x563ff8f47225 - core::panicking::panic_fmt::h784f20a50eaab275
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
  16:     0x563ff8f472e3 - core::panicking::panic::hb837a5ebbbe5b188
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:144:5
  17:     0x563ff8f7e508 - oxyromon::check_roms::check_system::{{closure}}::hefaab7564a18d608
  18:     0x563ff9048972 - oxyromon::main::main::{{closure}}::h96f17e2eeb8e63b7
  19:     0x563ff8f7240e - async_std::task::task_locals_wrapper::TaskLocalsWrapper::set_current::hbb09425649147237
  20:     0x563ff90f7637 - <futures_lite::future::Or<F1,F2> as core::future::future::Future>::poll::h98babfec1bb706c2
  21:     0x563ff91d13b4 - async_io::driver::block_on::h40be1a7907fd1416
  22:     0x563ff910f3d5 - async_global_executor::executor::block_on::hf2e27b5663d00e33
  23:     0x563ff8f71dc6 - async_std::task::task_locals_wrapper::TaskLocalsWrapper::set_current::h5598984014a778be
  24:     0x563ff91abedc - async_std::task::builder::Builder::blocking::h03b24e11e805ad6f
  25:     0x563ff91ac1ac - oxyromon::main::hfb2e57a1ff07b597
  26:     0x563ff91afe56 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0bd6a88242139313
  27:     0x563ff9138fc2 - std::rt::lang_start::{{closure}}::h2b0485baf3c7fcd9
  28:     0x563ff96d5ce1 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h37600b1e5eea4ecd
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:284:13
  29:     0x563ff96d5ce1 - std::panicking::try::do_call::hb4bda49fa13a0c2b
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
  30:     0x563ff96d5ce1 - std::panicking::try::h8bbf75149211aaaa
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
  31:     0x563ff96d5ce1 - std::panic::catch_unwind::h8c78ec68ebea34cb
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
  32:     0x563ff96d5ce1 - std::rt::lang_start_internal::{{closure}}::hffdf44a19fd9e220
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:148:48
  33:     0x563ff96d5ce1 - std::panicking::try::do_call::hcb3194972c74716d
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
  34:     0x563ff96d5ce1 - std::panicking::try::hcdc6892c5f0dba4c
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
  35:     0x563ff96d5ce1 - std::panic::catch_unwind::h4910beb4573f4776
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
  36:     0x563ff96d5ce1 - std::rt::lang_start_internal::h6939038e2873596b
                               at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:148:20
  37:     0x563ff91ac1e5 - main
  38:     0x150955629d90 - <unknown>
  39:     0x150955629e40 - __libc_start_main
  40:     0x563ff8f47a15 - _start
  41:                0x0 - <unknown>
alucryd commented 4 months ago

Could you give the head of the develop branch another try? Rewrote pretty much the whole check logic as part of the refacto.