Re: dbus_connection_send_with_reply_and_block eats 100% CPU then eventually times out

Alex Brooks <a.brooks-q5Kw/nu8f7BaUVwZm7wrbVaTQe2KTcn/@public.gmane.org>
Newsgroups gmane.comp.freedesktop.dbus
Message-ID <[email protected]>
On 01/02/15 03:12, Ralf Habacker wrote:
>
> Am 31.01.2015 um 16:10 schrieb Ralf Habacker:
>>
>> Am 31.01.2015 um 14:49 schrieb Ralf Habacker:
>>>> 5 19:27, "Ralf Habacker" <ralf-aVxs2ipq/[email protected] 
>>>> <mailto:ralf-aVxs2ipq/[email protected]>> wrote:
>>>>
>>>>
>>>>     Am 31.01.2015 um 05:04 schrieb Alex Brooks:
>>>>     > Hi,
>>>>     >
>>>>     > I've been fighting for a long time with what now looks like a
>>>>     libdbus
>>>>     > bug.
>>>>     > I have a cut-down test program which calls a dbus method of
>>>>     > wpa_supplicant at 100Hz, it does this happily for several
>>>>     hours then
>>>>     > at some point the behaviour changes: any future calls sit at
>>>>     100% CPU
>>>>     > for 25sec then time out.
>>>>
>> After running about 54 minutes I got:
>>
>>  counts      time (ms)
>> 300272 3245606 signalInfo rssi=-63
>> 300273 3245616 signalInfo rssi=-63
>> Error: wpa_supplicant DBus error in signalPoll: Did not receive a 
>> reply. Possible causes include: the remote application did not send a 
>> reply, the message bus security policy blocked the reply, the reply 
>> timeout expired, or the network connection was broken.
>>
> second run gave same results:
> ...
>
> 300272 3548324 1 signalInfo rssi=-57
> 300273 3548413 79 signalInfo rssi=-59
> Error: wpa_supplicant DBus error in signalPoll: Did not receive a 
> reply. Possible causes include: the remote application did not send a 
> reply, the message bus security policy blocked the reply, the reply 
> timeout expired, or the network connection was broken.

In my case when it's in this state, it consumes 100% CPU.

> Sounds as a kind of limits reached. The counts are collected as shown 
> below:
>
>     while ( true )
>     {
>         try {
>             int a = timer.elapsed();
>             int rssi = signalPoll( *netDevInterfaceInterface_ );
>             int b = timer.elapsed();
>             cout << i++ << " " << b << " " << (b-a) << " signalInfo 
> rssi=" << rssi << endl;
>         }
>
>> Ralf
>>
>>
>> _______________________________________________
>> dbus mailing list
>> [email protected]
>> http://lists.freedesktop.org/mailman/listinfo/dbus
>


-- 
------------------------------
Dr Alex Brooks
Marathon Targets Pty Ltd
Ph: +61 2 8090 7202
Web: www.marathon-targets.com
------------------------------

_______________________________________________
dbus mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dbus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.