dbus signallPoll() timeouts

a.brooks2 at marathon-targets.com a.brooks2 at marathon-targets.com
Sun Dec 21 02:22:30 EST 2014


Hi,

I'm having an issue with the signalPoll() dbus method.
If I leave a computer running for a day or three, calling signalPoll() 
at ~1Hz, eventually it gets stuck in a state where my client process 
sits at 100% CPU, occasionally returning the following error message:

"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."

Restarting my client process resets everything (without restarting 
wpa_supplicant).

I attached gdb to my process, here's where it's sitting:

#7  0xb4463a0f in dbus_pending_call_block () from 
/lib/i386-linux-gnu/libdbus-1.so.3
#8  0xb4452b95 in dbus_connection_send_with_reply_and_block () from 
/lib/i386-linux-gnu/libdbus-1.so.3
#9  0xb5e57dd9 in ?? () from /usr/lib/i386-linux-gnu/libQt5DBus.so.5
#10 0xb5e44290 in QDBusConnection::call(QDBusMessage const&, 
QDBus::CallMode, int) const () from 
/usr/lib/i386-linux-gnu/libQt5DBus.so.5
#11 0xb5e636be in 
QDBusAbstractInterface::callWithArgumentList(QDBus::CallMode, QString 
const&, QList<QVariant> const&) () from 
/usr/lib/i386-linux-gnu/libQt5DBus.so.5
#12 0xb5e64968 in QDBusAbstractInterface::call(QDBus::CallMode, QString 
const&, QVariant const&, QVariant const&, QVariant const&, QVariant 
const&, QVariant const&, QVariant const&, QVariant const&, QVariant 
const&) () from /usr/lib/i386-linux-gnu/libQt5DBus.so.5
#13 0xb5e64b34 in QDBusAbstractInterface::call(QString const&, QVariant 
const&, QVariant const&, QVariant const&, QVariant const&, QVariant 
const&, QVariant const&, QVariant const&, QVariant const&) () from 
/usr/lib/i386-linux-gnu/libQt5DBus.so.5
#14 0xb4dc543b in wpa::WpaSupplicant::signalPoll (this=<optimized out>)

I start wpa_supplicant with '-dd', here's what syslog has to say:
Dec 21 14:55:24 x17 wpa_supplicant[21763]: dbus: 
fi.w1.wpa_supplicant1.Interface.SignalPoll 
(/fi/w1/wpa_supplicant1/Interfaces/1)
Dec 21 14:55:49 x17 wpa_supplicant[21763]: dbus: 
fi.w1.wpa_supplicant1.Interface.SignalPoll 
(/fi/w1/wpa_supplicant1/Interfaces/1)
Dec 21 14:56:14 x17 wpa_supplicant[21763]: dbus: 
fi.w1.wpa_supplicant1.Interface.SignalPoll 
(/fi/w1/wpa_supplicant1/Interfaces/1)
[ ... repeating at the same rate as the timeout messages in my client 
process ... ].

I'm using the Qt dbus wrapper obviously -- not sure if the problem is 
within wpa_supplicant or Qt (or possibly my code somewhere) or how to 
tell...

Any hints?  I've run out of ideas how to track this down any further.



Thanks in advance,

Alex


More information about the HostAP mailing list