Skip to content

[BUG] Cava widget can stall and leave orphaned cava.exe processes after reload #1079

Description

@CloudSwordSage

Windows version

Windows 11

Windows OS build

26100.7462

YASB version installed

2.0.6

Describe the bug

The Cava widget can stop updating correctly after running for a long period of time, typically after roughly two hours or more without continuous audio activity.

When this happens, the widget enters one of two incorrect states:

  • The visualization becomes completely flat/zero even though audio is currently playing.
  • Less commonly, the visualization becomes a fully filled rectangle with no movement even when there is no audible system output.

In both cases, the existing cava.exe process still appears to be running normally in Windows and does not show abnormal CPU or resource usage.

Reloading the Cava widget restores the visualization, but the previous cava.exe process is not terminated. Repeating this process causes additional cava.exe processes to accumulate. I have observed up to 7 processes remaining at the same time, and they appear to persist indefinitely.

The number of leftover processes appears to increase with the number of reloads performed after the widget enters the broken state.

The issue has been reproduced with:

  • YASB 2.0.6
  • Windows 11 24H2
  • Cava 1.0.0 installed separately
  • YASB running as a normal, non-elevated user
  • Cava source set to auto

Steps to Reproduce:

  1. Start YASB with the Cava widget enabled.
  2. Leave YASB running for an extended period, approximately 2 hours or longer.
  3. After a long period without continuous audio activity, play audio again.
  4. Observe that the Cava visualization may remain completely flat, or less commonly become a fully filled rectangle with no movement.
  5. Verify that the existing cava.exe process is still running.
  6. Reload the Cava widget or reload the YASB configuration.
  7. The visualization starts working again.
  8. Check the running processes and observe that the previous cava.exe may still remain.
  9. Repeating the failure/reload cycle can result in multiple persistent cava.exe processes.

Reloading either the whole YASB configuration or only the Cava widget restores the visualization, but can leave the previous cava.exe process running.

I maintain a local patched build that adds stricter Cava process ownership, restart handling, and health monitoring. The issue has not reproduced so far with the patched version, but testing time is still limited, so this should not be considered extensive validation.

Relevant log output

No relevant log output is produced when this issue occurs. I reproduced the problem with debug logging enabled, but the logs did not contain any Cava-related errors, subprocess failures, timeouts, or tracebacks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions