From: Colin Guthrie <gmane@colin.guthr.ie>
To: alsa-devel@alsa-project.org
Subject: Re: [Fwd: Re: [pulseaudio-discuss] pulseaudio debug mode]
Date: Mon, 26 Jul 2010 10:29:02 +0100 [thread overview]
Message-ID: <i2jkgq$c2o$2@dough.gmane.org> (raw)
In-Reply-To: <AANLkTin4S-S-xKkx41ZVZKVJVJ+T8ppuHsi033J8ZT=3@mail.gmail.com>
'Twas brillig, and Raymond Yau at 26/07/10 05:21 did gyre and gimble:
> 2010/7/26 Raymond Yau <superquad.vortex2@gmail.com>
>
>>
>>
>> 2010/7/26 Chris <cpollock@embarqmail.com>
>>
>>> On Mon, 2010-07-26 at 09:45 +0800, Raymond Yau wrote:
>>>> 2010/7/26 Chris <cpollock@embarqmail.com>
>>>>
>>>>> On Mon, 2010-07-26 at 07:31 +0800, Raymond Yau wrote:
>>>>>> 2010/7/26 Chris <cpollock@embarqmail.com>
>>>>>>
>>>>>>> Raymond, attached is a post I made today to the pulseaudio list.
>>>>>>>
>>>>>>> From: Chris <cpollock@embarqmail.com>
>>>>>>> To: pulseaudio-discuss@mail.0pointer.de
>>>>>>> Date: Sun, 25 Jul 2010 12:15:02 -0500
>>>>>>> Subject: Re: [pulseaudio-discuss] pulseaudio debug mode
>>>>>>> On Fri, 2010-07-23 at 08:58 +0100, Colin Guthrie wrote:
>>>>>>>> 'Twas brillig, and Chris at 23/07/10 02:04 did gyre and gimble:
>>>>>>>>> What is the best way to start PA for debugging and still have
>>> all
>>>>> the
>>>>>>>>> usual clients running?
>>>>>>>>
>>>>>>>> If you mean having all the clients connect (e.g. applications
>>> with
>>>>>>>> libcanberra support or similar for sound events), then there are
>>>>>>>> basically two ways.
>>>>>>>>
>>>>>>>> The first is as Luke suggests. These clients will automatically
>>>>>>>> reconnect to PA if they need to (provided you have a vaguely
>>> recent
>>>>>>>> libcanberra), after it is restarted and run in debug mode.
>>>>>>>>
>>>>>>>> Alternatively you can simply set debug-level to "debug" in
>>>>> daemon.conf
>>>>>>>> (in /etc/pulse or ~/.pulse), and then "grep pulseaudio
>>>>> /var/log/messages"
>>>>>>>>
>>>>>>>> Col
>>>>>>>>
>>>>>>>
>>>>>>> Colin, link below is for debug output also some other output.
>>> Anything
>>>>>>> look out of place that would cause the overruns?
>>>>>>>
>>>>>>> http://pastebin.com/ZWSWmXZt
>>>>>>> --
>>>>>>>
>>>>>>
>>>>>> Most likely you will need to set debug-level to "debug" in
>>> daemon.conf
>>>>>> logout and login , and check the /var/log/messages
>>>>>>
>>>>>> I suspect it occur after PA server abort and auto spawn , so please
>>> don't
>>>>>> just post the PA log starting from "asyncq overrun" , you need to
>>> post
>>>>> from
>>>>>> the last two PA startup sequence before the error occur since we
>>> need to
>>>>>> know why PA auto spawn
>>>>>
>>>>> Is this what you mean Raymond:
>>>>> http://pastebin.com/4RT7YaG6
>>>>>
>>>>>
>>>> No, you don't have "asyncq overrun" error in these log
>>>>
>>>> if you had change the "debug-level", the log still keep in
>>> /var/log/messages
>>>>
>>>> The PA client which can connected to PA server before the PA server
>>> start
>>>> the playing thread is the PA client which autospawn the PA server
>>>
>>> The log level has been set to debug all day
>>>
>>> ### Read from configuration file: /home/chris/.pulse//daemon.conf ###
>>> daemonize = no
>>> fail = yes
>>> high-priority = yes
>>> nice-level = -11
>>> realtime-scheduling = yes
>>> realtime-priority = 5
>>> allow-module-loading = yes
>>> allow-exit = yes
>>> use-pid-file = yes
>>> system-instance = no
>>> cpu-limit = no
>>> enable-shm = yes
>>> flat-volumes = yes
>>> lock-memory = no
>>> exit-idle-time = 20
>>> scache-idle-time = 20
>>> dl-search-path = /usr/lib/pulse-0.9.21/modules
>>> default-script-file = /etc/pulse/default.pa
>>> load-default-script-file = yes
>>> log-target = auto
>>> log-level = debug
>>> resample-method = speex-float-0
>>> enable-remixing = yes
>>> enable-lfe-remixing = no
>>> default-sample-format = s16le
>>> default-sample-rate = 44100
>>> default-sample-channels = 2
>>> default-channel-map = front-left,front-right
>>> default-fragments = 4
>>> default-fragment-size-msec = 25
>>> shm-size-bytes = 0
>>> log-meta = no
>>> log-time = yes
>>> log-backtrace = 0
>>> rlimit-fsize = -1
>>> rlimit-data = -1
>>> rlimit-stack = -1
>>> rlimit-core = -1
>>> rlimit-rss = -1
>>> rlimit-as = -1
>>> rlimit-nproc = -1
>>> rlimit-nofile = 256
>>> rlimit-memlock = -1
>>> rlimit-locks = -1
>>> rlimit-sigpending = -1
>>> rlimit-msgqueue = -1
>>> rlimit-nice = 31
>>> rlimit-rtprio = 9
>>> rlimit-rttime = 1000000
>>>
>>>
>>> The is what happens after a fresh log-in and Mandrive update is running
>>> and I also start Firefox:
>>>
>>> Jul 25 21:48:22 localhost mdkapplet[16332]: Computing new updates...
>>> Jul 25 21:48:23 localhost mdkapplet[16332]: running: urpmi.update
>>> --update
>>> Jul 25 21:48:39 localhost mdkapplet[16332]: updating inactive backport
>>> media Main Backports (Official2010.1-4), Contrib Backports
>>> (Official2010.1-12), Non-free Backports (Official2010.1-20), PLF Free
>>> backports, PLF Non-free backports
>>> Jul 25 21:48:39 localhost mdkapplet[16332]: running: urpmi.update Main
>>> Backports (Official2010.1-4)
>>> Jul 25 21:48:46 localhost mdkapplet[16332]: running: urpmi.update
>>> Contrib Backports (Official2010.1-12)
>>> Jul 25 21:48:48 localhost mdkapplet[16332]: running: urpmi.update
>>> Non-free Backports (Official2010.1-20)
>>> Jul 25 21:48:51 localhost mdkapplet[16332]: running: urpmi.update PLF
>>> Free backports
>>> Jul 25 21:48:55 localhost mdkapplet[16332]: running: urpmi.update PLF
>>> Non-free backports
>>> Jul 25 21:48:57 localhost pulseaudio[26721]: (7440.932| 71.318)
>>> client.c: Created 44 "Native client (UNIX socket client)"
>>> Jul 25 21:48:57 localhost pulseaudio[26721]: (7440.932| 0.000)
>>> protocol-native.c: Protocol version: remote 16, local 16
>>> Jul 25 21:48:57 localhost pulseaudio[26721]: (7440.932| 0.000)
>>> protocol-native.c: Got credentials: uid=500 gid=500 success=1
>>> Jul 25 21:48:57 localhost pulseaudio[26721]: (7440.932| 0.000)
>>> protocol-native.c: SHM possible: yes
>>> Jul 25 21:48:57 localhost pulseaudio[26721]: (7440.932| 0.000)
>>> protocol-native.c: Negotiated SHM: yes
>>> Jul 25 21:48:57 localhost pulseaudio[26721]: (7440.934| 0.001)
>>> module-augment-properties.c: Looking for .desktop file for firefox
>>> Jul 25 21:49:19 localhost pulseaudio[26721]: (7462.497| 21.563)
>>> asyncq.c: q overrun, queuing locally
>>> Jul 25 21:49:19 localhost pulseaudio[26721]: (7462.577| 0.080)
>>> asyncq.c: q overrun, queuing locally
>>> Jul 25 21:49:19 localhost pulseaudio[26721]: (7462.577| 0.000)
>>> asyncq.c: q overrun, queuing locally
>>> Jul 25 21:49:19 localhost pulseaudio[26721]: (7462.657| 0.079)
>>> asyncq.c: q overrun, queuing locally
>>> Jul 25 21:49:19 localhost pulseaudio[26721]: (7462.737| 0.080)
>>> asyncq.c: q overrun, queuing locally
>>> Jul 25 21:49:19 localhost pulseaudio[26721]: (7462.737| 0.000)
>>> asyncq.c: q overrun, queuing locally
>>> Jul 25 21:49:19 localhost pulseaudio[26721]: (7462.737| 0.000)
>>> asyncq.c: q overrun, queuing locally
>>> Jul 25 21:49:19 localhost pulseaudio[26721]: (7462.737| 0.000)
>>> asyncq.c: q overrun, queuing locally
>>> Jul 25 21:49:19 localhost pulseaudio[26721]: (7462.817| 0.079)
>>> asyncq.c: q overrun, queuing locally
>>> Jul 25 21:49:19 localhost pulseaudio[26721]: (7462.817| 0.000)
>>> asyncq.c: q overrun, queuing locally
>>> Jul 25 21:49:19 localhost pulseaudio[26721]: (7462.897| 0.079)
>>> asyncq.c: q overrun, queuing locally
>>> Jul 25 21:49:51 localhost mdkapplet[16332]: Packages are up to date
>>>
>>>
>> you should ask PA developer to add code to debug since this is a queue used
>> by PA and has no relationship with alsa ,
>>
>> alsa-sink and alsa-source can only post PA_CORE_MESSAGE_UNLOAD_MODULE
>>
>> modules/alsa/alsa-sink.c: pa_asyncmsgq_post(u->thread_mq.outq,
>> PA_MSGOBJECT(u->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL,
>> NULL);
>> modules/alsa/alsa-source.c: pa_asyncmsgq_post(u->thread_mq.outq,
>> PA_MSGOBJECT(u->core), PA_CORE_MESSAGE_UNLOAD_MODULE, u->module, 0, NULL,
>> NULL);
>>
>>
>> and you have to copy definition of struct asyncmsgq_item from asyncmsgq.c
>>
>>
>> void pa_asyncq_post(pa_asyncq*l, void *p) {
>> struct localq *q;
>> + struct asyncmsgq_item *i;
>>
>> pa_assert(l);
>> pa_assert(p);
>>
>> + i=( struct asyncmsgq_item *)p;
>>
>> if (flush_postq(l, FALSE))
>> if (pa_asyncq_push(l, p, FALSE) >= 0)
>> return;
>>
>> /* OK, we couldn't push anything in the queue. So let's queue it
>> * locally and push it later */
>>
>> if (pa_log_ratelimit())
>> - pa_log_warn("q overrun, queuing locally");
>> + pa_log_warn("q overrun, queuing locally code %d",i->code);
>>
>
>
> you have to find out why this fail to return
>
> flush_postq() return false or pa_asyncq_push() return negative number
>
> if (flush_postq(l, FALSE))
> if (pa_asyncq_push(l, p, FALSE) >= 0)
> return;
I can add this kind of debug to a package for you Chris if you like. I'm
not 100% sure what info it will find out though....
What arch are you using i586 or x86_64?
Col
--
Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/
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/]
next prev parent reply other threads:[~2010-07-26 9:30 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1280097015.29696.8.camel@localhost.localdomain>
2010-07-25 23:31 ` [Fwd: Re: [pulseaudio-discuss] pulseaudio debug mode] Raymond Yau
2010-07-26 1:30 ` Chris
2010-07-26 1:45 ` Raymond Yau
2010-07-26 3:06 ` Chris
2010-07-26 3:22 ` Raymond Yau
2010-07-26 9:26 ` Colin Guthrie
2010-07-26 13:20 ` Raymond Yau
2010-07-26 4:00 ` Raymond Yau
2010-07-26 4:21 ` Raymond Yau
2010-07-26 9:29 ` Colin Guthrie [this message]
2010-07-26 11:12 ` Raymond Yau
2010-07-26 11:22 ` Chris
2010-07-27 0:36 ` Raymond Yau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='i2jkgq$c2o$2@dough.gmane.org' \
--to=gmane@colin.guthr.ie \
--cc=alsa-devel@alsa-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.