On Tue, 17 Mar 2009, Jason Rumney wrote:
While I think that the blame is with libcanberra, I'm confused
about the fact that the segfault only happens during the second
request from a client. Does it mean that there is a GDK default
display at the time of the first request, but not for the second
one? Why?
Just a guess without looking at libcanberra, but could the bug be
that libcanberra remembers the default display created during the
first request and tries to reuse it after it is closed?
It doesn't remember it. libcanberra just calls a GTK function, which
in turn asks the GDK display manager for the default display. And that
returns a valid display for the first request, but a null pointer for
the second one.