Welcome to DU! The truly grassroots left-of-center political community where regular people, not algorithms, drive the discussions and set the standards. Join the community: Create a free account Support DU (and get rid of ads!): Become a Star Member Latest Breaking News General Discussion The DU Lounge All Forums Issue Forums Culture Forums Alliance Forums Region Forums Support Forums Help & Search

Recursion

(56,582 posts)
Thu May 8, 2014, 10:22 PM May 2014

Linus Torvalds suspends key Linux developer

http://www.networkworld.com/news/2014/040314-linux-280404.html

An argument between developers of some of the most basic parts of Linux turned heated this week, resulting in a prominent Red Hat employee and code contributor being banned from working on the Linux kernel.

Kay Sievers, a well-known open-source software engineer, is a key developer of systemd, a system management framework for Linux-based operating systems. Systemd is currently used by several prominent Linux distributions, including two of the most prominent enterprise distros, Red Hat and SUSE. It was recently announced that Ubuntu would adopt systemd in future versions as well.

Sievers was banned by kernel maintainer Linus Torvalds on Wednesday for failing to address an issue that caused systemd to interact with the Linux kernel in negative ways. Specifically, the command line entry “debug” ran both the base kernel’s debugging routine and that of systemd, potentially flooding some systems.

Torvalds bashed Sievers for lacking responsibility in a mailing list message. “Key [sic], I'm [expletive] tired of the fact that you don't fix problems in the code you write, so that the kernel then has to work around the problems you cause,” he wrote.


This is kind of a shame in that Linus's profanity-laced rants against Sievers and Poettering are one of the things that makes the Kernel mailing list interesting to read...
8 replies = new reply since forum marked as read
Highlight: NoneDon't highlight anything 5 newestHighlight 5 most recent replies
Linus Torvalds suspends key Linux developer (Original Post) Recursion May 2014 OP
wtf bananas May 2014 #1
Although I see Andrea's point in principle defacto7 May 2014 #2
The real problem is there should not be a "wandering init proc" Recursion May 2014 #4
"PID 1 shouldn't be doing anything else" defacto7 May 2014 #6
Oh, now I see what you're talking about. Andrea's thing is a different thread Recursion May 2014 #8
There was an assertion failure in systemd Recursion May 2014 #3
On what kernels are these problems centering now? defacto7 May 2014 #5
That will hit any kernel whatsoever; it's a bug in systemd Recursion May 2014 #7

bananas

(27,509 posts)
1. wtf
Thu May 8, 2014, 11:50 PM
May 2014
http://lkml.iu.edu//hypermail/linux/kernel/1404.0/01327.html

It has come to our attention that a system running a specific user
space init program will not boot if you add "debug" to the kernel
command line. What happens is that the user space tool parses the
kernel command line, and if it sees "debug" it will spit out so much
information that the system fails to boot. This basically renders the
"debug" option for the kernel useless.





defacto7

(13,485 posts)
2. Although I see Andrea's point in principle
Fri May 9, 2014, 12:21 AM
May 2014

I don't see the necessity of having "debug" visible in /proc/cmdline just to save some debug time. Seems more important to keep wandering init proc at bay for stability. So I guess this means I'm not quite up to their level and probably don't get the point.

I vote Linus.

Recursion

(56,582 posts)
4. The real problem is there should not be a "wandering init proc"
Fri May 9, 2014, 01:53 AM
May 2014

Take OpenBSD or Slackware's init: beyond some compiler macros and other conveniences, it boils down to this:


#include <signal.h>
#include <unistd.h>

int main()
{
sigset_t set;
int status;

if (getpid() != 1) return 1;

sigfillset(&set);
sigprocmask(SIG_BLOCK, &set, 0);

if (fork()) for ( ; ; ) wait(&status);

sigprocmask(SIG_UNBLOCK, &set, 0);

setsid();
setpgid(0, 0);
return execve("/etc/rc", (char **){ "rc", 0 }, (char **){ 0 });
}


PID 1 shouldn't be doing anything else. I mean, seriously, did anybody look at their init program and think, "man, what this really needs is a log colorizer and QR code validator..."

defacto7

(13,485 posts)
6. "PID 1 shouldn't be doing anything else"
Fri May 9, 2014, 02:20 AM
May 2014

I suppose not. I was reading Andea's input and it seemed like she was thinking a little out of box and I like that, but that doesn't mean a ringer of a code advancement. But it's not being taken very well but other developers. I'm learning a bit.

Recursion

(56,582 posts)
8. Oh, now I see what you're talking about. Andrea's thing is a different thread
Fri May 9, 2014, 04:47 AM
May 2014

The web interface isn't exactly intuitive, I'm afraid; "previous message" is simply in temporal order, not in thread order. LKML can be really interesting to read, though...

Recursion

(56,582 posts)
3. There was an assertion failure in systemd
Fri May 9, 2014, 12:36 AM
May 2014

In principle there's no reason an init shouldn't look at the kernel command line and be more verbose if debug is specified; the problem here was that systemd had two failed assertions that spammed kmsg.

The context here is that udev has been more or less broken since Sievers took it over a few years ago, and Linus has grown progressively more frustrated with

1. its firmware loading not checking for race conditions that lead to a lockup, and
2. Siever's insistence that loading firmware shouldn't be udev's job and the kernel should do it (putting the loading of firmware into userspace was the specific purpose for leaving devfs for udev in the first place)

defacto7

(13,485 posts)
5. On what kernels are these problems centering now?
Fri May 9, 2014, 02:04 AM
May 2014

Just in early development stages or are they out in the dev repositories for our own perusing?

You explanation was specific and helpful. Thanks

Recursion

(56,582 posts)
7. That will hit any kernel whatsoever; it's a bug in systemd
Fri May 9, 2014, 04:44 AM
May 2014

There are invalid assert() calls in systemd that fill up kmsg (because PID 1 has to write to kmsg before the regular dmesg ring is brought up) to such an extent that getty or logind or whatever can't spawn a new login shell.

On the plus side, Sievers is the one responsible for the wrongheaded and potentially disastrous push to move all of dbus into the kernel, so this delays that for a while, thankfully.

Latest Discussions»Culture Forums»Open Source and Free Software»Linus Torvalds suspends k...