You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The problem is that mg_rpc_dispatch_frame() will queue the response anyway, despite the fact it can actually never be sent, which means it'll get stuck in the queue:
How to reproduce:
Invoke a RPC method over MQTT but don't provide
src
key in the request frame, for example:{ "id": 1, "method": "Sys.GetUID"}
The call will get executed, but since
dst
is unknown,mg_rpc_channel_mqtt_send_frame()
will fail, as expected:The problem is that
mg_rpc_dispatch_frame()
will queue the response anyway, despite the fact it can actually never be sent, which means it'll get stuck in the queue:[Jun 7 14:21:35.369] mg_rpc.c:655 QUEUED FRAME (109): {"id":1,"src":"shelly4pro-f008d1db58a0","result":{"pid": "mos", "app": "FourPro", "uid": "0f3abe5700799b62"}}
Eventually, such bad incoming requests can fill the queue with "dead" responses:
The text was updated successfully, but these errors were encountered: