find . -type f -or -type l | sort | xargs --delimiter=\\n md5sum -b
The intent is to recursively produce a sorted listing of MD5 hashes for all files at or below the current directory.
What's wrong with this, you ask?
Well, if a subdirectory somewhere in the tree happens to contain an old copy of the /dev directory, this fails in rather spectacular fashion. Although we've taken care to exclude device nodes from the list of files to be processed (via the -type options), symbolic links to devices are still processed. And /dev/core is a symbolic link to /proc/kcore. And /proc/kcore is a pseudo-file that maps to the entire virtual address space of the CPU -- all 128TB of it (if you are on a 64-bit x86 processor)!
The initial outward symptom is that the script appears to hang, as md5sum attempts to digest the 128TB /proc/kcore.
If you let it continue running, several hours in really bad sh*t starts to happen. The evidence was in the system logs; messages like:
Mar 12 03:02:12 systemname kernel: [145860.816052] BUG: soft lockup - CPU#6 stuck for 22s! [md5sum:26719]
and a few hours after that:
Mar 12 08:31:51 systemname rtkit-daemon[5207]: The canary thread is apparently starving. Taking action.
Mar 12 08:32:07 systemname rtkit-daemon[5207]: Demoting known real-time threads.
Eventually the system just wedges and you need to push the reset button.
Fun times.