[pulseaudio-discuss] PA 7.0 crash with KDE
Takashi Iwai
tiwai at suse.de
Fri Oct 16 08:58:29 PDT 2015
On Fri, 16 Oct 2015 14:59:38 +0200,
Takashi Iwai wrote:
>
> On Fri, 16 Oct 2015 13:50:58 +0200,
> David Henningsson wrote:
> >
> >
> >
> > On 2015-10-16 10:35, Takashi Iwai wrote:
> > > On Fri, 16 Oct 2015 09:16:04 +0200,
> > > David Henningsson wrote:
> > >>
> > >> (Adding pulseaudio-discuss to CC)
> > >>
> > >> On 2015-10-15 16:26, Takashi Iwai wrote:
> > >>> Hi David,
> > >>>
> > >>> we got bug reports with PA 7.0 where the recent KDE crashes.
> > >>> It seems that srbchannel=no works around it, so there is still
> > >>> something fishy there.
> > >>>
> > >>> The bug report is found at
> > >>> http://bugzilla.opensuse.org/show_bug.cgi?id=950487
> > >>
> > >> Hi Takashi and thanks for reporting.
> > >>
> > >> I've tried running PA 7.0's pactl under valgrind, and it reports no
> > >> errors here. Still, looking at the one of the backtraces the value of f
> > >> is something interesting:
> > >>
> > >> #6 flush (f=f at entry=0x4545454545454545) at pulsecore/fdsem.c:143
> > >> #7 0x00007fe30f378fc2 in pa_fdsem_before_poll (f=0x4545454545454545) at
> > >> pulsecore/fdsem.c:295
> > >> #8 0x00007fe30f38f697 in srbchannel_rwloop (sr=0x25bdd40) at
> > >> pulsecore/srbchannel.c:203
> > >>
> > >> Does 0x4545454545454545 mean anything specific on OpenSUSE? (Like, a
> > >> magic clear value or something?)
> > >
> > > I don't think it's openSUSE specific. It's likely the guard put by
> > > either gcc or glibc.
> > > FWIW, we pass the default optimization flags like:
> > > CFLAGS=-fmessage-length=0 -grecord-gcc-switches -O2 -Wall \
> > > -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables \
> > > -fasynchronous-unwind-tables -g -fPIE
> > >
> > > The problem was reported from both gcc-4.8 and gcc-5.x systems, so the
> > > gcc version is likely irrelevant.
> > >
> > >> Also, are there any distro patches to OpenSUSE and if so, where can I
> > >> find them?
> > >
> > > No, there is no patches apparently relevant with this. Actually there are
> > > three patches, one is to check an additional environment check in
> > > start-pulseaudio-x11, another is to suppress an error log at
> > > sockaddr_prepare(), and the last is a fix in memset() size in
> > > echo-cancel/adrian-aec.c. But all these should be safe.
> > >
> > > All sources, patches, build log and binaries are found in OBS, e.g. at
> > > https://build.opensuse.org/package/show/multimedia:libs/pulseaudio
> >
> > Ok, thanks.
> >
> > I've been trying to analyze the backtrace.
> >
> > My guess is that the srbchannel is being destroyed somehow, but I don't
> > see how. Any chance we can get more info from this, e g, build
> > pulseaudio's client library with -DDEBUG_SRBCHANNEL=1 and then get a log
> > like this:
> >
> > PULSE_LOG=99 pactl info
> >
> > ...which includes the crash?
>
> OK, I'm building a package with the debug enabled and will ask
> reporters to test with it.
Attached below.
Takashi
===
Parsing configuration file '/etc/pulse/client.conf'
Using shared memory pool with 1024 slots of size 64,0 KiB each, total size is 64,0 MiB, maximum usable slot size is 65472
Trying to connect to {6d6d572d956b40f294aa3c73329c58c8}unix:/run/user/1000/pulse/native...
SHM possible: yes
Protocol version: remote 30, local 30
Negotiated SHM: yes
Enabling io event on fd 9
Calling rw loop from deferred event
In rw loop from srbchannel, before callback, count = 0
Read 0 bytes from srbchannel
In rw loop from srbchannel, after callback, count = 0
Read 0 bytes from srbchannel
Read 0 bytes from srbchannel
Wrote 30 bytes to srbchannel, signalling fdsem
Read 0 bytes from srbchannel
In rw loop from srbchannel, before callback, count = 176
Read 20 bytes from srbchannel
Read 156 bytes from srbchannel
Server String: unix:/run/user/1000/pulse/native
Library Protocol Version: 30
Server Protocol Version: 30
Is Local: yes
Client Index: 12
Tile Size: 65472
User Name: alberto
Host Name: linux-vekw.suse
Server Name: pulseaudio
Server Version: 7.0
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
Default Source: alsa_input.pci-0000_00_1b.0.analog-stereo
Cookie: ea75:72ba
Freeing srbchannel
In rw loop from srbchannel, after callback, count = -1680245669
Errore di segmentazione
More information about the pulseaudio-discuss
mailing list