qarmin / czkawka

Multi functional app to find duplicates, empty folders, similar images etc.
Other
20.34k stars 663 forks source link

duplicate search stuck, 'internal error: entered unreachable code' shows in terminal #1301

Closed seabadger closed 1 month ago

seabadger commented 5 months ago

Bug Description I ran into this while trying to find duplicates between two directory trees, each containing a large photo collection. In the GUI, things appear normal for a while, until at some point (presumably near the end of the process), all progress stops. Tried it a few times in a row, with similar results. In the latest occurrence, the GUI progress bar shows 100% for 'Current stage', 'All stages' shows 67%, and the last line says 'Hashing 49666/49677 images'. (previous occurrences were pretty similar).

Steps to reproduce:

Terminal output (optional): The full terminal output is below, with some GTK messages that get printed early in the execution, and then the actual error and stack trace toward the end (this happens much later).

13:13:05.936 [INFO] czkawka_core::common: App version: 7.0.0, release mode, rust 1.76.0 (2024-02-04), os Mac OS 14.5.0 [x86_64 64-bit], 12 cpu/threads
13:13:06.159 [INFO] czkawka_gui: Set thread number to 12

(czkawka_gui:27458): Gdk-CRITICAL **: 13:13:12.075: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gdk-CRITICAL **: 13:15:30.333: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gdk-CRITICAL **: 13:15:32.715: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gdk-CRITICAL **: 13:15:38.604: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gdk-CRITICAL **: 13:18:51.006: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gdk-CRITICAL **: 13:19:31.053: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gdk-CRITICAL **: 13:19:32.698: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gdk-CRITICAL **: 13:19:49.966: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f8851797800(GtkCellView)

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f8851795cd0(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f8851795b50(GtkToggleButton)

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f88517959a0(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f8851795820(GtkComboBoxText)

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f8851795430(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f88517952b0(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f8851794f50(GtkPaned)

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f8851784620(GtkStack)

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f8851784030(GtkNotebook)

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f88517760c0(GtkPaned)

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f8852016d20(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:19:49.980: Broken accounting of active state for widget 0x7f8841736720(GtkWindow)

(czkawka_gui:27458): Gdk-CRITICAL **: 13:19:53.843: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gtk-WARNING **: 13:20:02.686: Broken accounting of active state for widget 0x7f8851797800(GtkCellView)

(czkawka_gui:27458): Gtk-WARNING **: 13:20:02.686: Broken accounting of active state for widget 0x7f8851795cd0(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:20:02.686: Broken accounting of active state for widget 0x7f8851795b50(GtkToggleButton)

(czkawka_gui:27458): Gtk-WARNING **: 13:20:02.686: Broken accounting of active state for widget 0x7f88517959a0(GtkBox)

(czkawka_gui:27458): Gdk-CRITICAL **: 13:20:05.243: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gtk-WARNING **: 13:20:11.678: Broken accounting of active state for widget 0x7f8851797800(GtkCellView)

(czkawka_gui:27458): Gtk-WARNING **: 13:20:11.678: Broken accounting of active state for widget 0x7f8851795cd0(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:20:11.678: Broken accounting of active state for widget 0x7f8851795b50(GtkToggleButton)

(czkawka_gui:27458): Gtk-WARNING **: 13:20:11.678: Broken accounting of active state for widget 0x7f88517959a0(GtkBox)

(czkawka_gui:27458): Gdk-CRITICAL **: 13:20:14.315: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gtk-WARNING **: 13:20:22.182: Broken accounting of active state for widget 0x7f8851797800(GtkCellView)

(czkawka_gui:27458): Gtk-WARNING **: 13:20:22.182: Broken accounting of active state for widget 0x7f8851795cd0(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:20:22.182: Broken accounting of active state for widget 0x7f8851795b50(GtkToggleButton)

(czkawka_gui:27458): Gtk-WARNING **: 13:20:22.182: Broken accounting of active state for widget 0x7f88517959a0(GtkBox)

(czkawka_gui:27458): Gdk-CRITICAL **: 13:20:26.043: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gtk-WARNING **: 13:21:18.925: Broken accounting of active state for widget 0x7f8851797800(GtkCellView)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:18.925: Broken accounting of active state for widget 0x7f8851795cd0(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:18.925: Broken accounting of active state for widget 0x7f8851795b50(GtkToggleButton)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:18.925: Broken accounting of active state for widget 0x7f88517959a0(GtkBox)

(czkawka_gui:27458): Gdk-CRITICAL **: 13:21:21.541: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gtk-WARNING **: 13:21:21.545: Broken accounting of active state for widget 0x7f885179a2f0(GtkToggleButton)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:21.545: Broken accounting of active state for widget 0x7f885179a140(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:21.545: Broken accounting of active state for widget 0x7f8851799fc0(GtkComboBoxText)

(czkawka_gui:27458): Gdk-CRITICAL **: 13:21:24.611: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gdk-CRITICAL **: 13:21:31.131: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gdk-CRITICAL **: 13:21:52.033: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gdk-CRITICAL **: 13:21:58.614: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f8851798210(GtkBuiltinIcon)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f88517980a0(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f8851797f20(GtkToggleButton)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f8851797d70(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f8851797bf0(GtkComboBoxText)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f8851795430(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f88517952b0(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f8851794f50(GtkPaned)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f8851784620(GtkStack)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f8851784030(GtkNotebook)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f88517760c0(GtkPaned)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f8852016d20(GtkBox)

(czkawka_gui:27458): Gtk-WARNING **: 13:21:58.627: Broken accounting of active state for widget 0x7f8841736720(GtkWindow)

(czkawka_gui:27458): Gdk-CRITICAL **: 13:22:08.324: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed

(czkawka_gui:27458): Gdk-CRITICAL **: 13:22:20.779: _gdk_macos_surface_update_fullscreen_state: assertion 'GDK_IS_MACOS_SURFACE (self)' failed
13:22:21.981 [INFO] czkawka_core::similar_images: find_similar_images

thread '<unnamed>' panicked at czkawka_core/src/similar_images.rs:393:21:
internal error: entered unreachable code
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once
   4: rayon::iter::plumbing::Folder::consume_iter
   5: rayon::iter::plumbing::bridge_producer_consumer::helper
   6: rayon_core::join::join_context::{{closure}}
   7: rayon_core::registry::in_worker
   8: rayon::iter::plumbing::bridge_producer_consumer::helper
   9: rayon_core::join::join_context::{{closure}}
  10: rayon_core::registry::in_worker
  11: rayon::iter::plumbing::bridge_producer_consumer::helper
  12: rayon_core::job::StackJob<L,F,R>::run_inline
  13: rayon_core::join::join_context::{{closure}}
  14: rayon_core::registry::in_worker
  15: rayon::iter::plumbing::bridge_producer_consumer::helper
  16: rayon_core::join::join_context::{{closure}}
  17: rayon_core::registry::in_worker
  18: rayon::iter::plumbing::bridge_producer_consumer::helper
  19: rayon_core::job::StackJob<L,F,R>::run_inline
  20: rayon_core::join::join_context::{{closure}}
  21: rayon_core::registry::in_worker
  22: rayon::iter::plumbing::bridge_producer_consumer::helper
  23: <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
  24: rayon_core::registry::WorkerThread::wait_until_cold
  25: rayon_core::join::join_context::{{closure}}
  26: rayon_core::registry::in_worker
  27: rayon::iter::plumbing::bridge_producer_consumer::helper
  28: rayon_core::job::StackJob<L,F,R>::run_inline
  29: rayon_core::join::join_context::{{closure}}
  30: rayon_core::registry::in_worker
  31: rayon::iter::plumbing::bridge_producer_consumer::helper
  32: <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute
  33: rayon_core::registry::WorkerThread::wait_until_cold
  34: rayon_core::registry::ThreadBuilder::run
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

System

qarmin commented 1 month ago

This is fixed in nightly builds