Ticket #519 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

pcm_pulse.c:361: pulse_write: Assertion `pcm->stream' failed.

Reported by: siegerstein Owned by: lennart
Milestone: Component: alsa-plugins-pulse
Keywords: bluetooth Cc:

Description

Ubuntu: 9.04 x86
Pulseaudio: 0.9.14
ALSA: 1.0.18

$ cat .asoundrc
pcm.bluetooth {
 type bluetooth
 device 00:02:78:DE:09:43
 profile a2dp
}

I use bluetooth headphones. And after little playback, applications crashed with assert: pcm_pulse.c:361: pulse_write: Assertion `pcm->stream' failed.

Attachments

banshee.log (37.2 kB) - added by siegerstein 3 years ago.
Banshee
rhythmbox.log (2.5 kB) - added by siegerstein 3 years ago.
Screenshot.png (56.3 kB) - added by siegerstein 3 years ago.
0001-pulse-add-resume-when-pulseaudio-is-killed.patch (6.3 kB) - added by elmarco 3 years ago.
no more assert(pcm->stream)!!!

Change History

Changed 3 years ago by siegerstein

Banshee

Changed 3 years ago by siegerstein

Changed 3 years ago by siegerstein

Changed 3 years ago by elmarco

this bug is easy to trigger.

pulseaudio -k while an alsa application is running. I'd say 9/10 you get it.

I have a patch to resume automatically when such thing happen.

It has been tested with gstreamer alsasink and mplayer. It is not exactly perfect. If you kill pulseaudio quickly you can trigger some loops in mplayer.

Also, there are some FIXME in the patch.

Changed 3 years ago by elmarco

no more assert(pcm->stream)!!!

Changed 3 years ago by lennart

  • owner changed from lennart to ossman
  • component changed from module-alsa-* to alsa-plugins-pulse
  • milestone 0.9.15 deleted

Changed 3 years ago by lennart

  • owner changed from ossman to lennart

Changed 3 years ago by lennart

  • status changed from new to closed
  • resolution set to fixed

Hmm, the assert()s have now been fixed in ALSA.

I am not sure if I really like the idea of reconnecting here. PA dying and device suspend are very different cases. And I am not sure we want to create the impression that PA going away is equal to a system suspend.

I think PA dying is more like hot-unplug of hw, then suspending of hw. And so I think in that respect the current behaviour makes more sense.

Note: See TracTickets for help on using tickets.