Thread (7 messages) flat view 7 messages, 2 authors, 2019-08-30

Re: [PATCH BlueZ] mesh: Log D-Bus method call errors

From: Gix, Brian <hidden>
Date: 2019-08-29 20:07:28

Hi Michał,
On Aug 29, 2019, at 12:56 PM, "michal.lowas-rzechonek@silvair.com" [off-list ref] wrote:

Hi Brian,
quoted
On 08/29, Gix, Brian wrote:
That is true, and we *expect* applications that are attached to handle
the socket-signals (that drive d-bus) in a timely manner...  But I am
not sure we have a way to enforce it.

Certainly, we can simulate a disconnection if an App ignores it's DBus
socket signal, but again, we won't know about that for 30 seconds
which seems like forever...  And an App could potentially have a large
enough backlog of messages negatively affecting the daemon before it
and corrects it.
This seems like a limitation of ELL:
1. There doesn't seem to be an explicit API to set timeouts on method
  calls, so if the application takes too long to handle method calls,
  message_list hashmap in l_dbus struct would indeed grow quite large.
2. There doesn't seem to be a way to set an upper limit of pending
  messages (or maybe even message rate?) in l_dbus connection.

Still, looking at ell/dbus.c, it seems it should be possible to manually
call l_dbus_cancel after obtaining serial number of the method call
message, using _dbus_message_get_serial from dbus-private.h (yeah, I
know).

Anyway, I think a better approach would be to submit patches to ELL
implementing these two features, and then use these additions in meshd.
Does that sound acceptable from your POV?
I’m not sure I agree with you on the need to expose and adjust  DBus message timeouts, however, I think you are probably correct that the correct place to have that conversation is on the ELL reflector, which can be accessed here:

https://lists.01.org/mailman/listinfo/ell

I still feel though, that you are trying to solve a pre-deployment “debugging” issue by requiring DBus responses for messages that don’t require them.

By the way, it seems that bluetoothd suffers from the same problem with
regards to external GATT services/characteristics/descriptors.

regards
-- 
Michał Lowas-Rzechonek [off-list ref]
Silvair http://silvair.com
Jasnogórska 44, 31-358 Krakow, POLAND
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help