PulseAudio issueshttps://gitlab.freedesktop.org/groups/pulseaudio/-/issues2018-07-30T10:23:34Zhttps://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/393Mistreats headphone port with dysfunctional ALSA Master volume on ICH72018-07-30T10:23:34ZBugzilla Migration UserMistreats headphone port with dysfunctional ALSA Master volume on ICH7## Submitted by Tobias Wolf
Assigned to **Maarten Bosmans**
**[Link to original bug (#42353)](https://bugs.freedesktop.org/show_bug.cgi?id=42353)**
## Description
Created attachment 52868
ALSA info gzipped
I basically have a gene...## Submitted by Tobias Wolf
Assigned to **Maarten Bosmans**
**[Link to original bug (#42353)](https://bugs.freedesktop.org/show_bug.cgi?id=42353)**
## Description
Created attachment 52868
ALSA info gzipped
I basically have a generic Dell box with integrated ICH7 audio
0 [ICH7 ]: ICH4 - Intel ICH7
Intel ICH7 with AD1981B at irq 23
When I plug my headphones into the front, in alsamixer only the Headphone slider has an effect, Master does nothing to change volume.
Now Pulseaudio somehow merges these (even if flatvol is off) and the whole range of Headphone is compressed into the low range and it gets painful very quickly.
No idea if this is ALSA bug or not. Please advise and forward accordingly.
ALSA info and pulseaudio verbose output attached
~~**Attachment 52868**~~, "ALSA info gzipped":
[alsa-info.txt.6z8BY3PfQN.gz](/uploads/f5acbe19e00817ccf7040dfa9916a509/alsa-info.txt.6z8BY3PfQN.gz)https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/147module-suspend-on-idle kills HDMI output2018-07-30T09:58:54ZBugzilla Migration Usermodule-suspend-on-idle kills HDMI output## Submitted by Philipp Wendler
Assigned to **pul..@..op.org**
**[Link to original bug (#42478)](https://bugs.freedesktop.org/show_bug.cgi?id=42478)**
## Description
Created attachment 53000
Output of "pactl list sinks"
If this m...## Submitted by Philipp Wendler
Assigned to **pul..@..op.org**
**[Link to original bug (#42478)](https://bugs.freedesktop.org/show_bug.cgi?id=42478)**
## Description
Created attachment 53000
Output of "pactl list sinks"
If this module is loaded, HDMI output (stereo and 5.1) is not working when I start a player like VLC or Rhythmbox. I have to fiddle with the output configuration of Pulseaudio (e.g., changing from 5.1 to stereo and back) or with the input configuration of my receiver (e.g., re-selecting the input source my computer is connected to) to hear sound.
If I pause and continue the playback, sound is still fine. If I quit the player so that no stream is playing at all and start it again, I have to perform the above procedure again.
Unloading the module suspend-on-idle solves this problem whereas loading the module produces the problem reproducibly.
Hardware: Intel Sandy Bridge cpu & mainboard with onboard video card with HDMI output (see attached file sink-list.txt). My receiver is a Denon AVR-1910.
Software: Pulseaudio 1.0 from Ubuntu 11.10 x64 (package version 1:1.0-0ubuntu3)
I had already filed a bug in the Ubuntu bug tracker: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/884336
**Attachment 53000**, "Output of "pactl list sinks"":
[sink-list.txt](/uploads/284038792e88042d8a043c36cd61da50/sink-list.txt)
### See also
* https://launchpad.net/bugs/884336https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/27Capture device handling on Acer Aspire One 531h2020-03-19T14:17:43ZBugzilla Migration UserCapture device handling on Acer Aspire One 531h## Submitted by Dmitrij D. Czarkoff
Assigned to **pul..@..op.org**
**[Link to original bug (#42643)](https://bugs.freedesktop.org/show_bug.cgi?id=42643)**
## Description
On Acer Aspire One 531h there are two microphones:
* intern...## Submitted by Dmitrij D. Czarkoff
Assigned to **pul..@..op.org**
**[Link to original bug (#42643)](https://bugs.freedesktop.org/show_bug.cgi?id=42643)**
## Description
On Acer Aspire One 531h there are two microphones:
* internal, works;
* mic jack, doesn't work, seems to be hardware fault. May be is aggregated with internal mic, I can't test it.
From now on I refere to internal micorophone as "mic".
Alsa gives three capture controls:
* Mic Boost - probably boosts something, but no audible effect (with my ears);
* Capture - controls the internal mic.
* Capture 1 - controls nothing.
Pulseaudio gives one two-channel control.
With alsa applications everything works as expected - the mic works, records in two-channel mode. Eg., in gnome-sound-recorder.
In pulsaudio the capture records nothing with capture level up on both channels. More interestingly, the actual volume seems to be the difference between the channels' volumes. Eg., if left channel is set to 0 in alsamixer and right channel is set to 100, sound is loud, in combination 0-50 - half of previous.https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/issues/38Output tab don't fit correctly with multi-soundcard2018-07-30T09:30:48ZBugzilla Migration UserOutput tab don't fit correctly with multi-soundcard## Submitted by Fraipont Denis
Assigned to **pul..@..op.org**
**[Link to original bug (#42832)](https://bugs.freedesktop.org/show_bug.cgi?id=42832)**
## Description
Hello
First sorry for my bad English, I'm French.
I've got two ...## Submitted by Fraipont Denis
Assigned to **pul..@..op.org**
**[Link to original bug (#42832)](https://bugs.freedesktop.org/show_bug.cgi?id=42832)**
## Description
Hello
First sorry for my bad English, I'm French.
I've got two sound card:
1: Surround Analogical 4.0 Output + Stereo analogical input
2: Duplex stereo analogical
When I choose 1, the list fit with only one item visible.
When I choose 2, the list fit with two item visible.
And the main window is not sizable...
Thankshttps://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/489pa_simple_new(): default buffering attributes2018-07-30T10:31:49ZBugzilla Migration Userpa_simple_new(): default buffering attributes## Submitted by Peter Meerwald `@pmeerw`
Assigned to **pul..@..op.org**
**[Link to original bug (#42916)](https://bugs.freedesktop.org/show_bug.cgi?id=42916)**
## Description
the pacat-simple.c programs gives me around 230799 usec...## Submitted by Peter Meerwald `@pmeerw`
Assigned to **pul..@..op.org**
**[Link to original bug (#42916)](https://bugs.freedesktop.org/show_bug.cgi?id=42916)**
## Description
the pacat-simple.c programs gives me around 230799 usec latency (when passing NULL for buffer attributes to pa_simple_new())
when I pass the following struct
pa_buffer_attr ba;
ba.maxlength = -1; // Maximum length of the buffer
ba.tlength = -1; // Target length
ba.prebuf = -1; // Pre-buffering
ba.minreq = -1; // Minimum request
ba.fragsize = -1; // Fragment size
to pa_simple_new(), I get around 1950000 usec latency (as reported by pa_simple_get_latency()) -- I would expect to get the same behavior passing NULL or above struct since -1 in pa_buffer_attr means 'default value' according to http://freedesktop.org/software/pulseaudio/doxygen/structpa__buffer__attr.html#details
this is on Ubuntu natty, pulseaudio 0.9.22https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/345[cleanup] Make alsa path names always match the config file names2018-07-30T10:19:37ZBugzilla Migration User[cleanup] Make alsa path names always match the config file names## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#43435)](https://bugs.freedesktop.org/show_bug.cgi?id=43435)**
## Description
I think it would be a good idea to remove the "name" opti...## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#43435)](https://bugs.freedesktop.org/show_bug.cgi?id=43435)**
## Description
I think it would be a good idea to remove the "name" option from the alsa path configuration files. By default the path name is taken from the file name, but the "name" option can be used to override that. I don't see any practical use for this, and it adds some complexity to the alsa-mixer code, because it has to check for duplicate path names. Duplicates would be impossible, if the path name would always be the file name.
Another benefit would be that it would be trivial to find the configuration file for any path of which name appears in pulseaudio logs.https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/80The "paths_dir" handling of module-alsa-card is broken.2018-07-30T09:39:43ZBugzilla Migration UserThe "paths_dir" handling of module-alsa-card is broken.## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#43436)](https://bugs.freedesktop.org/show_bug.cgi?id=43436)**
## Description
Commit 426daaf broke the "paths_dir" modarg of module-als...## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#43436)](https://bugs.freedesktop.org/show_bug.cgi?id=43436)**
## Description
Commit 426daaf broke the "paths_dir" modarg of module-alsa-card.
Instead of fixing the modarg handling, I propose removing that modarg. I implemented the modarg with the idea that it would be then possible to use custom path files without root access, but I think a better way to achieve that would be to load the alsa configuration files from ~/.pulse if the files exist there.https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/551qpaeq has no presets2018-07-30T10:39:12ZBugzilla Migration Userqpaeq has no presets## Submitted by j-f..@..lb.com
Assigned to **Samantha**
**[Link to original bug (#43734)](https://bugs.freedesktop.org/show_bug.cgi?id=43734)**
## Description
Using qpaeq from pulseaudio-1.1 and qpaeq.py from git
The "presets" dr...## Submitted by j-f..@..lb.com
Assigned to **Samantha**
**[Link to original bug (#43734)](https://bugs.freedesktop.org/show_bug.cgi?id=43734)**
## Description
Using qpaeq from pulseaudio-1.1 and qpaeq.py from git
The "presets" drop-down box is empty - it would be good to include at least a couple of presets.https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/78pa_database_next() is inefficient for the "simple" pa_database implementation2018-07-30T09:39:23ZBugzilla Migration Userpa_database_next() is inefficient for the "simple" pa_database implementation## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#44532)](https://bugs.freedesktop.org/show_bug.cgi?id=44532)**
## Description
If I want to iterate through a database with pa_database_...## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#44532)](https://bugs.freedesktop.org/show_bug.cgi?id=44532)**
## Description
If I want to iterate through a database with pa_database_next(), it will have O(n*n) time complexity with the "simple" pa_database implementation, because pa_database_next() will every time search for the next item by iterating the backing pa_hashmap from the beginning.
I'm not sure what would be the best way to fix this. Maybe the pa_database iteration interface could be changed to match pa_hashmap_iterate()?
In normal use cases I don't see this inefficiency causing any trouble, because the databases don't tend to be very big. It's just annoying to have this kind of stuff in the code...https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/377Publish manual pages on the web site2018-07-30T10:21:46ZBugzilla Migration UserPublish manual pages on the web site## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#44776)](https://bugs.freedesktop.org/show_bug.cgi?id=44776)**
## Description
Wouldn't it be nice to have the manual pages available al...## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#44776)](https://bugs.freedesktop.org/show_bug.cgi?id=44776)**
## Description
Wouldn't it be nice to have the manual pages available also as online web pages?https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/189Unique names for ports2018-07-30T10:03:31ZBugzilla Migration UserUnique names for ports## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#44793)](https://bugs.freedesktop.org/show_bug.cgi?id=44793)**
## Description
I have written a function:
static const char *get_port_n...## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#44793)](https://bugs.freedesktop.org/show_bug.cgi?id=44793)**
## Description
I have written a function:
static const char *get_port_name(pa_device_port *port) {
if (port)
return port->name;
else
return "(no port)"
}
The port name isn't guaranteed to be unique across different cards. I'd like the port name to be an unique identifier, because the result of get_port_name() is used in a log message. If the name is not unique, the log message may be ambiguous. I could change get_port_name() so that it would allocate a new string: pa_sprintf_malloc("%s on %s", port->name, port->card->name), but freeing the string would be inconvenient for the caller.
Now, logging being slightly inconvenient may not be the most convincing argument when the requested change would be relatively big. So, here's another argument: we will anyway have to make the name unique, because it would be awesome if pa_connect_playback() could take a port name in it's dev argument - if the requested port isn't active, it will be automatically made active. And we're going to merge the sink and port concepts anyway, aren't we, so all this makes just perfect sense, right?https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/366Local PulseAudio->remove PulseAudio tunneling does not work as well as PULSE_...2018-07-30T10:21:03ZBugzilla Migration UserLocal PulseAudio->remove PulseAudio tunneling does not work as well as PULSE_SERVER## Submitted by Elias Naur
Assigned to **pul..@..op.org**
**[Link to original bug (#44806)](https://bugs.freedesktop.org/show_bug.cgi?id=44806)**
## Description
I have a Pulseaudio networked sound setup, where one laptop is connec...## Submitted by Elias Naur
Assigned to **pul..@..op.org**
**[Link to original bug (#44806)](https://bugs.freedesktop.org/show_bug.cgi?id=44806)**
## Description
I have a Pulseaudio networked sound setup, where one laptop is connected to my HiFi through a mini-jack, and have pulseaudio configured to export the local sound device, while another laptop is configured to access the remote sound device for audio playback. It's a very nice and convenient setup, except that buffer underruns frequently occur, resulting in really annoying fallouts in the sound.
Using
PULSE_SERVER=`<hifi-laptop>` `<audio-player>`
works almost perfectly in terms of almost no underruns but this is an ugly workaround and I'd like to keep the ability to dynamically switch between laptop speakers and the stereo.
Is there a workaround or config I can tweak to increase buffering and/or debug what the problem is?https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/108pa_mainloop should report POLLNVAL when that occurs with IO events2018-07-30T09:54:03ZBugzilla Migration Userpa_mainloop should report POLLNVAL when that occurs with IO events## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#45044)](https://bugs.freedesktop.org/show_bug.cgi?id=45044)**
## Description
poll() may return POLLNVAL in revents, but pa_mainloop ig...## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#45044)](https://bugs.freedesktop.org/show_bug.cgi?id=45044)**
## Description
poll() may return POLLNVAL in revents, but pa_mainloop ignores that. According to "man poll", POLLNVAL signals an "invalid request: fd not open (output only)". I'm not sure how that should be interpreted: if we never call poll() on an fd that we have closed ourselves, is it guaranteed that POLLNVAL will never occur? If so, we could have an assertion for that in map_flags_from_libc(). Or probably not: pa_mainloop can also be used by clients, and they may not be as careful with their file descriptors.
As proposed by Arun, I think we should add PA_IO_EVENT_INVALID to pa_io_event_flags_t.
Discussion:
http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-December/012517.htmlhttps://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/527RAOP: Can't connect to my dock/receiver with AirPlay2021-04-01T23:19:38ZBugzilla Migration UserRAOP: Can't connect to my dock/receiver with AirPlay## Submitted by Raphaël
Assigned to **pul..@..op.org**
**[Link to original bug (#45228)](https://bugs.freedesktop.org/show_bug.cgi?id=45228)**
## Description
Created attachment 56141
Trace with iTunes, everything is OK
Hello,
I'...## Submitted by Raphaël
Assigned to **pul..@..op.org**
**[Link to original bug (#45228)](https://bugs.freedesktop.org/show_bug.cgi?id=45228)**
## Description
Created attachment 56141
Trace with iTunes, everything is OK
Hello,
I'm trying to connect to my JBL ON AIR WIRELESS dock from Linux, but everytime I chose my dock in the pulseaudio volume controle my dock crash.
Everything is working well in Windows with iTunes.
This is the error i get when I try to choose my dock in pulseaudio:
[raphael@XPS ~]$ cat /var/log/messages.log
Jan 25 09:56:53 localhost pulseaudio[4877]: [pulseaudio] rtsp_client.c: Unexpected response: RTSP/1.0 500 Internal Server Error
Jan 25 09:56:53 localhost pulseaudio[4877]: [pulseaudio] rtsp_client.c: Unexpected response: Server: AirTunes/103.2
Jan 25 09:56:53 localhost pulseaudio[4877]: [pulseaudio] rtsp_client.c: Unexpected response: CSeq: 2
Jan 25 09:56:53 localhost pulseaudio[4877]: [pulseaudio] rtsp_client.c: Unexpected response:
Jan 25 10:00:37 localhost pulseaudio[4877]: [raop-sink] module-raop-sink.c: We should not get to this state. Cannot rip socket if not connected.
Jan 25 10:00:37 localhost pulseaudio[4877]: [pulseaudio] rtsp_client.c: Assertion 'c' failed at modules/rtp/rtsp_client.c:506, function pa_rtsp_setparameter(). Aborting.
in attached file you have a wireshark trace when I try with Windows and a other with pulseaudio.
NB: I use archlinux with pulseaudio 1.1
Thanks,
Raphaël
**Attachment 56141**, "Trace with iTunes, everything is OK":
[iTunes.txt](/uploads/576ef343ea90e5fa91c763f7cf2cff91/iTunes.txt)Russell TreleavenRussell Treleavenhttps://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/428rtkit demotes pulseaudio threads on suspend/resume cycle2018-07-30T10:26:58ZBugzilla Migration Userrtkit demotes pulseaudio threads on suspend/resume cycle## Submitted by Frederik Himpe
Assigned to **pul..@..op.org**
**[Link to original bug (#45241)](https://bugs.freedesktop.org/show_bug.cgi?id=45241)**
## Description
Every time when I suspend/resume my system, the pulseaudio thread...## Submitted by Frederik Himpe
Assigned to **pul..@..op.org**
**[Link to original bug (#45241)](https://bugs.freedesktop.org/show_bug.cgi?id=45241)**
## Description
Every time when I suspend/resume my system, the pulseaudio threads loose SCHED_RR.
From logs:
Jan 24 21:39:53 netbook rtkit-daemon[2788]: Successfully made thread 16393 of process 16393 (/usr/bin/pulseaudio) owned by '1000' high priority at nice level -11.
Jan 24 21:39:53 netbook rtkit-daemon[2788]: Supervising 1 threads of 1 processes of 1 users.
Jan 24 21:39:53 netbook rtkit-daemon[2788]: Successfully made thread 16395 of process 16393 (/usr/bin/pulseaudio) owned by '1000' RT at priority 5.
Jan 24 21:39:53 netbook rtkit-daemon[2788]: Supervising 2 threads of 1 processes of 1 users.
Jan 24 21:39:53 netbook rtkit-daemon[2788]: Successfully made thread 16396 of process 16393 (/usr/bin/pulseaudio) owned by '1000' RT at priority 5.
Jan 24 21:39:53 netbook rtkit-daemon[2788]: Supervising 3 threads of 1 processes of 1 users.
Jan 24 21:39:53 netbook rtkit-daemon[2788]: Successfully made thread 16400 of process 16400 (/usr/bin/pulseaudio) owned by '1000' high priority at nice level -11.
Jan 24 21:39:53 netbook rtkit-daemon[2788]: Supervising 4 threads of 2 processes of 1 users.
Jan 25 19:06:59 netbook rtkit-daemon[2788]: The canary thread is apparently starving. Taking action.
Jan 25 19:06:59 netbook rtkit-daemon[2788]: Demoting known real-time threads.
Jan 25 19:06:59 netbook rtkit-daemon[2788]: Successfully demoted thread 16396 of process 16393 (/usr/bin/pulseaudio).
Jan 25 19:06:59 netbook rtkit-daemon[2788]: Successfully demoted thread 16395 of process 16393 (/usr/bin/pulseaudio).
Jan 25 19:06:59 netbook rtkit-daemon[2788]: Successfully demoted thread 16393 of process 16393 (/usr/bin/pulseaudio).
Jan 25 19:06:59 netbook rtkit-daemon[2788]: Demoted 3 threads.
(Jan 24 21:39 is when logging in after booting the machine, Jan 25
19.06:59 is when resuming the suspended system)
Debian bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=535426https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/85Volume control with the lfe-on-mono path doesn't work as intended2018-07-30T09:40:25ZBugzilla Migration UserVolume control with the lfe-on-mono path doesn't work as intended## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#45331)](https://bugs.freedesktop.org/show_bug.cgi?id=45331)**
## Description
It was reported[1] that the Master Mono volume jumps to m...## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#45331)](https://bugs.freedesktop.org/show_bug.cgi?id=45331)**
## Description
It was reported[1] that the Master Mono volume jumps to maximum even at low volumes.
[1] http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-December/012522.htmlhttps://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/482[alsa-sink] memblockq.c: Assertion '!bq->blocks || (bq->...2018-07-30T10:31:03ZBugzilla Migration User[alsa-sink] memblockq.c: Assertion '!bq->blocks || (bq->write_index + (int64_t)chunk.length <= bq->blocks->index)' failed at pulsecore/memblockq.c:408, function pa_memblockq_push(). Aborting.## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#45373)](https://bugs.freedesktop.org/show_bug.cgi?id=45373)**
## Description
Created attachment 56298
Backtrace
Reported in IRC:
19:...## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **pul..@..op.org**
**[Link to original bug (#45373)](https://bugs.freedesktop.org/show_bug.cgi?id=45373)**
## Description
Created attachment 56298
Backtrace
Reported in IRC:
19:28 -!- jelly-home [~jelly@homestuck.iskon.hr] has joined #pulseaudio
19:30 `< jelly-home>` Hello, I've caught pulseaudio killing itself with a SIGABRT and "Jan 29 15:44:43 kanta-linux pulseaudio[11171]: [alsa-sink] memblockq.c: Assertion '!bq->blocks ||
(bq->write_index + (int64_t)chunk.length `<= bq->`blocks->index)' failed at pulsecore/memblockq.c:408, function pa_memblockq_push(). Aborting."
19:30 `< jelly-home>` attempt at getting a backtrace: http://paste.debian.net/153989/
19:30 <@pulsator> Title: debian Pastezone (at paste.debian.net)
19:34 `< jelly-home>` this is PA 1.1, package 1.1-2 from Debian testing, i386 arch
I'll attach the backtrace here in case the pastebin link gets stale.
**Attachment 56298**, "Backtrace":
[backtrace.txt](/uploads/3867610ee8210c3a0bf32f4f81417ba1/backtrace.txt)https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/144IPv6/IPv4 sink/source name conflict race condition with module-zeroconf-discover2018-07-30T09:58:40ZBugzilla Migration UserIPv6/IPv4 sink/source name conflict race condition with module-zeroconf-discover## Submitted by Tyson Whitehead
Assigned to **pul..@..op.org**
**[Link to original bug (#45523)](https://bugs.freedesktop.org/show_bug.cgi?id=45523)**
## Description
By default (at least under Debian) it seems that both IPv6 and I...## Submitted by Tyson Whitehead
Assigned to **pul..@..op.org**
**[Link to original bug (#45523)](https://bugs.freedesktop.org/show_bug.cgi?id=45523)**
## Description
By default (at least under Debian) it seems that both IPv6 and IPv4 services are anounced by pulse when using the module-zeroconf-publish.
+ eth0 IPv6 pulse@palmer: Internal Audio Analog Stereo _pulse-source._tcp local
+ eth0 IPv4 pulse@palmer: Internal Audio Analog Stereo _pulse-source._tcp local
+ eth0 IPv6 pulse@palmer _pulse-server._tcp local
+ eth0 IPv4 pulse@palmer _pulse-server._tcp local
+ eth0 IPv6 pulse@palmer: Internal Audio Analog Stereo _pulse-sink._tcp local
+ eth0 IPv4 pulse@palmer: Internal Audio Analog Stereo _pulse-sink._tcp local
If I load the module-zeroconf-discover on another machine, it tries and sets the same named sinks and sources for the IPv4 and IPv6 addresses.
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] module-zeroconf-discover.c: Loading module-tunnel-source with arguments 'server=[fe80::217:31ff:fe2a:76a7]:4713 source=alsa_input.pci-0000_00_04.0.analog-stereo format=s16le channels=2 rate=48000 source_name=tunnel.palmer.local.alsa_input.pci-0000_00_04.0.analog-stereo channel_map=front-left,front-right'
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] module-zeroconf-discover.c: Loading module-tunnel-sink with arguments 'server=[fe80::217:31ff:fe2a:76a7]:4713 sink=alsa_output.pci-0000_00_04.0.analog-stereo format=s16le channels=2 rate=48000 sink_name=tunnel.palmer.local.alsa_output.pci-0000_00_04.0.analog-stereo channel_map=front-left,front-right'
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] module-zeroconf-discover.c: Loading module-tunnel-source with arguments 'server=[192.168.1.66]:4713 source=alsa_input.pci-0000_00_04.0.analog-stereo format=s16le channels=2 rate=48000 source_name=tunnel.palmer.local.alsa_input.pci-0000_00_04.0.analog-stereo channel_map=front-left,front-right'
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] module-zeroconf-discover.c: Loading module-tunnel-sink with arguments 'server=[fe80::217:31ff:fe2a:76a7]:4713 sink=alsa_output.pci-0000_00_04.0.analog-stereo format=s16le channels=2 rate=48000 sink_name=tunnel.palmer.local.alsa_output.pci-0000_00_04.0.analog-stereo channel_map=front-left,front-right'
The IPv6 ones fail (presumably) because I haven't actually setup IPv6
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] module-tunnel.c: Stream died.
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] module-tunnel.c: Stream died.
This is fine. The problem is that frequently it manages to try and start the IPv4 ones with the same names before the IPv6 ones have failed. These fail as the sink/source name is still in use at that moment (by the failing IPv6 one).
Jan 31 21:22:28 tux pulseaudio[776]: [pulseaudio] sink.c: Failed to register name tunnel.palmer.local.alsa_output.pci-0000_00_04.0.analog-stereo.
The end result is that the creation of all the remote sinks and sources fail instead of just the IPv6 ones like I would have expected.
Perhaps the code could be changed to distinguish these names (suffix them to indicate IPv4 or IPv6?) or to just wait on the IPv6 ones to either succeed or fail before trying to start the IPv4 ones.
Thanks! -Tysonhttps://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/490padsp wrapper is racy at startup2018-07-30T10:31:53ZBugzilla Migration Userpadsp wrapper is racy at startup## Submitted by Sergei Trofimovich
Assigned to **pul..@..op.org**
**[Link to original bug (#45643)](https://bugs.freedesktop.org/show_bug.cgi?id=45643)**
## Description
Initial symptomes: libmikmod clients SIGSEGV when ran under '...## Submitted by Sergei Trofimovich
Assigned to **pul..@..op.org**
**[Link to original bug (#45643)](https://bugs.freedesktop.org/show_bug.cgi?id=45643)**
## Description
Initial symptomes: libmikmod clients SIGSEGV when ran under 'padsp'
wrapper. The reason is padsp returns incorrect buffer fill info:
(reproducer: PADSP_DEBUG=3 padsp mikmod some_files)
utils/padsp.c:fragsize=16384, fragstotal=16, bytes=262144, fragments=16
utils/padsp.c:fragsize=16384, fragstotal=16, bytes=262144, fragments=16
utils/padsp.c:fragsize=16384, fragstotal=16, bytes=-16385, fragments=-1
<mikmod SIGSEGV. When patch mikmod to ignore such strange fragments
I get playing sounds. and log restores state:>
utils/padsp.c:fragsize=16384, fragstotal=16, bytes=245760, fragments=15
...
I've added debug info to padsp.c and stream.c to see where stream state flips
from READY back to _CREATING and I think i'bve figured out where:
Log with additional debug info:
state=4 - _READY stream state
state=1 - _CREATING stream state
utils/padsp.c: dsp_open() succeeded, fd=3; state=4
utils/padsp.c: SNDCTL_DSP_SETFRAGMENT: 0x0010000e
utils/padsp.c: SNDCTL_DSP_GETFMTS
utils/padsp.c: SNDCTL_DSP_SETFMT: 16
utils/padsp.c: SNDCTL_DSP_CHANNELS: 2
utils/padsp.c: SNDCTL_DSP_SPEED: 48000
utils/padsp.c: ss: s16le 2ch 48000Hz
utils/padsp.c: SNDCTL_DSP_GETOSPACE
utils/padsp.c: ioctl()
utils/padsp.c:(ctx=(nil)) fragsize=16384, fragstotal=16, bytes=262144, fragments=16 (state=4)
no player context, but stream is considered ready
utils/padsp.c: fopen(a94final.uni)
utils/padsp.c: fclose()
utils/padsp.c: open(a94final.uni)
utils/padsp.c: fclose()
utils/padsp.c: ioctl()
utils/padsp.c: SNDCTL_DSP_GETOSPACE
utils/padsp.c: ioctl()
utils/padsp.c:(ctx=(nil)) fragsize=16384, fragstotal=16, bytes=262144, fragments=16 (state=4)
utils/padsp.c: ref--, now 1
utils/padsp.c: ioctl()
utils/padsp.c: ref++, now 2
utils/padsp.c: SNDCTL_DSP_GETOSPACE
utils/padsp.c: pa_stream_new() called!
pa_stream_set_state(0xa37f40): 0->1
created player context and switches stream back to _CREATING
pa_stream_writable_size(0xa37f40) is forky?
pa_stream_writable_size(0xa37f40) is ready? (s->state=1)
_CREATING i not READY, so fail
utils/padsp.c: pa_stream_writable_size(0xa37f40): Bad state; state=4 (PA_STREAM_CREATING=1)
utils/padsp.c: ioctl()
utils/padsp.c:(ctx=0xa37f40) fragsize=16384, fragstotal=16, bytes=-16385, fragments=-1 (state=4)
and return garbage to client
A little after..
pa_stream_set_state(0xa37f40): 1->2
utils/padsp.c: stream established.
something happened in event io thread (io_event_cb was activated and create_playback_stream() started creating)
utils/padsp.c: SNDCTL_DSP_GETOSPACE
utils/padsp.c: ioctl()
utils/padsp.c:(ctx=0xa37f40) fragsize=16384, fragstotal=16, bytes=245760, fragments=15 (state=4)
and things got back to normalhttps://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/387The dbus protocol should use hooks instead of the subscription system2018-07-30T10:22:44ZBugzilla Migration UserThe dbus protocol should use hooks instead of the subscription system## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **Tanu Kaskinen `@tanuk`**
**[Link to original bug (#45817)](https://bugs.freedesktop.org/show_bug.cgi?id=45817)**
## Description
The asynchronous nature of the subscription syste...## Submitted by Tanu Kaskinen `@tanuk`
Assigned to **Tanu Kaskinen `@tanuk`**
**[Link to original bug (#45817)](https://bugs.freedesktop.org/show_bug.cgi?id=45817)**
## Description
The asynchronous nature of the subscription system causes real problems in module-dbus-protocol, as reported here:
http://lists.freedesktop.org/archives/pulseaudio-discuss/2012-January/012690.html
It's much easier to avoid bugs with hooks, so the code in module-dbus-protocol that uses the subscription system should be replaced with code that does the same thing with hooks.