Summary: | systemd segfaults if no cgroups are available | ||
---|---|---|---|
Product: | systemd | Reporter: | Richard Weinberger <richard> |
Component: | general | Assignee: | systemd-bugs |
Status: | RESOLVED FIXED | QA Contact: | systemd-bugs |
Severity: | major | ||
Priority: | medium | CC: | brovvnout+bugzilla, pasthelod |
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Richard Weinberger
2014-02-05 21:57:47 UTC
From IRC, this is systemd v208 on OpenSUSE 13.1. To make this work we'd need a patch, as nobody of us tests this. Hope all of you either test all the combinations or do not break *at will* those you don't have the time and inclination to test, at least in system-wide components that are not specific to systemd, while pushing the latter hard. Well, cgroups-less kernels are explicitly not supported by systemd. However we added some hacks to allow it to boot to a certain degree even if a lot of things will not work correctly afterwards. In this mode when you boot you will actually get a warning on screen and bootup is delayed by 10s to make sure the user understands this. Now, this mode recently broke, and it will segfault early on. I am happy to take a patch to 'fix' this again, but I will not work on this as i dont run kernels like this, and as mentioned its not really supported anyway... Another option is to simply be honest amd stop supporting in entirely, and refuse booting completely. And I figure this is what I will eventually do if nobody cares enough to send me a patch to fix that segfault. You are right, it is a well known fact that cgroups-less kernels won't work with systemd. But users will also face this bug if they boot a Linux container without mounting cgroups into the container. This is how I've found the issue. Mounting cgroups into container is got fixed lately in libvirt-lxc, but other LXC implementations may still suffer from that issue... (In reply to comment #2) > To make this work we'd need a patch, as nobody of us tests this. Yes, it's clear you don't test for NULL pointers before deferencing. Nobody else should need to provide a patch to fix the bug you created. If you can't figure out how to check for NULL pointers, STOP WRITING CODE IMMEDIATELY! You should never EVER be deferencing any pointer without first sanity checking its value. NO EXCEPTIONS! P.S. Please go die in a fire. (In reply to comment #6) > (In reply to comment #2) > > To make this work we'd need a patch, as nobody of us tests this. > > Yes, it's clear you don't test for NULL pointers before deferencing. Nobody > else should need to provide a patch to fix the bug you created. If you can't > figure out how to check for NULL pointers, STOP WRITING CODE IMMEDIATELY! > You should never EVER be deferencing any pointer without first sanity > checking its value. NO EXCEPTIONS! > > P.S. Please go die in a fire. Please stay civil. Such a tone is not acceptable. (In reply to comment #7) > (In reply to comment #6) > > (In reply to comment #2) > > > To make this work we'd need a patch, as nobody of us tests this. > > > > Yes, it's clear you don't test for NULL pointers before deferencing. Nobody > > else should need to provide a patch to fix the bug you created. If you can't > > figure out how to check for NULL pointers, STOP WRITING CODE IMMEDIATELY! > > You should never EVER be deferencing any pointer without first sanity > > checking its value. NO EXCEPTIONS! > > > > P.S. Please go die in a fire. > > Please stay civil. Such a tone is not acceptable. Dereferencing NULL pointers is not acceptable. Demanding someone else to provide a patch to correct such bad behavior is also not acceptable. Systemd now fails to boot when the cgroups filesystem is not available, the same way it requires proc, sys, devtmpfs, and the variuos tmpfs mounts. If cgroups are missing, it prints an error which filesystem preparation step went wrong. http://cgit.freedesktop.org/systemd/systemd/commit/?id=99a17ada9caa8e190b5cafa5cd3c19618feeff48 |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.