9 ms·
When are we going to stop replacing battle-tested components of our important computers with new and broken systemd functionality?
by josephcsible 4y ago
When are we going to stop replacing battle-tested components of our important computers with new and broken systemd functionality?
- voidr 4y agoCan I ship a badly configured Linux kernel in my distro? Yes. Is that the fault of the kernel developers? No. I thought systemd is open source and if you don't like something about it, you can just submit a patch or even fork it or just not use it. Replacing system components is hard and the early days are going to suck. Just because there is a lot of pain and suffering with Wayland does not mean that it was a mistake and we should have just stuck with X11. Computing has changed since 1970, some things in our unix-like systems will also need to change to accommodate the current world and some of it is going to be painful, that's just how it is, we made fun of Vista, now it's our turn.
- josephcsible 4y ago> Can I ship a badly configured Linux kernel in my distro? Yes. Is that the fault of the kernel developers? No. If the default configuration were good and you changed it to be bad, that's entirely your fault. But if the default configuration were bad and you just didn't fix it, that's mostly if not entirely upstream's fault. > I thought systemd is open source and if you don't like something about it, you can just submit a patch or even fork it or just not use it. Yes, we can do that. The point is that we shouldn't have to. > Replacing system components is hard and the early days are going to suck. Nobody's complaining that things are getting replaced. We're complaining that the replacement is worse than the old thing. > Computing has changed since 1970, some things in our unix-like systems will also need to change to accommodate the current world and some of it is going to be painful, that's just how it is, we made fun of Vista, now it's our turn. Systemd didn't exist until 2010, so any changes from 1970 to 2010 clearly can't have made it necessary. And the BSDs are all still good, functional operating systems, despite not being able to run it, so it's clearly not necessary even for what's changed since 2010.
- matthewmacleod 4y agoProbably around the same time as people stop posting poorly informed comments about systemd on Hacker News (i.e. approximately never)
- asddubs 4y agoSeems to me like in this case we've just gone from a broken system to another broken system
- orra 4y agoQuite. Can we not phase out overcommit? Windows doesn't do it. I think fork() tends to be implemented using COW memory. Would it help to deprecate fork+exec in favour of posix_spawn()?
- josephcsible 4y agoWhat would we do about all of the processes that fork but don't ever exec? And isn't posix_spawn implemented in terms of vfork, which a lot of people like even less?
- AnIdiotOnTheNet 4y agoWhat's this whole open-source thing worth if we can't fix those to do it a better way? Alternatively, just let programs opt-out of overcommit and also OOM killer. Then only badly behaving programs will be shot in the head randomly.
- tinus_hn 4y agoToo bad it’s basically impossible to deal with the possibility that you request memory and don’t get it, apart from crashing.
- RunningDroid 4y agoYou could hang and hope someone else free()'s enough for you to continue, but the system will lock up if too many processes try that without giving up after a timeout
- AnIdiotOnTheNet 4y agoThere are lots of non-fatal ways to handle an out of memory condition (including doing your own paging) depending on the use-case of the allocation. Programmers suffer from learned helplessness because they're writing for systems that lie to them about memory and languages that make handling errors a pain.
- aliqot 4y ago> When are we going to stop replacing battle-tested components of our important computers with new and broken systemd functionality? We aren't. Our time's up. The new generation is on now, and we didn't teach them hardly anything we learned because we were so invested in making fun of them for enjoying ubuntu. Best way we can move past it is to take the next curmudgeonly step and move to OpenBSD and Plan9, as they're the only things sufficiently dense and opaque to be as yet out of reach of the current generation.
- deleted 4y ago[deleted]
- 0dayz 4y agoHow exactly do these to OS, do things the "correct way"?
- hanafudafan 4y agoHow don't they?
- ectospheno 4y agoI’m a certified curmudgeon then. If a workload can run on OpenBSD then it does when I’m working. If I’m ever speaking the programmers language and cursing a computer then it is rarely an OpenBSD box. They just work.
- freedomben 4y agoDo you seriously consider the kernel OOM killer to be "battle-tested" and (implied) sufficient?
- josephcsible 4y agoI'm not saying the kernel one is perfect. I'm just saying it's better than this one.
- kaba0 4y agoYou do realize that oomd has as much to do with systemd as your bash script that has a service file written for it?
- josephcsible 4y agoWhat are you talking about? Systemd-oomd is literally part of systemd. Its source code is maintained in the same Git repo, bugs are tracked in the same project, etc. Are you getting it mixed up with Facebook's oomd?
- hanafudafan 4y agoI never started, I went right from Debian 5 to OpenBSD.
- Shorel 4y agoThe problem in this case is deeper. The Linux kernel overcommits memory. OOMD is a workaround for this behaviour. And it can't be disabled. I disabled the kernel memory overcommit and then neither Chrome nor Edge were running. I can't use my computer without my browser of choice. Therefore, overcommit can't be disabled.
- bcrl 4y agoMaybe the problem is with the bloated apps that don't free memory? You can't blame the kernel for that. I routinely see Firefox consuming 10GB of RAM on my Linux desktop. It's nuts.
- chlorion 4y agoChrome and Edge not functioning without overcommit is not the fault of the kernel though. The browsers will allocate more memory than is physically available in the system but often not "touch" it. Without over-commit this causes an OOM situation and the kernel kills the browser, but that's what it's supposed to do when over-commit is disabled! I believe some of these massive allocations are used for security purposes or somehow related to the chromium sandbox but I can't remember exactly what's going on. Some sanitizers like ASAN do something similar for detecting invalid memory accesses (and hence can't be used without over-commit either)!
- WastingMyTime89 4y agoIf you read the article, you will see that the issue is that Fedora configures it really poorly for a single user system not that systemd-oomd doesn't work. They enroll all the user processes into it.