This happened on an Ubuntu 14.04 64-bit DigitalOcean Droplet:
Apr 22 02:17:02 localhost CRON: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Apr 22 03:16:59 localhost kernel: [211877.884132] show_signal_msg: 12 callbacks suppressed Apr 22 03:16:59 localhost kernel: [211877.884140] python: segfault at 24 ip 00000000004c278f sp 00007fbad163caa0 error 6 in python2.7[400000+2bd000]
Right around 3:16 AM, the CPU spiked up to 100%, and the machine became unresponsive to ping, SSH and (remote) console:
How could the "callback suppressed" throttling appear before the first segfault?
In general, how could a few segfaults cause the kernel to lock up? The offending process was in 'while :; do python script.py; sleep 1; done' (NOTE sleep), was running with 'nice 10' and had an increased oom_adj so that the kernel would kill it first:
open('/proc/self/oom_adj', 'w').write('10') os.nice(10)