zonetecde / QuranCaption-2

Software that makes it easy to generate videos of Quran recitation with subtitles in any language !
https://qurancaption.com
Other
5 stars 1 forks source link

Support for Linux? #1

Closed rehandaphedar closed 1 month ago

rehandaphedar commented 1 month ago

Hi, Is there a plan to support Linux? It's using Tauri so I think it shouldn't be that difficult.

rehandaphedar commented 1 month ago

When I run pnpm i followed by pnpm tauri dev, I get this error:

error: failed to run custom build command for `app v0.2.0 (/home/rehandaphedar/Downloads/QuranCaption-2/src-tauri)`

Caused by:
  process didn't exit successfully: `/home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/target/debug/build/app-aa24d0e372d57322/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=TAURI_CONFIG
  cargo:rerun-if-changed=tauri.conf.json
  cargo:rustc-cfg=desktop
  cargo:rustc-cfg=dev
  path matching ffprobe.exe not found.
warning: build failed, waiting for other jobs to finish...
 ELIFECYCLE  Command failed with exit code 101.

I have ffprobe installed and in PATH though. I'm not that familiar with Tauri but it seems to me that there's some logic that detects the operating system and then sets the name/path of the ffprobe executable. That logic doesn't seem to include Linux and is falling back to Windows i.e. ffprobe.exe.

zonetecde commented 1 month ago

as salam alaykum, you need to download ffprobe.exe and put it into the src-tauri folder The file was too big for GitHub so I couldn't put it in the repo

rehandaphedar commented 1 month ago

وَ عَلَيْكُمَ اَلسَّلَامْ وَ رَحْمَةُ أللهِ وَ بَرَكَاتُه

On adding ffprobe.exe, the app starts up. However, if I go to Assets -> Import From YouTube, enter a link, set a download directory, and click "Import", the app freezes, then exits with a panic.

Failed to execute process: No such file or directory (os error 2)
thread 'main' panicked at src/main.rs:34:6:

I'm not sure which file or directory the error is referring to.

This is the full log:

❯ pnpm tauri dev --verbose

> qurancaption-2@0.0.1 tauri /home/rehandaphedar/Downloads/QuranCaption-2
> tauri "dev" "--verbose"

       Debug [globset] built glob set; 0 literals, 2 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
       Debug [globset] glob converted to regex: Glob { glob: "**/.env.*", re: "(?-u)^(?:/?|.*/)\\.env\\.[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('.'), Literal('e'), Literal('n'), Literal('v'), Literal('.'), ZeroOrMore]) }
       Debug [globset] glob converted to regex: Glob { glob: "**/vite.config.js.timestamp-*", re: "(?-u)^(?:/?|.*/)vite\\.config\\.js\\.timestamp\\-[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('v'), Literal('i'), Literal('t'), Literal('e'), Literal('.'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('i'), Literal('g'), Literal('.'), Literal('j'), Literal('s'), Literal('.'), Literal('t'), Literal('i'), Literal('m'), Literal('e'), Literal('s'), Literal('t'), Literal('a'), Literal('m'), Literal('p'), Literal('-'), ZeroOrMore]) }
       Debug [globset] glob converted to regex: Glob { glob: "**/vite.config.ts.timestamp-*", re: "(?-u)^(?:/?|.*/)vite\\.config\\.ts\\.timestamp\\-[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('v'), Literal('i'), Literal('t'), Literal('e'), Literal('.'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('i'), Literal('g'), Literal('.'), Literal('t'), Literal('s'), Literal('.'), Literal('t'), Literal('i'), Literal('m'), Literal('e'), Literal('s'), Literal('t'), Literal('a'), Literal('m'), Literal('p'), Literal('-'), ZeroOrMore]) }
       Debug [globset] built glob set; 4 literals, 7 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 3 regexes
       Debug [globset] built glob set; 1 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/ffprobe.exe: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/rehandaphedar/Downloads/QuranCaption-2/.gitignore"), original: "ffprobe.exe", actual: "**/ffprobe.exe", is_whitelist: false, is_only_dir: false })))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/.gitignore: Ignore(IgnoreMatch(Hidden))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/target: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/.gitignore"), original: "/target/", actual: "target", is_whitelist: false, is_only_dir: true })))
     Running [tauri_cli::dev] BeforeDevCommand (`npm run dev`)

> qurancaption-2@0.0.1 dev
> vite dev

