If dnsmasq is crashing, then the bug is inside dnsmasq and needs to be fixed by its author. There is nothing for
@thelonelycoder to fix there, the best he could do is implement a workaround (if even possible).
As
@RMerlin is saying, from my debugging, the problem is squarely with dnsmasq version 2.89.
Some debug notes:
1) YazDHCP doesn’t really “run” when the error occurs. It simply is a nicer front end to create a hostname file that will be read by dnsmasq.
2) In my case, dnsmasq crashes right after reading a hostname file. I disabled YazDHCP, commented out the dnsmasq.conf line that tells dnsmasq to read the YazDHCP created file and just use /etc/hosts.
dnsmasq v2.89 still crashed, in this case after reading /etc/hosts as opposed to reading /jffs/addons/YazDHCP.d/.hostnames.
So, YazDHCP is not the problem.
3) By replacing the dnsmasq v2.89 binary with a slightly older version (2.85) the crashes no longer occur.
4) I don’t run Diversion, but it could be that any program that creates any kind of hosts file could trigger the crash with dnsmasq v2.89.
5) I have NOT tested another scenario - have /etc/hosts be minimal. With many of us having either many entries for static IP assigment, or entries for add blocking (or both) it’s possible the length of any hosts file read by dnsmasq v2.89 could contribute to the crash. Not sure, but this is where I would test next. But, i’m not. v 2.85 is running and I have too many statics to worry about.
Simon Kelly and his team are the ones that need to fix this.
ps: If you don’t watch the messages file, you wouldn’t know this is happening. Watchdog quickly restarts dnsmasq and it works fine. Ignorence is bliss in this case ;-)