[tiwai/for-next] hard lockups with pipewire and snd-usb-audio

Hector Martin marcan at marcan.st
Fri Jul 2 12:34:06 CEST 2021


Hi Takashi,

I've been testing builds from your for-next branch to get the recent 
firewire fixes. All that works fine, but instead I've been getting hard 
lockups with pipewire and snd-usb-audio. I'm currently on 9a7b7ec3c6.

Backtrace:

  do_raw_spin_lock+0x8e/0x90
  _raw_spin_lock_irqsave+0x3e/0x50
  ? snd_pcm_period_elapsed+0x10/0x30 [snd_pcm]
  snd_pcm_period_elapsed+0x10/0x30 [snd_pcm]
  snd_usb_endpoint_start+0xd8/0x270 [snd_usb_audio]
  start_endpoints+0x50/0x70 [snd_usb_audio]
  snd_usb_substream_playback_trigger+0x58/0x100 [snd_usb_audio]
  snd_pcm_action+0x74/0xb0 [snd_pcm]
  snd_pcm_action_lock_irq+0x36/0x80 [snd_pcm]
  snd_pcm_ioctl+0x1e/0x30 [snd_pcm]
  __x64_sys_ioctl+0x7d/0xb0
  do_syscall_64+0x45/0x80
  entry_SYSCALL_64_after_hwframe+0x44/0xae

To me it looks like it's recursively trying to lock the stream spinlock.

I'm not sure what version this is a regression from; I've only triggered 
it with pipewire so far, which I wasn't previously using. It's easy to 
reproduce. Usually, pulling up pavucontrol on pipewire with the USB 
audio device on an active profile will do it.

Just thought you might want to know. Let me know if you need any more info.

-- 
Hector Martin (marcan at marcan.st)
Public Key: https://mrcn.st/pub


More information about the Alsa-devel mailing list