Request for observations: RMT rmt_driver_install crashing repeatedly after a previous crash
Posted: Wed Apr 04, 2018 4:29 am
I've seen some issues with RMT on the ESP-IDF v3.0rc1 branch recently. In particular, RMT-heavy operations (such as reading from multiple DS18B20 devices regularly) seems to work well, until something unrelated causes the ESP32 to crash and reset. Then when the device boots up and tries to initialise the RMT driver with rmt_driver_install(), it may crash again. Once this happens, it continues repeatedly until a human presses the reset button.
My JTAG debugger showed that it's sometimes a null pointer dereference in the RMT driver, but I haven't worked out why that particular pointer is null yet.
I suspect, but currently can't prove, that the sudden crash causes the RMT peripheral to be left in an unusual state that the RMT driver init code currently doesn't expect or deal properly with.
Anyway, I'll continue to debug with my own observations, but what I'd like to know in the meantime is if anyone else has seen similar behaviour? I'm looking for patterns.
My JTAG debugger showed that it's sometimes a null pointer dereference in the RMT driver, but I haven't worked out why that particular pointer is null yet.
I suspect, but currently can't prove, that the sudden crash causes the RMT peripheral to be left in an unusual state that the RMT driver init code currently doesn't expect or deal properly with.
Anyway, I'll continue to debug with my own observations, but what I'd like to know in the meantime is if anyone else has seen similar behaviour? I'm looking for patterns.