Open dcousens opened 3 weeks ago
@zuckschwerdt unblocking UDP outbound to loopback resolves this problem.
Is something in rtl_433
trying to send on UDP loopback?
edit: yes, seemingly sending to itself
> ss -natup
udp ESTAB 0 0 127.0.0.1:44847 127.0.0.1:57884 users:(("rtl_433",pid=945337,fd=9))
udp ESTAB 0 0 127.0.0.1:57884 127.0.0.1:44847 users:(("rtl_433",pid=945337,fd=8))
unblocking UDP outbound to loopback resolves this problem.
Ah yes, actually the same error as in the referenced issue. The Mongoose network lib uses an internal socket to message across threads.
See https://github.com/merbanan/rtl_433/blob/master/include/mongoose.h#L3976
Ah, sorry I missed part of your comment in https://github.com/merbanan/rtl_433/issues/2621#issuecomment-1727776776 - the thread was quite dense and I didn't pick up on it, my bad. Oh well, documentation of threading library quirks for posterity :white_check_mark:.
I wanted to refactor to just mutexes or conditions, but our (Mongoose) event loop is based on select(2)
and thus needs to be triggered with an fd. As far as I can see we are stuck with Mongoose's broadcast mechanism.
Followup to https://github.com/merbanan/rtl_433/issues/3080. Similar to https://github.com/merbanan/rtl_433/issues/2621,
git checkout 22.11
is OK.23.11
andmaster
are producing the same error.This process is not operating with network access, if that's relevant.
Compiled cleanly with