Waycast crashing occasionally #53

Open
opened 2026-07-09 03:53:49 +00:00 by javif89 · 2 comments
Owner

Logs

Jul 07 17:01:58 desktop waycast[2289178]: 2026-07-07T21:01:58.442596Z  INFO update_icon_cache: waycast::daemon: Warmi>
Jul 07 17:01:58 desktop waycast[2289178]: 2026-07-07T21:01:58.464148Z  INFO update_icon_cache: waycast::daemon: close>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.968704Z  INFO waycast: Launching UI
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984101Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984109Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984163Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984164Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984201Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984202Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984235Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984236Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984268Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984269Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984301Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984303Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986775Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986779Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986819Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986821Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986854Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986855Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986886Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986887Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986918Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986919Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986951Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986953Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986984Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986986Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.987018Z  WARN waycast::ui::app: Could not find handle f>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.987019Z  WARN waycast::ui::app: Attempting to check man>
Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.989393Z  WARN waycast::ui::app: Going with default vsco>
Jul 07 17:02:02 desktop waycast[2289178]: thread '<unnamed>' (2289186) panicked at src/ui/app.rs:409:30:
Jul 07 17:02:02 desktop waycast[2289178]: What the fuck

This happens every so often and it makes the daemon crash. Then systemd starts panicking with

Jul 07 17:02:05 desktop systemd[3926]: waycast-daemon.service: Scheduled restart job, restart counter is at 2.
Jul 07 17:02:05 desktop systemd[3926]: Started Waycast application launcher daemon.
Jul 07 17:02:05 desktop waycast[2545135]: 2026-07-07T21:02:05.162734Z  INFO waycast: Another instance is already runn>
Jul 07 17:02:05 desktop waycast[2545135]: 2026-07-07T21:02:05.162743Z  INFO waycast: Sending show command
Jul 07 17:02:06 desktop systemd[3926]: waycast-daemon.service: Scheduled restart job, restart counter is at 3.
Jul 07 17:02:06 desktop systemd[3926]: Started Waycast application launcher daemon.
Jul 07 17:02:06 desktop waycast[2545160]: 2026-07-07T21:02:06.410914Z  INFO waycast: Another instance is already runn>
Jul 07 17:02:06 desktop waycast[2545160]: 2026-07-07T21:02:06.410925Z  INFO waycast: Sending show command
Jul 07 17:02:07 desktop systemd[3926]: waycast-daemon.service: Scheduled restart job, restart counter is at 4.
Jul 07 17:02:07 desktop systemd[3926]: Started Waycast application launcher daemon.
Jul 07 17:02:07 desktop waycast[2545162]: 2026-07-07T21:02:07.667349Z  INFO waycast: Another instance is already runn>
Jul 07 17:02:07 desktop waycast[2545162]: 2026-07-07T21:02:07.667360Z  INFO waycast: Sending show command
Jul 07 17:02:08 desktop systemd[3926]: waycast-daemon.service: Scheduled restart job, restart counter is at 5.
Jul 07 17:02:08 desktop systemd[3926]: Started Waycast application launcher daemon.
Jul 07 17:02:08 desktop waycast[2545276]: 2026-07-07T21:02:08.907545Z  INFO waycast: Another instance is already runn>
Jul 07 17:02:08 desktop waycast[2545276]: 2026-07-07T21:02:08.907555Z  INFO waycast: Sending show command
Jul 07 17:02:10 desktop systemd[3926]: waycast-daemon.service: Scheduled restart job, restart counter is at 6.
Jul 07 17:02:10 desktop systemd[3926]: Started Waycast application launcher daemon.
Jul 07 17:02:10 desktop waycast[2545278]: 2026-07-07T21:02:10.169349Z  INFO waycast: Another instance is already runn>
Jul 07 17:02:10 desktop waycast[2545278]: 2026-07-07T21:02:10.169360Z  INFO waycast: Sending show command
Jul 07 17:02:11 desktop systemd[3926]: waycast-daemon.service: Scheduled restart job, restart counter is at 7.
Jul 07 17:02:11 desktop systemd[3926]: waycast-daemon.service: Start request repeated too quickly.
Jul 07 17:02:11 desktop systemd[3926]: waycast-daemon.service: Failed with result 'start-limit-hit'.
Jul 07 17:02:11 desktop systemd[3926]: Failed to start Waycast application launcher daemon.
## Logs ``` Jul 07 17:01:58 desktop waycast[2289178]: 2026-07-07T21:01:58.442596Z INFO update_icon_cache: waycast::daemon: Warmi> Jul 07 17:01:58 desktop waycast[2289178]: 2026-07-07T21:01:58.464148Z INFO update_icon_cache: waycast::daemon: close> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.968704Z INFO waycast: Launching UI Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984101Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984109Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984163Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984164Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984201Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984202Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984235Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984236Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984268Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984269Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984301Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.984303Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986775Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986779Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986819Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986821Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986854Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986855Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986886Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986887Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986918Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986919Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986951Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986953Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986984Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.986986Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.987018Z WARN waycast::ui::app: Could not find handle f> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.987019Z WARN waycast::ui::app: Attempting to check man> Jul 07 17:02:02 desktop waycast[2289178]: 2026-07-07T21:02:02.989393Z WARN waycast::ui::app: Going with default vsco> Jul 07 17:02:02 desktop waycast[2289178]: thread '<unnamed>' (2289186) panicked at src/ui/app.rs:409:30: Jul 07 17:02:02 desktop waycast[2289178]: What the fuck ``` This happens every so often and it makes the daemon crash. Then systemd starts panicking with ``` Jul 07 17:02:05 desktop systemd[3926]: waycast-daemon.service: Scheduled restart job, restart counter is at 2. Jul 07 17:02:05 desktop systemd[3926]: Started Waycast application launcher daemon. Jul 07 17:02:05 desktop waycast[2545135]: 2026-07-07T21:02:05.162734Z INFO waycast: Another instance is already runn> Jul 07 17:02:05 desktop waycast[2545135]: 2026-07-07T21:02:05.162743Z INFO waycast: Sending show command Jul 07 17:02:06 desktop systemd[3926]: waycast-daemon.service: Scheduled restart job, restart counter is at 3. Jul 07 17:02:06 desktop systemd[3926]: Started Waycast application launcher daemon. Jul 07 17:02:06 desktop waycast[2545160]: 2026-07-07T21:02:06.410914Z INFO waycast: Another instance is already runn> Jul 07 17:02:06 desktop waycast[2545160]: 2026-07-07T21:02:06.410925Z INFO waycast: Sending show command Jul 07 17:02:07 desktop systemd[3926]: waycast-daemon.service: Scheduled restart job, restart counter is at 4. Jul 07 17:02:07 desktop systemd[3926]: Started Waycast application launcher daemon. Jul 07 17:02:07 desktop waycast[2545162]: 2026-07-07T21:02:07.667349Z INFO waycast: Another instance is already runn> Jul 07 17:02:07 desktop waycast[2545162]: 2026-07-07T21:02:07.667360Z INFO waycast: Sending show command Jul 07 17:02:08 desktop systemd[3926]: waycast-daemon.service: Scheduled restart job, restart counter is at 5. Jul 07 17:02:08 desktop systemd[3926]: Started Waycast application launcher daemon. Jul 07 17:02:08 desktop waycast[2545276]: 2026-07-07T21:02:08.907545Z INFO waycast: Another instance is already runn> Jul 07 17:02:08 desktop waycast[2545276]: 2026-07-07T21:02:08.907555Z INFO waycast: Sending show command Jul 07 17:02:10 desktop systemd[3926]: waycast-daemon.service: Scheduled restart job, restart counter is at 6. Jul 07 17:02:10 desktop systemd[3926]: Started Waycast application launcher daemon. Jul 07 17:02:10 desktop waycast[2545278]: 2026-07-07T21:02:10.169349Z INFO waycast: Another instance is already runn> Jul 07 17:02:10 desktop waycast[2545278]: 2026-07-07T21:02:10.169360Z INFO waycast: Sending show command Jul 07 17:02:11 desktop systemd[3926]: waycast-daemon.service: Scheduled restart job, restart counter is at 7. Jul 07 17:02:11 desktop systemd[3926]: waycast-daemon.service: Start request repeated too quickly. Jul 07 17:02:11 desktop systemd[3926]: waycast-daemon.service: Failed with result 'start-limit-hit'. Jul 07 17:02:11 desktop systemd[3926]: Failed to start Waycast application launcher daemon. ```
javif89 self-assigned this 2026-07-09 03:53:49 +00:00
Author
Owner