10:47:08 am [vite-plugin-svelte] WARNING: The following packages have a svelte field in their package.json but no exports condition for svelte.

svelte-contextmenu@1.0.2

Please see https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#missing-exports-condition for details.

  VITE v5.4.3  ready in 850 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
       Debug [globset] built glob set; 0 literals, 1 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
       Debug [globset] glob converted to regex: Glob { glob: "**/.env.*", re: "(?-u)^(?:/?|.*/)\\.env\\.[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('.'), Literal('e'), Literal('n'), Literal('v'), Literal('.'), ZeroOrMore]) }
       Debug [globset] glob converted to regex: Glob { glob: "**/vite.config.js.timestamp-*", re: "(?-u)^(?:/?|.*/)vite\\.config\\.js\\.timestamp\\-[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('v'), Literal('i'), Literal('t'), Literal('e'), Literal('.'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('i'), Literal('g'), Literal('.'), Literal('j'), Literal('s'), Literal('.'), Literal('t'), Literal('i'), Literal('m'), Literal('e'), Literal('s'), Literal('t'), Literal('a'), Literal('m'), Literal('p'), Literal('-'), ZeroOrMore]) }
       Debug [globset] glob converted to regex: Glob { glob: "**/vite.config.ts.timestamp-*", re: "(?-u)^(?:/?|.*/)vite\\.config\\.ts\\.timestamp\\-[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('v'), Literal('i'), Literal('t'), Literal('e'), Literal('.'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('i'), Literal('g'), Literal('.'), Literal('t'), Literal('s'), Literal('.'), Literal('t'), Literal('i'), Literal('m'), Literal('e'), Literal('s'), Literal('t'), Literal('a'), Literal('m'), Literal('p'), Literal('-'), ZeroOrMore]) }
       Debug [globset] built glob set; 4 literals, 7 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 3 regexes
       Debug [globset] built glob set; 1 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/ffprobe.exe: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square44x44Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/icon.icns: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/128x128.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/StoreLogo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/icon.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/128x128@2x.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square142x142Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square89x89Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square284x284Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/icon.ico: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square150x150Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square30x30Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/32x32.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square107x107Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/icon2.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square310x310Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square71x71Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/Cargo.toml: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/black-vid.mp4: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/.gitignore: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/target: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/.gitignore"), original: "/target/", actual: "target", is_whitelist: false, is_only_dir: true })))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/yt-dlp.exe: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/src/main.rs: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/tauri.conf.json: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/build.rs: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/Cargo.lock: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
        Info [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri for changes...
       Debug [globset] built glob set; 0 literals, 3 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
       Debug [globset] glob converted to regex: Glob { glob: "**/.env.*", re: "(?-u)^(?:/?|.*/)\\.env\\.[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('.'), Literal('e'), Literal('n'), Literal('v'), Literal('.'), ZeroOrMore]) }
       Debug [globset] glob converted to regex: Glob { glob: "**/vite.config.js.timestamp-*", re: "(?-u)^(?:/?|.*/)vite\\.config\\.js\\.timestamp\\-[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('v'), Literal('i'), Literal('t'), Literal('e'), Literal('.'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('i'), Literal('g'), Literal('.'), Literal('j'), Literal('s'), Literal('.'), Literal('t'), Literal('i'), Literal('m'), Literal('e'), Literal('s'), Literal('t'), Literal('a'), Literal('m'), Literal('p'), Literal('-'), ZeroOrMore]) }
       Debug [globset] glob converted to regex: Glob { glob: "**/vite.config.ts.timestamp-*", re: "(?-u)^(?:/?|.*/)vite\\.config\\.ts\\.timestamp\\-[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('v'), Literal('i'), Literal('t'), Literal('e'), Literal('.'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('i'), Literal('g'), Literal('.'), Literal('t'), Literal('s'), Literal('.'), Literal('t'), Literal('i'), Literal('m'), Literal('e'), Literal('s'), Literal('t'), Literal('a'), Literal('m'), Literal('p'), Literal('-'), ZeroOrMore]) }
       Debug [globset] built glob set; 4 literals, 7 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 3 regexes
       Debug [globset] built glob set; 1 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/ffprobe.exe: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/rehandaphedar/Downloads/QuranCaption-2/.gitignore"), original: "ffprobe.exe", actual: "**/ffprobe.exe", is_whitelist: false, is_only_dir: false })))
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons for changes...
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/Cargo.toml for changes...
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/black-vid.mp4 for changes...
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/.gitignore: Ignore(IgnoreMatch(Hidden))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/target: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/.gitignore"), original: "/target/", actual: "target", is_whitelist: false, is_only_dir: true })))
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/yt-dlp.exe for changes...
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/src for changes...
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/tauri.conf.json for changes...
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/build.rs for changes...
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/Cargo.lock: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/tmp/.tauri-dev/.gitignore"), original: "Cargo.lock", actual: "**/Cargo.lock", is_whitelist: false, is_only_dir: false })))
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.18s

** (quran-caption:13167): WARNING **: 10:47:09.910: webkit_settings_set_enable_offline_web_application_cache is deprecated and does nothing.
(node:13119) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:13119) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.

** (WebKitWebProcess:13204): WARNING **: 10:47:16.551: The GStreamer FDK AAC plugin is missing, AAC playback is unlikely to work.
Failed to execute process: No such file or directory (os error 2)
thread 'main' panicked at src/main.rs:34:6:
failed to execute process: Os { code: 2, kind: NotFound, message: "No such file or directory" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at library/core/src/panicking.rs:221:5:
panic in a function that cannot unwind
stack backtrace:
   0:     0x6139f804bb95 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h205b128e2580a7be
   1:     0x6139f8073d9b - core::fmt::write::h0614036acfbe5ed8
   2:     0x6139f80492af - std::io::Write::write_fmt::hdf3eb0d465b47f17
   3:     0x6139f804cce1 - std::panicking::default_hook::{{closure}}::h1b234e75fabd900a
   4:     0x6139f804c9bc - std::panicking::default_hook::h521c1442e0e600ac
   5:     0x6139f804d341 - std::panicking::rust_panic_with_hook::h6c354430fe6e44b9
   6:     0x6139f804d173 - std::panicking::begin_panic_handler::{{closure}}::h791e1603b88bc93e
   7:     0x6139f804c059 - std::sys::backtrace::__rust_end_short_backtrace::h579f14834074f8ca
   8:     0x6139f804ce34 - rust_begin_unwind
   9:     0x6139f769d675 - core::panicking::panic_nounwind_fmt::h77f3897d3f0606b5
  10:     0x6139f769d702 - core::panicking::panic_nounwind::hdb82f03229d5cde8
  11:     0x6139f769d926 - core::panicking::panic_cannot_unwind::h2b581e124d81ed70
  12:     0x6139f7a2cb67 - <O as webkit2gtk::auto::user_content_manager::UserContentManagerExt>::connect_script_message_received::script_message_received_trampoline::h2b2709ad2e617e3c
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/webkit2gtk-0.18.2/src/auto/user_content_manager.rs:290:5
  13:     0x719bf0cdb69a - g_closure_invoke
  14:     0x719bf0d0c2a5 - <unknown>
  15:     0x719bf0cfca0c - <unknown>
  16:     0x719bf0cfcc72 - g_signal_emit_valist
  17:     0x719bf0cfcd34 - g_signal_emit
  18:     0x719bea4f56c1 - <unknown>
  19:     0x719bea5ac98d - <unknown>
  20:     0x719be9f39e22 - <unknown>
  21:     0x719be9f39208 - <unknown>
  22:     0x719bea2cb2cd - <unknown>
  23:     0x719bea39a8b7 - <unknown>
  24:     0x719bea2c2aa5 - <unknown>
  25:     0x719bea2c3ef4 - <unknown>
  26:     0x719bf07bc09e - <unknown>
  27:     0x719bf083966a - <unknown>
  28:     0x719bf083a15c - <unknown>
  29:     0x719beed0e299 - <unknown>
  30:     0x719beed70ec7 - <unknown>
  31:     0x719beed0d795 - g_main_context_iteration
  32:     0x719bf13e4fef - gtk_main_iteration_do
  33:     0x6139f7b9dba2 - gtk::auto::functions::main_iteration_do::he62198b84cdda5a1
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gtk-0.15.5/src/auto/functions.rs:405:24
  34:     0x6139f77b215e - tao::platform_impl::platform::event_loop::EventLoop<T>::run_return::{{closure}}::hc3ad9215c1bbe548
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.16.7/src/platform_impl/linux/event_loop.rs:1060:11
  35:     0x6139f77a4717 - glib::main_context::<impl glib::auto::main_context::MainContext>::with_thread_default::h32a622f937bad8e2
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/glib-0.15.12/src/main_context.rs:156:12
  36:     0x6139f77b1b8e - tao::platform_impl::platform::event_loop::EventLoop<T>::run_return::h8452b55083a4c94d
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.16.7/src/platform_impl/linux/event_loop.rs:958:5
  37:     0x6139f77b2f0d - tao::platform_impl::platform::event_loop::EventLoop<T>::run::h23de89821764554c
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.16.7/src/platform_impl/linux/event_loop.rs:912:21
  38:     0x6139f7856d29 - tao::event_loop::EventLoop<T>::run::hc56456bcbdc1dc69
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.16.7/src/event_loop.rs:179:5
  39:     0x6139f76bc7cb - <tauri_runtime_wry::Wry<T> as tauri_runtime::Runtime<T>>::run::hd2d89bc7b990499a
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-runtime-wry-0.14.5/src/lib.rs:2302:5
  40:     0x6139f786ac0d - tauri::app::App<R>::run::hca50cd1d290bf383
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-1.6.1/src/app.rs:868:5
  41:     0x6139f786af7a - tauri::app::Builder<R>::run::h7254faeefc6cc7cb
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-1.6.1/src/app.rs:1722:5
  42:     0x6139f76c991e - app::main::h9922d2590704cb43
                               at /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/src/main.rs:9:3
  43:     0x6139f772e9eb - core::ops::function::FnOnce::call_once::hf6a783e42e57bc5d
                               at /usr/src/debug/rust/rustc-1.81.0-src/library/core/src/ops/function.rs:250:5
  44:     0x6139f7856e4e - std::sys::backtrace::__rust_begin_short_backtrace::hdd6c71c59e1ea5c4
                               at /usr/src/debug/rust/rustc-1.81.0-src/library/std/src/sys/backtrace.rs:152:18
  45:     0x6139f775d711 - std::rt::lang_start::{{closure}}::h4538e07e9e015721
                               at /usr/src/debug/rust/rustc-1.81.0-src/library/std/src/rt.rs:162:18
  46:     0x6139f8042ea0 - std::rt::lang_start_internal::h76cd5627ba95c77c
  47:     0x6139f775d6ea - std::rt::lang_start::ha53629bc0b813533
                               at /usr/src/debug/rust/rustc-1.81.0-src/library/std/src/rt.rs:161:17
  48:     0x6139f76ca79e - main
  49:     0x719be9945e08 - <unknown>
  50:     0x719be9945ecc - __libc_start_main
  51:     0x6139f769e215 - _start
  52:                0x0 - <unknown>
thread caused non-unwinding panic. aborting.
rehandaphedar commented 1 month ago

So I see that the function from 23-34 calls ./ffprobe:

fn get_video_duration(path: String) -> Result<i32, String> {
  // get video duration
  let output = Command::new("./ffprobe")
    .arg("-v")
    .arg("error")
    .arg("-show_entries")
    .arg("format=duration")
    .arg("-of")
    .arg("default=noprint_wrappers=1:nokey=1")
    .arg(&path)
    .output()
    .expect("failed to execute process");

I downloaded ffprobe from ffbinaries and put it in src-tauri.

After that, on repeating the same steps as before, the app panics at line 39:

Failed to execute process: No such file or directory (os error 2)
thread 'main' panicked at src/main.rs:39:49:
called `Result::unwrap()` on an `Err` value: ParseFloatError { kind: Empty }

It looks like the function at line 34 returns either an error or an invalid float (causing the .parse::<f64>() to return an error), however, I was unable to print it using println! (Maybe a Tauri specific thing?)

The full log:

❯ RUST_BACKTRACE=1 pnpm tauri dev --verbose 

> qurancaption-2@0.0.1 tauri /home/rehandaphedar/Downloads/QuranCaption-2
> tauri "dev" "--verbose"

       Debug [globset] built glob set; 0 literals, 2 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
       Debug [globset] glob converted to regex: Glob { glob: "**/.env.*", re: "(?-u)^(?:/?|.*/)\\.env\\.[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('.'), Literal('e'), Literal('n'), Literal('v'), Literal('.'), ZeroOrMore]) }
       Debug [globset] glob converted to regex: Glob { glob: "**/vite.config.js.timestamp-*", re: "(?-u)^(?:/?|.*/)vite\\.config\\.js\\.timestamp\\-[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('v'), Literal('i'), Literal('t'), Literal('e'), Literal('.'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('i'), Literal('g'), Literal('.'), Literal('j'), Literal('s'), Literal('.'), Literal('t'), Literal('i'), Literal('m'), Literal('e'), Literal('s'), Literal('t'), Literal('a'), Literal('m'), Literal('p'), Literal('-'), ZeroOrMore]) }
       Debug [globset] glob converted to regex: Glob { glob: "**/vite.config.ts.timestamp-*", re: "(?-u)^(?:/?|.*/)vite\\.config\\.ts\\.timestamp\\-[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('v'), Literal('i'), Literal('t'), Literal('e'), Literal('.'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('i'), Literal('g'), Literal('.'), Literal('t'), Literal('s'), Literal('.'), Literal('t'), Literal('i'), Literal('m'), Literal('e'), Literal('s'), Literal('t'), Literal('a'), Literal('m'), Literal('p'), Literal('-'), ZeroOrMore]) }
       Debug [globset] built glob set; 4 literals, 7 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 3 regexes
       Debug [globset] built glob set; 1 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/ffprobe.exe: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/rehandaphedar/Downloads/QuranCaption-2/.gitignore"), original: "ffprobe.exe", actual: "**/ffprobe.exe", is_whitelist: false, is_only_dir: false })))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/.gitignore: Ignore(IgnoreMatch(Hidden))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/target: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/.gitignore"), original: "/target/", actual: "target", is_whitelist: false, is_only_dir: true })))
     Running [tauri_cli::dev] BeforeDevCommand (`npm run dev`)

> qurancaption-2@0.0.1 dev
> vite dev

11:01:22 am [vite-plugin-svelte] WARNING: The following packages have a svelte field in their package.json but no exports condition for svelte.

svelte-contextmenu@1.0.2

Please see https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#missing-exports-condition for details.

  VITE v5.4.3  ready in 982 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: use --host to expose
       Debug [globset] built glob set; 0 literals, 1 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
       Debug [globset] glob converted to regex: Glob { glob: "**/.env.*", re: "(?-u)^(?:/?|.*/)\\.env\\.[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('.'), Literal('e'), Literal('n'), Literal('v'), Literal('.'), ZeroOrMore]) }
       Debug [globset] glob converted to regex: Glob { glob: "**/vite.config.js.timestamp-*", re: "(?-u)^(?:/?|.*/)vite\\.config\\.js\\.timestamp\\-[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('v'), Literal('i'), Literal('t'), Literal('e'), Literal('.'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('i'), Literal('g'), Literal('.'), Literal('j'), Literal('s'), Literal('.'), Literal('t'), Literal('i'), Literal('m'), Literal('e'), Literal('s'), Literal('t'), Literal('a'), Literal('m'), Literal('p'), Literal('-'), ZeroOrMore]) }
       Debug [globset] glob converted to regex: Glob { glob: "**/vite.config.ts.timestamp-*", re: "(?-u)^(?:/?|.*/)vite\\.config\\.ts\\.timestamp\\-[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('v'), Literal('i'), Literal('t'), Literal('e'), Literal('.'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('i'), Literal('g'), Literal('.'), Literal('t'), Literal('s'), Literal('.'), Literal('t'), Literal('i'), Literal('m'), Literal('e'), Literal('s'), Literal('t'), Literal('a'), Literal('m'), Literal('p'), Literal('-'), ZeroOrMore]) }
       Debug [globset] built glob set; 4 literals, 7 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 3 regexes
       Debug [globset] built glob set; 1 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/ffprobe.exe: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square44x44Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/icon.icns: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/128x128.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/StoreLogo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/icon.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/128x128@2x.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square142x142Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square89x89Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square284x284Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/icon.ico: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square150x150Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square30x30Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/32x32.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square107x107Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/icon2.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square310x310Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons/Square71x71Logo.png: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/Cargo.toml: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/black-vid.mp4: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/.gitignore: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/ffprobe: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/target: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/.gitignore"), original: "/target/", actual: "target", is_whitelist: false, is_only_dir: true })))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/yt-dlp.exe: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/src/main.rs: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/tauri.conf.json: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/build.rs: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/Cargo.lock: Ignore(IgnoreMatch(Override(Glob(UnmatchedIgnore))))
        Info [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri for changes...
       Debug [globset] built glob set; 0 literals, 3 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
       Debug [globset] glob converted to regex: Glob { glob: "**/.env.*", re: "(?-u)^(?:/?|.*/)\\.env\\.[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('.'), Literal('e'), Literal('n'), Literal('v'), Literal('.'), ZeroOrMore]) }
       Debug [globset] glob converted to regex: Glob { glob: "**/vite.config.js.timestamp-*", re: "(?-u)^(?:/?|.*/)vite\\.config\\.js\\.timestamp\\-[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('v'), Literal('i'), Literal('t'), Literal('e'), Literal('.'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('i'), Literal('g'), Literal('.'), Literal('j'), Literal('s'), Literal('.'), Literal('t'), Literal('i'), Literal('m'), Literal('e'), Literal('s'), Literal('t'), Literal('a'), Literal('m'), Literal('p'), Literal('-'), ZeroOrMore]) }
       Debug [globset] glob converted to regex: Glob { glob: "**/vite.config.ts.timestamp-*", re: "(?-u)^(?:/?|.*/)vite\\.config\\.ts\\.timestamp\\-[^/]*$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true, empty_alternates: false }, tokens: Tokens([RecursivePrefix, Literal('v'), Literal('i'), Literal('t'), Literal('e'), Literal('.'), Literal('c'), Literal('o'), Literal('n'), Literal('f'), Literal('i'), Literal('g'), Literal('.'), Literal('t'), Literal('s'), Literal('.'), Literal('t'), Literal('i'), Literal('m'), Literal('e'), Literal('s'), Literal('t'), Literal('a'), Literal('m'), Literal('p'), Literal('-'), ZeroOrMore]) }
       Debug [globset] built glob set; 4 literals, 7 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 3 regexes
       Debug [globset] built glob set; 1 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes, 0 required extensions, 0 regexes
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/ffprobe.exe: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/rehandaphedar/Downloads/QuranCaption-2/.gitignore"), original: "ffprobe.exe", actual: "**/ffprobe.exe", is_whitelist: false, is_only_dir: false })))
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/icons for changes...
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/Cargo.toml for changes...
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/black-vid.mp4 for changes...
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/.gitignore: Ignore(IgnoreMatch(Hidden))
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/ffprobe for changes...
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/target: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/.gitignore"), original: "/target/", actual: "target", is_whitelist: false, is_only_dir: true })))
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/yt-dlp.exe for changes...
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/src for changes...
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/tauri.conf.json for changes...
       Debug [tauri_cli::interface::rust] Watching /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/build.rs for changes...
       Debug [ignore::walk] ignoring /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/Cargo.lock: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("/tmp/.tauri-dev/.gitignore"), original: "Cargo.lock", actual: "**/Cargo.lock", is_whitelist: false, is_only_dir: false })))
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.19s

** (quran-caption:26112): WARNING **: 11:01:23.968: webkit_settings_set_enable_offline_web_application_cache is deprecated and does nothing.
(node:26028) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
(node:26028) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.

** (WebKitWebProcess:26138): WARNING **: 11:01:32.164: The GStreamer FDK AAC plugin is missing, AAC playback is unlikely to work.
Failed to execute process: No such file or directory (os error 2)
thread 'main' panicked at src/main.rs:39:49:
called `Result::unwrap()` on an `Err` value: ParseFloatError { kind: Empty }
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::result::unwrap_failed
   3: core::result::Result<T,E>::unwrap
             at /usr/src/debug/rust/rustc-1.81.0-src/library/core/src/result.rs:1102:23
   4: app::get_video_duration
             at ./src/main.rs:39:18
   5: app::main::{{closure}}
             at ./src/main.rs:22:1
   6: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /usr/src/debug/rust/rustc-1.81.0-src/library/alloc/src/boxed.rs:2084:9
   7: tauri::manager::WindowManager<R>::run_invoke_handler
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-1.6.1/src/manager.rs:942:5
   8: tauri::window::Window<R>::on_message
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-1.6.1/src/window.rs:1622:11
   9: tauri::manager::WindowManager<R>::prepare_ipc_handler::{{closure}}
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-1.6.1/src/manager.rs:624:19
  10: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /usr/src/debug/rust/rustc-1.81.0-src/library/alloc/src/boxed.rs:2084:9
  11: tauri_runtime_wry::create_ipc_handler::{{closure}}
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-runtime-wry-0.14.5/src/lib.rs:3409:5
  12: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /usr/src/debug/rust/rustc-1.81.0-src/library/alloc/src/boxed.rs:2084:9
  13: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /usr/src/debug/rust/rustc-1.81.0-src/library/alloc/src/boxed.rs:2084:9
  14: wry::webview::webkitgtk::InnerWebView::new::{{closure}}
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wry-0.24.7/src/webview/webkitgtk/mod.rs:97:11
  15: <O as webkit2gtk::auto::user_content_manager::UserContentManagerExt>::connect_script_message_received::script_message_received_trampoline
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/webkit2gtk-0.18.2/src/auto/user_content_manager.rs:299:7
  16: g_closure_invoke
  17: <unknown>
  18: <unknown>
  19: g_signal_emit_valist
  20: g_signal_emit
  21: <unknown>
  22: <unknown>
  23: <unknown>
  24: <unknown>
  25: <unknown>
  26: <unknown>
  27: <unknown>
  28: <unknown>
  29: <unknown>
  30: <unknown>
  31: <unknown>
  32: <unknown>
  33: <unknown>
  34: g_main_context_iteration
  35: gtk_main_iteration_do
  36: gtk::auto::functions::main_iteration_do
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gtk-0.15.5/src/auto/functions.rs:405:24
  37: tao::platform_impl::platform::event_loop::EventLoop<T>::run_return::{{closure}}
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.16.7/src/platform_impl/linux/event_loop.rs:1060:11
  38: glib::main_context::<impl glib::auto::main_context::MainContext>::with_thread_default
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/glib-0.15.12/src/main_context.rs:156:12
  39: tao::platform_impl::platform::event_loop::EventLoop<T>::run_return
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.16.7/src/platform_impl/linux/event_loop.rs:958:5
  40: tao::platform_impl::platform::event_loop::EventLoop<T>::run
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.16.7/src/platform_impl/linux/event_loop.rs:912:21
  41: tao::event_loop::EventLoop<T>::run
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.16.7/src/event_loop.rs:179:5
  42: <tauri_runtime_wry::Wry<T> as tauri_runtime::Runtime<T>>::run
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-runtime-wry-0.14.5/src/lib.rs:2302:5
  43: tauri::app::App<R>::run
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-1.6.1/src/app.rs:868:5
  44: tauri::app::Builder<R>::run
             at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-1.6.1/src/app.rs:1722:5
  45: app::main
             at ./src/main.rs:9:3
  46: core::ops::function::FnOnce::call_once
             at /usr/src/debug/rust/rustc-1.81.0-src/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread 'main' panicked at library/core/src/panicking.rs:221:5:
panic in a function that cannot unwind
stack backtrace:
   0:     0x5e32e3113b95 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h205b128e2580a7be
   1:     0x5e32e313bd9b - core::fmt::write::h0614036acfbe5ed8
   2:     0x5e32e31112af - std::io::Write::write_fmt::hdf3eb0d465b47f17
   3:     0x5e32e3114ce1 - std::panicking::default_hook::{{closure}}::h1b234e75fabd900a
   4:     0x5e32e31149bc - std::panicking::default_hook::h521c1442e0e600ac
   5:     0x5e32e3115341 - std::panicking::rust_panic_with_hook::h6c354430fe6e44b9
   6:     0x5e32e3115173 - std::panicking::begin_panic_handler::{{closure}}::h791e1603b88bc93e
   7:     0x5e32e3114059 - std::sys::backtrace::__rust_end_short_backtrace::h579f14834074f8ca
   8:     0x5e32e3114e34 - rust_begin_unwind
   9:     0x5e32e2765675 - core::panicking::panic_nounwind_fmt::h77f3897d3f0606b5
  10:     0x5e32e2765702 - core::panicking::panic_nounwind::hdb82f03229d5cde8
  11:     0x5e32e2765926 - core::panicking::panic_cannot_unwind::h2b581e124d81ed70
  12:     0x5e32e2af4b67 - <O as webkit2gtk::auto::user_content_manager::UserContentManagerExt>::connect_script_message_received::script_message_received_trampoline::h2b2709ad2e617e3c
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/webkit2gtk-0.18.2/src/auto/user_content_manager.rs:290:5
  13:     0x75b18146369a - g_closure_invoke
  14:     0x75b1814942a5 - <unknown>
  15:     0x75b181484a0c - <unknown>
  16:     0x75b181484c72 - g_signal_emit_valist
  17:     0x75b181484d34 - g_signal_emit
  18:     0x75b17ccf56c1 - <unknown>
  19:     0x75b17cdac98d - <unknown>
  20:     0x75b17c739e22 - <unknown>
  21:     0x75b17c739208 - <unknown>
  22:     0x75b17cacb2cd - <unknown>
  23:     0x75b17cb9a8b7 - <unknown>
  24:     0x75b17cac2aa5 - <unknown>
  25:     0x75b17cac3ef4 - <unknown>
  26:     0x75b182fbc09e - <unknown>
  27:     0x75b18303966a - <unknown>
  28:     0x75b18303a15c - <unknown>
  29:     0x75b18150e299 - <unknown>
  30:     0x75b181570ec7 - <unknown>
  31:     0x75b18150d795 - g_main_context_iteration
  32:     0x75b183be4fef - gtk_main_iteration_do
  33:     0x5e32e2c65ba2 - gtk::auto::functions::main_iteration_do::he62198b84cdda5a1
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gtk-0.15.5/src/auto/functions.rs:405:24
  34:     0x5e32e287a15e - tao::platform_impl::platform::event_loop::EventLoop<T>::run_return::{{closure}}::hc3ad9215c1bbe548
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.16.7/src/platform_impl/linux/event_loop.rs:1060:11
  35:     0x5e32e286c717 - glib::main_context::<impl glib::auto::main_context::MainContext>::with_thread_default::h32a622f937bad8e2
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/glib-0.15.12/src/main_context.rs:156:12
  36:     0x5e32e2879b8e - tao::platform_impl::platform::event_loop::EventLoop<T>::run_return::h8452b55083a4c94d
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.16.7/src/platform_impl/linux/event_loop.rs:958:5
  37:     0x5e32e287af0d - tao::platform_impl::platform::event_loop::EventLoop<T>::run::h23de89821764554c
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.16.7/src/platform_impl/linux/event_loop.rs:912:21
  38:     0x5e32e291ed29 - tao::event_loop::EventLoop<T>::run::hc56456bcbdc1dc69
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.16.7/src/event_loop.rs:179:5
  39:     0x5e32e27847cb - <tauri_runtime_wry::Wry<T> as tauri_runtime::Runtime<T>>::run::hd2d89bc7b990499a
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-runtime-wry-0.14.5/src/lib.rs:2302:5
  40:     0x5e32e2932c0d - tauri::app::App<R>::run::hca50cd1d290bf383
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-1.6.1/src/app.rs:868:5
  41:     0x5e32e2932f7a - tauri::app::Builder<R>::run::h7254faeefc6cc7cb
                               at /home/rehandaphedar/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-1.6.1/src/app.rs:1722:5
  42:     0x5e32e279191e - app::main::h9922d2590704cb43
                               at /home/rehandaphedar/Downloads/QuranCaption-2/src-tauri/src/main.rs:9:3
  43:     0x5e32e27f69eb - core::ops::function::FnOnce::call_once::hf6a783e42e57bc5d
                               at /usr/src/debug/rust/rustc-1.81.0-src/library/core/src/ops/function.rs:250:5
  44:     0x5e32e291ee4e - std::sys::backtrace::__rust_begin_short_backtrace::hdd6c71c59e1ea5c4
                               at /usr/src/debug/rust/rustc-1.81.0-src/library/std/src/sys/backtrace.rs:152:18
  45:     0x5e32e2825711 - std::rt::lang_start::{{closure}}::h4538e07e9e015721
                               at /usr/src/debug/rust/rustc-1.81.0-src/library/std/src/rt.rs:162:18
  46:     0x5e32e310aea0 - std::rt::lang_start_internal::h76cd5627ba95c77c
  47:     0x5e32e28256ea - std::rt::lang_start::ha53629bc0b813533
                               at /usr/src/debug/rust/rustc-1.81.0-src/library/std/src/rt.rs:161:17
  48:     0x5e32e279279e - main
  49:     0x75b17c07be08 - <unknown>
  50:     0x75b17c07becc - __libc_start_main
  51:     0x5e32e2766215 - _start
  52:                0x0 - <unknown>
thread caused non-unwinding panic. aborting.
zonetecde commented 1 month ago

Thank you for reporting this bug.

Please use an external youtube converter and import the audio or video file into Quran Caption using the traditional import button while I investigate the problem.

zonetecde commented 1 month ago

Fixed in the latest version.

v1.8