[pulseaudio-discuss] Pulse segfault when xcb related funcitnos are called.

Colin Guthrie gmane at colin.guthr.ie
Fri Sep 17 01:22:11 PDT 2010

'Twas brillig, and Luke Yelavich at 16/09/10 22:36 did gyre and gimble:
> Hi guys Since updating pulseaudio in maverick to latest stable queue
> a couple of days ago, a bug report has been filed with a segfault.
> Bug is here:
> https://bugs.edge.launchpad.net/ubuntu/+source/pulseaudio/+bug/640127
>  I have attached the threaded stack trace to this email. I'll try and
> take a look myself, but if anybody more familiar with the code could
> also take a look and try and work out whats going on, that would be
> appreciated.

Interesting. It appears to be related to my change from Xlib to XCB in
the client side code (for X11 properties on the root window).

I've not had this bug myself and have had it rolled out for a while now.

xcb_setup_vendor_end is not called directly at our end, so I'm wondering
if this is somehow an XCB issue.

Similar backtraces in other apps here:

which indicates a problem with Xnest but not real X11.


which indicates that it's a cairo bug:

but I can't believe that this is not found it's way into Ubuntu yet as
it's from 2008.

I guess it's likely some resurfacing of something similar to this.

So I think that's all a red herring.

I do call xcb_setup_roots_iterator(), but I wonder if this line
(repeated three times) in src/pulsecore/pax11prop.c is causing it:
    screen = xcb_setup_roots_iterator(xcb_get_setup(xcb)).data;

I guess the backtrace would suggested that xcb_get_setup() is returning
something strange as the call does go into xcb_setup_roots_iterator() so
that means xcb_get_setup(xcb) has returned already.

That said this code was taken directly from the tutorial, so I'd be
surprised if it's the wrong approach:


Perhaps need to ask an XCB expert?



Colin Guthrie

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mandriva Linux Contributor [http://www.mandriva.com/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]

More information about the pulseaudio-discuss mailing list