Sometimes SignalStream does not produce any value.
Hello,
As discussed on Matrix, it sometimes happen that the SignalStream created from the receive_
method from the generated async Proxy does not produce any message.
That's a little bit rough, but this sample code reproduce it after some minutes:
Steps to reproduce are in the listener readme : https://github.com/ludo-c/fake-listener/blob/main/README.md
After few minutes, the log ERROR fake_listener] Signal received.
isn't showed anymore, and logs are only:
1232022-11-18T22:49:15.203537Z TRACE receive_msg: 122: Message received on the socket: Msg { type: Signal, sender: UniqueName(Str(Borrowed(":1.18160"))), path: ObjectPath("/ludo_ic/daemon/producer"), iface: InterfaceName(Str(Borrowed("ludo_ic.daemon.producer"))), member: MemberName(Str(Borrowed("MySignalEvent"))), body: Signature("ii") }
2022-11-18T22:49:15.203669Z TRACE receive_msg: 131: Message broadcasted to all streams: Msg { type: Signal, sender: UniqueName(Str(Borrowed(":1.18160"))), path: ObjectPath("/ludo_ic/daemon/producer"), iface: InterfaceName(Str(Borrowed("ludo_ic.daemon.producer"))), member: MemberName(Str(Borrowed("MySignalEvent"))), body: Signature("ii") }
2022-11-18T22:49:15.203793Z TRACE receive_msg: 107: Waiting for message on the socket..
in loop.
For what it's worth, stopping and restarting the producer solve the issue, but that's of course not the good solution (I have no control on the producer in the real case).
I hope you will reproduce it too.
Do not hesitate if you have any questions.
Thank you very much !
Edit: I reproduce it on Ubuntu 22.04.1 LTS.