systemd is used in Linux to initialize the machine and manage all subprocesses after boot. Being written by a committee, it is bloated and soaks up machine resources like a biscuit on gravy. Before systemd came into being, we were very happy with initd or any of the other boot managers. There are many Linux distributions that take great pride in not using systemd.
Well, two days ago, Andrew Ayer posted this little piece of joy:
How to Crash Systemd in One Tweet
The following command, when run as any user, will crash systemd:
NOTIFY_SOCKET=/run/systemd/notify systemd-notify ""
After running this command, PID 1 is hung in the pause system call. You can no longer start and stop daemons. inetd-style services no longer accept connections. You cannot cleanly reboot the system. The system feels generally unstable (e.g. ssh and su hang for 30 seconds since systemd is now integrated with the login system). All of this can be caused by a command that's short enough to fit in a Tweet.
The bug is remarkably banal. The above systemd-notify command sends a zero-length message to the world-accessible UNIX domain socket located at /run/systemd/notify. PID 1 receives the message and fails an assertion that the message length is greater than zero. Despite the banality, the bug is serious, as it allows any local user to trivially perform a denial-of-service attack against a critical system component.
Chiefio has two great systemd stories - here is the opening of the first:
My 1st & 2nd SystemD Bite On The Ass
SysAdmins with a long experience develop a sense… a sense of Impending Doom… about some changes. After 20+ years of sewing your own toes back on and looking for the foot that got shot off and watching your friends and neighbors go up in flames (sometime self immolated, others with outside help), well, you get cautious about some things. Rather like someone from battle experience who reacts badly to “SURPRISE!” from a darkened room suddenly full of moving people and lights…
That was my initial response to SystemD.
No, not a single “reason”. No, no bad experiences At All. Yes, lots of folks who had plenty of experience and credentials said the Cool-Aid was Just FINE… But it smelled a bit fishy to me…
And, it would seem, to plenty of other ‘old hands’ at Unix and Linux. Part of the Unix philosophy, carried over until recently in Linux, was a program ought to be small, do one thing really well, and modularly connect to other programs.
Read more here: SystemD – it keeps getting worse
Leave a comment