[pulseaudio-discuss] [PATCH 0/5] Fix "flist is full" log spamming

Colin Guthrie gmane at colin.guthr.ie
Sun Nov 28 08:33:06 PST 2010


Hi,

'Twas brillig, and oku at iki.fi at 26/11/10 16:38 did gyre and gimble:
> From: Jyri Sarha <jyri.sarha at nokia.com>
> 
> I forgot a spamming log message to the flist.c patch that was applied
> a few days ago. This is an attempt to lower the annoyance level of that
> log message.
> 
> The first patch lowers the log level for the message and adds ratelimit
> to it.

Thanks for looking at that issue.

> The second patch adds name of the flist to the log message. To do that
> it adds pa_flist_new_with_name() function which is used in
> PA_STATIC_FLIST_DECLARE macro .
> 
> By adding a new function to libpulsecommon I hit very anoyng build
> problems. In Makefile.am many binaries are only linked to libpulse but
> not to libpulsecommon. This works as long as there is a close enough
> libpulsecommon version installed in the system, but when you add a new
> function to libpulsecommon things fall a part.

Yeah, this has been a bit of a concern recently, thanks for looking into it.

> To fix this I made the third patch. This fix is kind of unfortunate,
> because it ties pulseaudio client tightly to libpulsecommon version.
> But I guess that is not too serious since most clients are already
> linking directly to libpulsecommon. If you don't agree with my solution
> just leave this one out.
> 
> The fourth patch fixes a reverse of the previous problem. IOW, if you
> try to compile an older source tree and the one installed in your system
> the binaries (test binaries mostly) linking only to libpulsecommon will
> find newer version of libpulse which may expect non existing symbols
> from currently built libpulsecommon.

Cool. This will likely also address the same issue that Luke TheMuso
Yelavich pointed out on 15th October. I originally put that issue down
to some kind of over/underlinking issue, but from your explanation it's
clear there is a system->build link conflict and this explicit linking
seems like a good idea after all. Apologies to Luke for not seeing this
properly before :(

> The last patch puts LIRC_LIBS last on LIBADD line. This avoids problem
> when you have an older version pulseaudio libs installed under /usr/lib
> and you are building a newer version with some other directory prefix.
> The LIRC_LIBS before PA-libs puts -L/usr/lib before -L$(libdir) on
> relink (=install) phase, which is bad.

Seems sensible.

I've pushed all of them into my tree now (with some modification for a
build-system change I had already committed locally (sed -i
s/PA_MAJORMINORMICRO/PA_MAJORMINOR/g).

Thanks for this.

Col

> Jyri Sarha (5):
>   core: Lower "flist is full" log message level to debug and ratelimit
>     it
>   core: Add name to flist struct for more informative log messages
>   src/Makefile.am: Link binaries linking libpulse to libpulsecommon too
>   src/Makefile.am: Link binaries linking libpulsecommon to libpulse too
>   src/Makefile.am: Link lirc libraries in right order
> 
>  src/Makefile.am       |   82 ++++++++++++++++++++++++------------------------
>  src/pulsecore/flist.c |   11 +++++-
>  src/pulsecore/flist.h |    7 +++-
>  3 files changed, 55 insertions(+), 45 deletions(-)


-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]




More information about the pulseaudio-discuss mailing list