That "What the fuck" log comes from src/ui/app.rs

    fn build_result_item(
        &self,
        item: crate::core::LauncherItem,
        is_selected: bool,
    ) -> Element<'_, Message> {
        let icon_handle: IconHandle = self
            .icon_handles
            .get(&item.icon)
            .cloned()
            .or_else(|| {
                warn!("Could not find handle for {}", item.icon);
                warn!("Attempting to check manually");

                if let Some(icon) = WaycastLauncher::resolve_icon(&item.icon) {
                    let path = match icon {
                        crate::core::launcher::Icon::ThemeIcon { name: _, path } => path,
                        crate::core::launcher::Icon::Path(path) => path,
                    };

                    let handle = build_icon_handle(path.into());
                    Some(handle)
                } else {
                    warn!("Going with default vscode icon");

                    Some(
                        self.icon_handles
                            .get("vscode")
                            .cloned()
                            .expect("What the fuck"),
                    )
                }
            })
            .unwrap();

I guess that's what I get for not handling errors lol.

This is probably some condition where the icon handles are not being built properly.

Can fix this and prioritize #11

That "What the fuck" log comes from `src/ui/app.rs` ```rust fn build_result_item( &self, item: crate::core::LauncherItem, is_selected: bool, ) -> Element<'_, Message> { let icon_handle: IconHandle = self .icon_handles .get(&item.icon) .cloned() .or_else(|| { warn!("Could not find handle for {}", item.icon); warn!("Attempting to check manually"); if let Some(icon) = WaycastLauncher::resolve_icon(&item.icon) { let path = match icon { crate::core::launcher::Icon::ThemeIcon { name: _, path } => path, crate::core::launcher::Icon::Path(path) => path, }; let handle = build_icon_handle(path.into()); Some(handle) } else { warn!("Going with default vscode icon"); Some( self.icon_handles .get("vscode") .cloned() .expect("What the fuck"), ) } }) .unwrap(); ``` I guess that's what I get for not handling errors lol. This is probably some condition where the icon handles are not being built properly. Can fix this and prioritize #11
Author
Owner

The UI crashing shouldn't make the daemon crash. We should instead show a notification with a nice error message

The UI crashing shouldn't make the daemon crash. We should instead show a notification with a nice error message
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
waycasthq/waycast#53
No description provided.