Systemd-logind must be restarted to prevent delay
bugs.launchpad.net
bugs.launchpad.net
"On overloaded systems this means that only 30 connections may be queued" --- what is it about logging in (and out) multiple times that causes a system to become "overloaded"? 1000 simultaneous logins might, but AFAICS this bug seems to be about sequential login-logout-repeat.
Edit: this is what's actually causing the problem: https://github.com/systemd/systemd/issues/1961
Are we really just posting bugs in widely-used software now?
I really dislike systemd as much as the next person, but this is not an issue with systemd as far as the maintainers know.
The whole fd.o ball of mud is well beyond the complexity threshold. It's a pain in the ass to attempt to even understand the workings of, let alone maintain. Expect to see minor to moderate shitshows like this every few months or so, and box-breaking flagdays when the maintainers decide they don't like the current interface and throw it out to write a brand new one.
eb=/usr/portage/sys-apps/systemd/systemd-226-r2.ebuild
grep sys-apps/dbus "${eb}" | grep '\[systemd\]'
PDEPEND=">=sys-apps/dbus-1.6.8-r1:0[systemd]
Gentoo with USE=-systemd (explicitly disabled) continues to use OpenRC which is included by default in the standard install process.[1] https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/14804...
[2] https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-apps/syst...
[3] https://devmanual.gentoo.org/general-concepts/dependencies/
As Ford put it: you can get the model T in any color, as long as it's black.
You might want to read the docs again:
$ man 5 ebuild | grep -A 4 '^ *PDEPEND'
PDEPEND
This should contain a list of all packages that should be merged
after this one (aka post merge dependencies), but which may be
installed by the package manager at any time, if that is not
possible.
This is in your [3]:https://devmanual.gentoo.org/general-concepts/dependencies/#...
> systemd has no dependency to dbus
Last time I heard anything about it, systemd was so tightly coupled to dbus it would crash PID 1 if you restarted dbus and hang the system. Maybe that's changed? I doubt it given Lennart's explanation (which, by the way, includes the claim that "D-Bus is rock solid these days").
https://lists.freedesktop.org/archives/systemd-devel/2013-Ja...
even a compile time switch was not feasible for tmux (to enable pam). while systemd still lacks a good api design that is close to daemon(). in a world with so much communication we should at least try to work together..
Which distributions already do for you.
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=825394#221
That was the original issue that caused the problem with systemd, not detaching process from terminal.
But, of course, because the bug is only seeing wide-spread attention since systemd triggers it more often, it can't get fixed, because Lennart is the reason we cannot have nice things. Or something.
Things used to be done kernel up. But these days it seems that things are happening DE down.
Meaning that where before if the kernel came up, i had a reasonable chance of getting a shell and firing up everything else i needed from there.
But these days if you don't get to the display manager you may as well hit the reset button, because something between the kernel and the display has gotten is panties so much in a twist that there is only the Windows solution.
> Remember that udev and sysfs are written by the same people, working together off-list. They're free to break the exported data format on a whim, because they write the code at both ends and fundamentally they're talking to themselves. They honestly say you can't expect a new kernel to work with an old udev, and they say it with a straight face. (To me, this sounds like saying you can't expect a new kernel to work with an old version of ps, because of /proc.)
> Documentation is a threat to this way of working, because it would impose restrictions on them. A spec is only of use if you introduce the radical idea that the information exported by sysfs exists for some purpose _other_ than simply to provide udev with information (and a specific version of udev matched to that kernel version, at that).
http://lkml.iu.edu/hypermail/linux/kernel/0707.2/4230.html (http://www.landley.net/notes-2015.html#05-07-2015)
The software hierarchy in order of importance, starting with most important:
1. User's needs/wants
2. User's applications
3. User's operational environment
4. application APIs
5. OS services
6. OS Kernel.
The point of a OS is to make it easier to write and run applications. That is it.
The 'kernel on up' design is fantasy and is NEVER how it was done in Linux or GNU or anywhere.
GNU knew that User/User applications were primary importance. This is why they designed the OS following established APIs designed to help with application compatibility. Those APIs and GNU environment dictated the design of the kernel. Now as the requirements on OS rise so does the complexity. New needs/wants/desires dictate new design choices, of which filter from application on down.
Besides that it is pretty obvious that the standardization of systemd and the elimination of distribution-specific scripts and services has resulted in massive reduction of bugs and complexity in the Linux OS. Accounting for each distribution individually, counting those bugs up, adding all them into one lump sum... I am willing to bet that for every 1 bug that systemd introduces into the OS it has resolved at least a 1000.
Citation needed.
This binary, "user needs = true, programmer needs = irrelevant" dichotomy is very toxic to an environment that still, by and large, depends on community support for its existence.
Don't forget that by device count, by far the largest deployment of Linux is Android. Technically not 'desktop', but close enough in this categorisation.
The NDK is so constrained, with quite a few API features removed (e.g. no UNIX IPC APIs), that Google could replace the kernel by something else and only the OEMs would notice.
Access to native code is only there for games and implementing Java native methods.
Google likes it so much that Brillo makes these constraints even more explicit, although it is all native code.
If that were true it would be easy to see the difference in outstanding bugs between distributions that adopted SystemD and those who haven't, since their bug-numbers would be orders of magnitudes larger. To my knowledge this isn't so.
From a larger perspective you are arguing for the benefits consolidation and unification, as in 'If only we had one X (where X can be a Desktop Environment, GUI toolkit, Editor, etc), every developer could focus their effort on that, innovation would be quicker and adoption of the OS would be better (and we would finally have "the year of the desktop").
It is a pretty idea, to boost productivity through standardisation, but by now decades of free OS development (and proprietary OS development, to illustrate the value of mono-cultures and cathedral planning) have shown it does not work.
As of now, SystemD adoption hinders the development of:
-alternative cgroup managers
-non-affiliated container development
-DE development on non-linux systems
-GNU running on alternative kernels
-adoption and development of alternative init systems
Now none of these directly affect the Desktop Experience, so many will not care. But standardisation is not necessarily a direct benefit, or even a net benefit from a larger--long-term--context, especially in the Free Software world.
Standardization on a specific implementation has a greater risk of stagnation, and encourages fragile software relying on undocumented and sometimes unintended behavior.
It depends on how good those protocols and formats are. Let's look at OSI protocol stack which is failed miserably on that task exactly.
The current situation with systemd is that this hierarchy is no longer valid and low level components are now relying on things above them in the stack. So much so that, for example, if the web browser stops working you have to reboot the computer because it hung a kernel process somewhere. That doesn't seem like a very good system to me.
Take a look at Wayland for example.
While you can pretty much fire up X on top of anything running as pid1, Wayland expects polkit to be present to handle access privileges. And polkit begets logind begets systemd.
I can boot a current day kernel with init=/bin/sh just fine.
* http://unix.stackexchange.com/a/195978/5132
What is it with userspace devs an a fetish for paralleliation?!
What’s typical for Unix, for example, is that all the tools, the C library, the kernel, are all maintained in the same repository, right? And they’re released in sync, have the same coding style, the same build infrastructure, the same release cycles – everything’s the same. So you get the entire central part of the operating system like that. If people claim that, because we stick a lot of things into the Systemd repository, then it’s un-Unixish, then it’s absolutely the opposite. It’s more Unix-ish than Linux ever was!
Pid Eins goes through his own "mythbusting" around the concept that systemd is not consistent with the Unix philosophy: http://0pointer.de/blog/projects/the-biggest-myths.html
But Ken Thompson and the people who were around him had a different view. http://www.catb.org/esr/writings/taoup/html/ch01s06.html
(Doug McIlroy) (i) Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.
If you look through the abstracted rules esr proposes, they are often in complete contravention of the philosophy of systemd.
The number of things systemd has broken by design or accident is quite substantial. The amount of things it touches in Linux is significant. It's pretty stunning to me that even experienced developers don't see anything wrong with systemd - it has had profound effects on system reliability, performance, usability, etc, most of them extraordinarily negative, for a benefit that is unclear.
I think if the scope had been smaller, the vehement disagreement with the implementation/principles behind systemd would probably have been mitigated quite a bit.
We are where we are. For better or for worse, systemd is taking over many Linux distributions, put there by people who have a very different view of what Unix is about. The people that support systemd are more or less supporting similar principles as Microsoft espoused for many years - an integrated system so tightly put together that it becomes difficult to tease things apart or to understand the working of the system, and an additional giant SPOF - something early Linux advocates protested about so vehemently. Those of us who know the difference use alternative distributions or BSD, the former of which is becoming harder as package maintainers and software authors are relying on systemd more and more.
To be fair, commercial Linux is where the money is, and all this plays directly into Red Hat's business model.
Funny, how in the end we adopt the same methods and principles we so vociferously argued against.
A little bit more recent comparison of systemd and Red Hat strategy behind it would be Google with PlayServices - proprietary ball of mud, which render AOSP effectively useless for vast majority of users, and more and more of Android is moving there.
In my opinion, I don't think it's fair to characterize Microsoft's OS design principles as "integrated so tightly... that it becomes difficult to tease apart or to understand." It is true that Windows (NT) is pretty tightly integrated with it's own components, I would argue this is because the majority of it was written by Microsoft. Many of the commercial Unix products were also similarly integrated for much the same reason.
I'd argue that the only reason we see the modularization in Linux is because, historically, the modules were written by entirely different groups of people. As this changes and one group begins to control more and more components, it seems both natural and reasonable that they would integrate those components more tightly. Many of the Linux distributions appear to agree that this isn't necessarily a bad thing. Indeed, most Linux distributions are like the Unix distributions of old: they include the tools, C library, kernel and now a plethora of software.
There are times i wonder if the guy has gotten coached on presentation.
/joking
I hope.
Imagine a world where a PAM would come with a file /etc/systemd/system/sssd.pam which specified all of its dependencies, what services it should be installed in, and uses Before= and After= to determine its position.
Enabling SSS auth would be as simple as systemctl enable sssd.pam. And since sssd.pam would depend on sssd.service if sssd.service fails for some reason the pam module could be disabled to keep the junk out of your logs.
http://www.phoronix.com/scan.php?page=news_item&px=Systemd-M...
edit: I also want to say until somewhat recently, systemd's mount units were just a wrapper around mount(8), but could be completely mistaken.
taking money away from the main driver; Red Hat.
Unfortunately most companies that use Red Hat products don't actually pay for it already (My multi-national company uses CentOS)
And moving to BSD or Gentoo only costs businesses more money, there's no rational reason to do it for a business.
Thus all my personal infra is using variants of BSD fit for the purpose and I'm pushing for my next game launch to be on FreeBSD where POSIX/Unix is required.
Change is slow but it will happen if people can make convincing arguments against systemd to people who just want it to work and not break with the least amount of money.
Topics like this help my cause. It's not about grovelling it's about sending a message that "if you're going to try to be the alpha and the omega then we will hold you responsible when you fail to deliver"
Nobody asked them to do this, people fought against it. But here we are and they are absolutely responsible for the bugs they inflict on the world and their hostile attitudes towards other projects.
it's everything else.
The lock in, the increasing lack of interoperability, the hostility, the increasing controversies.
But also, it's a little bit the init, which could have been designed much better.
In my opinion, the SystemD is anti-Unix and should be shunned.
Is systemd production ready? Since it affects login, can this systemd be trusted ? Is it safe ?