Farmadupe / vid_dup_finder_lib

a rust library to find near-duplicate video files
Apache License 2.0
17 stars 3 forks source link

Panic when processing file in `resize_gray.rs` #4

Open qarmin opened 10 months ago

qarmin commented 10 months ago

branch dct3d

backtrace

thread '<unnamed>' panicked at /home/rafal/.cargo/git/checkouts/vid_dup_finder_lib-c8e12077b81b399b/6eb9c60/vid_dup_finder_common/src/resize_gray.rs:121:48:
called `Result::unwrap()` on an `Err` value: TryFromIntError(())
stack backtrace:
   0: rust_begin_unwind
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:597:5
   1: core::panicking::panic_fmt
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/panicking.rs:72:14
   2: core::result::unwrap_failed
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/result.rs:1652:5
   3: vid_dup_finder_common::resize_gray::crop_resize_flat
   4: vid_dup_finder_lib::video_hashing::dct_3d::Dct3d::from_images
   5: vid_dup_finder_lib::video_hashing::video_hash::VideoHash::from_path_with_options
   6: std::panicking::try
   7: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut
   8: <rayon::iter::for_each::ForEachConsumer<F> as rayon::iter::plumbing::Folder<T>>::consume_iter
   9: rayon_core::job::StackJob<L,F,R>::run_inline
  10: rayon_core::join::join_context::{{closure}}
  11: rayon_core::registry::in_worker
  12: rayon::iter::plumbing::bridge_producer_consumer::helper
  13: rayon_core::job::StackJob<L,F,R>::run_inline
  14: rayon_core::join::join_context::{{closure}}
  15: rayon_core::registry::in_worker
  16: rayon::iter::plumbing::bridge_producer_consumer::helper
  17: rayon_core::job::StackJob<L,F,R>::run_inline
  18: rayon_core::join::join_context::{{closure}}
  19: rayon_core::registry::in_worker
  20: rayon::iter::plumbing::bridge_producer_consumer::helper
  21: rayon_core::join::join_context::{{closure}}
  22: rayon_core::registry::in_worker
  23: rayon::iter::plumbing::bridge_producer_consumer::helper
  24: rayon_core::join::join_context::{{closure}}
  25: rayon_core::registry::in_worker
  26: rayon::iter::plumbing::bridge_producer_consumer::helper
  27: <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
  28: rayon_core::registry::WorkerThread::wait_until_cold
  29: rayon_core::registry::ThreadBuilder::run
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Problematic file - http___www8_agame_com_mirror_flash_c_cooking_academy_swf.swf.zip

Test project(only VideoHash::from_path(path); from this library was used) - ffmpe.zip

Farmadupe commented 9 months ago

I think I have a fix for this issue and will confirm after running some regression tests. I am willing to make a release to crates.io in the future if that would be helpful for Czkawka.