AsahiLinux / speakersafetyd

Rust speaker safety daemon for Asahi Linux
MIT License
119 stars 7 forks source link

Panic while playing video at half of the volume level range #7

Closed Javier-varez closed 9 months ago

Javier-varez commented 9 months ago

I am running Fedora Asahi Remix 39 on my m1 MBP 14" and really enjoying the recently released speaker support (Awesome work, btw!). Today I noticed that, while I was listening to a video at slightly above half of the volume level range, the sound cut off for a bit (it didn't feel too loud either) and then restarted playing at a lower volume level.

Looking at it it seems that speakersafetyd hit an error in an unwrap() call.

Speakersafetyd logs ``` Dec 18 12:15:57 fedora speakersafetyd[928]: thread 'main' panicked at src/main.rs:279:18: Dec 18 12:15:58 fedora kernel: snd-soc-macaudio sound: Speaker volumes locked: Main control not locked Dec 18 12:15:58 fedora speakersafetyd[928]: called `Result::unwrap()` on an `Err` value: Error("snd_pcm_readi", EPIPE) Dec 18 12:15:58 fedora speakersafetyd[928]: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace Dec 18 12:15:58 fedora speakersafetyd[928]: WARN [speakersafetyd] Panic! Dec 18 12:15:58 fedora speakersafetyd[928]: WARN [speakersafetyd::blackbox] Preserving blackbox 2023-12-18T12:15:58.002739062+01:00 Dec 18 12:15:58 fedora systemd[1]: speakersafetyd.service: Main process exited, code=exited, status=101/n/a Dec 18 12:15:58 fedora systemd[1]: speakersafetyd.service: Failed with result 'exit-code'. Dec 18 12:15:58 fedora audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=speakersafetyd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed' Dec 18 12:15:58 fedora systemd[1]: speakersafetyd.service: Consumed 3min 54.709s CPU time. Dec 18 12:15:59 fedora systemd[1]: speakersafetyd.service: Scheduled restart job, restart counter is at 1. Dec 18 12:15:59 fedora systemd[1]: Started speakersafetyd.service - Speaker Protection Daemon. Dec 18 12:15:59 fedora audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=speakersafetyd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Starting up Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Config base: "/usr/share/speakersafetyd/" Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Machine: apple,j314 Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Config file: "/usr/share/speakersafetyd/apple/j314.conf" Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Device: hw:AppleJ314 Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::uclamp] Set task uclamp to 0:64 Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Enabling blackbox, path: "/var/lib/speakersafetyd/blackbox" Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Found 6 speakers Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Opening control device Dec 18 12:15:59 fedora kernel: snd-soc-macaudio sound: Speaker volumes unlocked Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Startup mode: Warm boot Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Speaker [Left Woofer 1]: Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Group: 1 Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Max temperature: 140.0 °C Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Amp gain: 18.5 dBV Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Max power: 1.44 W Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Peak power: 44.246613 W Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Min gain: -14.88 dB Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Speaker [Right Woofer 1]: Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Group: 1 Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Max temperature: 140.0 °C Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Amp gain: 18.5 dBV Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Max power: 1.44 W Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Peak power: 44.246613 W Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Min gain: -14.88 dB Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Speaker [Left Tweeter]: Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Group: 0 Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Max temperature: 140.0 °C Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Amp gain: 18.5 dBV Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Max power: 1.09 W Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Peak power: 44.246613 W Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Min gain: -16.09 dB Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Speaker [Right Tweeter]: Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Group: 0 Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Max temperature: 140.0 °C Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Amp gain: 18.5 dBV Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Max power: 1.09 W Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Peak power: 44.246613 W Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Min gain: -16.09 dB Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Speaker [Left Woofer 2]: Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Group: 1 Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Max temperature: 140.0 °C Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Amp gain: 18.5 dBV Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Max power: 1.44 W Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Peak power: 44.246613 W Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Min gain: -14.88 dB Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Speaker [Right Woofer 2]: Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Group: 1 Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Max temperature: 140.0 °C Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Amp gain: 18.5 dBV Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Max power: 1.44 W Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Peak power: 44.246613 W Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd::types] Min gain: -14.88 dB Dec 18 12:15:59 fedora speakersafetyd[23166]: PCM rate: 48000..48000 Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -14.99 dBFS Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -14.05 dBFS Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -14.99 dBFS Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -14.07 dBFS Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -13.94 dBFS Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -13.18 dBFS Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -13.24 dBFS Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -12.32 dBFS Dec 18 12:15:59 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -12.56 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -11.49 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -11.89 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -10.69 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -11.24 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -9.91 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -10.62 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -9.16 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -10.00 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -8.44 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -9.41 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -7.74 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -8.83 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -7.06 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -8.26 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -6.41 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -7.72 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -5.77 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -7.18 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -5.16 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -6.67 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -4.57 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -6.16 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -4.00 dBFS Dec 18 12:16:00 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -5.67 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -3.44 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -5.20 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -2.91 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -4.74 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -2.39 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -4.28 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -1.89 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -3.84 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -1.40 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -3.42 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -0.93 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -3.00 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -0.47 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -2.60 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain limited to -0.03 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -2.21 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 0 gain nominal Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -1.82 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -1.45 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -1.09 dBFS Dec 18 12:16:01 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -0.73 dBFS Dec 18 12:16:02 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -0.38 dBFS Dec 18 12:16:02 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain limited to -0.05 dBFS Dec 18 12:16:02 fedora speakersafetyd[23166]: INFO [speakersafetyd] Speaker group 1 gain nominal Dec 18 12:16:02 fedora gsd-media-keys[2287]: gvc_mixer_stream_get_port: assertion 'stream->priv->ports != NULL' failed Dec 18 12:16:02 fedora gsd-media-keys[2287]: gvc_mixer_stream_get_port: assertion 'stream->priv->ports != NULL' failed Dec 18 12:16:03 fedora gsd-media-keys[2287]: gvc_mixer_stream_get_port: assertion 'stream->priv->ports != NULL' failed Dec 18 12:16:04 fedora gsd-media-keys[2287]: gvc_mixer_stream_get_port: assertion 'stream->priv->ports != NULL' failed Dec 18 12:17:53 fedora gsd-media-keys[2287]: gvc_mixer_stream_get_port: assertion 'stream->priv->ports != NULL' failed Dec 18 12:17:54 fedora gsd-media-keys[2287]: gvc_mixer_stream_get_port: assertion 'stream->priv->ports != NULL' failed Dec 18 12:18:11 fedora kernel: warning: `Socket Thread' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211 ```
Speakersafetyd installed version ``` ~ ❯ dnf list speakersafetyd Last metadata expiration check: 0:00:35 ago on Mon 18 Dec 2023 01:11:50 PM CET. allow_vendor_change is disabled. This option is currently not supported for downgrade and distro-sync commands Installed Packages speakersafetyd.aarch64 0.1.7-1.fc39 @updates ```

blackbox.tar.gz

I hope this is helpful. Other than this minor crash I have to say that the speakers have been working flawlessly and the computer sounds even better than on macOS! Thank you for making it possible to use Linux on these machines!

chadmed commented 9 months ago

If this occurred after putting the Mac to sleep, please try upgrading to the latest speakersafetyd. This should be fixed.

Javier-varez commented 9 months ago

I haven't reproduced it again after updating. It did happen after putting the Mac to sleep so I think we can close this issue. Thanks!