Hi mates, I would try to get from your experience a sensation, lookign for a concrete/real answer is hard with few elements, but you know better than me how kernel works and where I should look deeper to solve it.
I have RB3, with Raspbian updated, powered by DC/DC 3A from 12v to 5,32v (+ a 10.000uF capacitor), there are some pheripheral connected to GPIO (6lines I/0, 2 16libes PWM drivers (connected to 5V relay, powered separetely), one RPC, one ADS1115 ADC, one LCD 20x4. Maybe all is around 50-100mA), nothing on USB, and I'm running Node Red latest version with very low CPU power load.
The first time I experienced a "frozen" it was about power undervoltage, it was set at 5,02v, maybe the USB cable wasn't that good (but not bad too, it was from a power adapter of 2,1A, and I used only 25cm lenght), now I rised up to 5.32 volt and no more problems (with 5,25v I had again one log line into syslog file) but I exprienced aother "frozen".
I've to add, it it matters somehow, that the router that recently I replaced isn't so good, and raspberry had quite often a eth0 carrier lost for about one second, then it goes up, the camble is 3 meters only and well done, now I connected to a switch to avoid these ups/downs.
On the syslog file when frozen become from low voltage reasons (I expect, I'm not sure about it, it happened typically every 8-12 days) the Node red was "frozen", the SSH not more usable, but the ICMP packets from ping were managed.. RB replied to ping, I haven't other chances than reboot by pulling off the microusb power, and after I noticed on the syslog file a line full of "null" chars.
Today I experience another frozen, on the all old syslog files there is no "udervoltage", the ping was reply, Node red frozen, no SSH.
It seems there are some process which are killed by kernel (for example TCP protocol, I suppose, or maybe all the services that opened a TCP listening port, like Telnet that I enabled), and some others keep working, like IP, ICMP..
How it is possible ICMP works but not the TCP open ports? is the ICMP service running at higher privilege?
what can be wrong here? Is it possible that "eth0 carrier lost" may frozen raspberry?
I'm looking for a watchdog to reboot RB if for example it can't connect to port 127.0.0.1:1880, so I can check if node red is working and rplying. How to do that? Thank you a lot!