Segmentation fault in the NETIDM decoder (protocol 161), triggered by a neighboring ERT net meter
Thank you very much for rtl_433, and for the ongoing work of everyone who maintains and contributes to it. Over the past year it has become the foundation of a home soil- and weather-monitoring system that I depend on daily, and I am grateful for it.
I am writing to report a crash that I observed on two independent receivers, in the hope that it may be useful. I am not an expert in the decoders themselves, so I would ask that the following be read as a careful description of what I saw rather than a diagnosis of the underlying cause.
Environment
- rtl_433 version
25.12-360-g3ac32fc1(branchmaster, built 2026-09-01), running inside the pbkhrv rtl_433 (next) Home Assistant add-on on two separate machines. - 915 MHz, RTL-SDR (Nooelec NESDR SMArt v5). Default protocol set; no custom decoders enabled.
What happened
On 2026-09-04, both receivers stopped at very nearly the same moment — within a few tens of milliseconds of one another. In each case run.sh reported Segmentation fault (core dumped), the process exited with code 139, and the add-on did not recover on its own. Because the two machines are entirely independent, their failing together strongly suggested a single over-the-air packet rather than a local fault, and the logs confirmed that the last decoded message on both was the same neighboring meter.
The final decoded line before the crash, on both receivers, was a NETIDM reading (ERT Interval Data Message for Net Meters, protocol 161):
model: NETIDM id: <redacted> PacketTypeID: 0x1C PacketLength: 92
ApplicationVersion: 4 ERTType: 0x17 ConsumptionIntervalCount: 195
ModuleProgrammingState: 0xBC LastConsumptionCount: 2151686160
TransmitTimeOffset: 3585 Integrity: CRC (ASK, ~915.4 MHz)This turned out to be a neighbor's meter rather than one of my own, so I have no way to influence when, or how often, it transmits.
Reproducibility, and a caveat
The crash recurred whenever that meter sent this packet, which in practice occurred intermittently over the air. Unfortunately I do not have a .cu8 capture of the specific packet: the meter's transmissions are sporadic, and I have since restricted my receivers to only the protocols I actually use, which disables 161 and therefore stops the crash on my end. If a capture would be helpful, I would gladly try to record one, though I cannot promise catching it.
In closing
I am raising this only in case it helps to harden the NETIDM decoder against a malformed or otherwise unexpected packet; I fully appreciate that a sporadic neighbor signal is difficult to work with. Thank you again to Benjamin Larsson and to all of the rtl_433 contributors, and to Peter (pbkhrv) for the Home Assistant add-on. I am happy to provide any additional detail I can.
Source: merbanan/rtl_433