Slashdot Mirror


Linus Torvalds Says 'Buggy Crap' Made It Into Linux 4.8 (theregister.co.uk)

Two days after Linus Torvalds announced the release of Linux 4.8, he began apologizing for a bug fix gone bad. The Register reports: "I'm really sorry I applied that last series from Andrew just before doing the 4.8 release, because they cause problems, and now it is in 4.8 (and that buggy crap is marked for stable too)." The "crap" in question is an attempt to fix a bug that's been present in Linux since version 3.15. Torvalds rates the fix for that bug "clearly worse than the bug it tried to fix, since that original bug has never killed my machine!" Torvalds isn't happy with kernel contributor Andrew Morton, who he says is debugging with a known bad use of BUG_ON(). "I've ranted against people using BUG_ON() for debugging in the past. Why the f*ck does this still happen?" Torvalds writes, pointing to a 2002 post to the kernel mailing list outlining how to do BUG_ON() right. He later adds "so excuse me for being upset that people still do this shit almost 15 years later."

22 of 294 comments (clear)

  1. in other news by Anonymous Coward · · Score: 5, Funny

    we're introducing systemgdb

  2. I want to be reincarnated as Linus Torvalds by JoeyRox · · Score: 5, Funny

    So that I can live a lifetime where I never make a mistake and everyone in the world is a moron compared to me.

    1. Re:I want to be reincarnated as Linus Torvalds by bfpierce · · Score: 5, Funny

      Good News.

      All you need to do is download and run a linux distro, enter any Microsoft or Apple thread/forum/subreddit and act like this all the time!

    2. Re:I want to be reincarnated as Linus Torvalds by Carewolf · · Score: 4, Insightful

      So that I can live a lifetime where I never make a mistake and everyone in the world is a moron compared to me.

      Well, he makes alot of mistakes and often even admits to them, but that just doesn't make as good news and doesn't get spreads as wide when he is being impolite or arrogant.

    3. Re:I want to be reincarnated as Linus Torvalds by MightyMartian · · Score: 4, Insightful

      You can also add that it is running on a huge number of mobile devices, likely making it one of the most installed and in-use operating systems ever developed.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    4. Re: I want to be reincarnated as Linus Torvalds by Darinbob · · Score: 4, Funny

      The download takes awhile, which is the perfect time to go to the forums and declare your superiority.

    5. Re:I want to be reincarnated as Linus Torvalds by Raenex · · Score: 5, Insightful

      writes a completely new UNIX-compatible OS

      He only wrote the kernel for an i386 machine. And he cloned an existing system's functionality instead of writing a new system. You know, the same thing he flamed Tridgell for.

      using a radical new software licensing scheme

      He chose GPL so he could use the already written GNU code to plug his kernel into. You know, the bulk of the code that made up the OS. I always thought Stallman was petty about trying to call Linux, "GNU/Linux", but it's posts like yours that show he had a point. A typical Linux system has vast amount of work put into it that has nothing to do with the kernel or Linus, other than they need some kernel to run on.

      attract multiple developers and users

      Yes, he did that. Mostly as a matter of right place and right time, but he deserves credit for taking the ball, running with it, and achieving success.

  3. "there is NO EXCUSE to knowingly kill the kernel" by JoeyRox · · Score: 4, Insightful

    Actually Linus, there is a good excuse - when the failing of a logic assertion could silently lead to behavior that is worse than a kernel halt, specifically data corruption.

  4. Just remove it then by ChunderDownunder · · Score: 4, Interesting

    I should have reacted to the damn added BUG_ON() lines. I suspect I will have to finally just remove the idiotic BUG_ON() concept once and for all

    Overlord issues 'BUG_ON() considered harmful' edict 14 years ago and only now thinks about removing said anti-feature?

    1. Re:Just remove it then by Shane_Optima · · Score: 4, Insightful

      I tend to think rules like "Don't use GOTO" are a good indicator of someone's critical thinking ability. If they make a strong effort to avoid it, that's fine. If they stand there and lecture me that I should be using some convoluted crap instead of a simple, intelligently labeled GOTO to escape from some tangled mess of ifs and loops (not infrequently a mess that was originally created by the speaker) then they may well be very analytical and capable people, but you can't ever trust them to come up with something original or to spot a truly bad idea when they're in a group environment.

      And then there's another of people, whose eyes glaze over completely when you try to say "Look, every single If-then-else has an implicit GOTO. This bit right here is fundamentally a conditional jump as well, but it doesn't look good to structure it using only Ifs because..." These conversations invariably end with them wandering away mute (if they're peers) or "don't use GOTO. It's against best practices" if they're supervisors.

      I doubt I've used it a dozen times in my life, but I've received grief over almost every single time.

  5. You really don't. Dealing with morons is frustrati by raymorris · · Score: 5, Interesting

    > I want to ... live a lifetime where everyone in the world is a moron compared to me.

    You really don't. Dealing with morons is frustrating. When everyone is a moron (regarding the subject at hand), every interaction is frustrating.

    I don't *excuse* Linus's temperament when it comes to kernel goofs, but I do understand it. There are a couple of very specific topics that I've studied and researched for decades. When I have discuss to those topics with people who have other specialties, and let them have input and make decisions that are within my realm of expertise but not theirs, it can be very frustrating. Because Linus is the expert on the Linux kernel, and he's a perfectionist, I understand it may get very frustrating to continually deal with mistakes that are, to him, stupid mistakes.

  6. Poor tact but right reaction by somenickname · · Score: 5, Interesting

    Linus isn't likely to invite you out for an ice cream cone to discuss a bug and your feelings about it but, he's right that it's a pretty bad bug (http://lkml.iu.edu/hypermail/linux/kernel/1610.0/00878.html). Luckily, the way kernel development works means that 99.9999% of users will never see this bug. No major distro has shipped this yet and by the time this kernel trickles down to users (if ever), the bug will be fixed.

  7. Not apoligizing by Dan+East · · Score: 4, Insightful

    He's not apologizing. Saying "I'm sorry blank blank blank" doesn't constitute an apology.

    I'm really sorry I applied that last series from Andrew

    That's not an apology. That's saying he's disappointed someone screwed up, and he named that person to direct the blame towards that person. No dev team I've ever been on would throw someone under the bus like that. We would take responsibility as a team. He might as well say "I'm sorry Andrew sucks as a developer and is so incompetent", because that is no less an apology than what he actually did say.

    Now had he said "I'm really sorry I didn't do my job and I didn't properly test contributions, and as the gatekeeper to what code becomes official, I take full responsibility for the bug and I'm taking actions to do my job better in the future", well, that would be an apology.

    --
    Better known as 318230.
    1. Re:Not apoligizing by Anonymous Coward · · Score: 5, Informative

      Hmm, Andrew Morton is one of the two most trusted kernel developers, the other one being Al Viro. These two get absolutely no kiddie gloves from Linus when they do something they really, really, *really* ought to know better. OTOH, he pretty much merges anything these two send to him blindly on trust, *even when he is less than one week away from shipping it as a stable kernel*.

      Does that make it a bit more clear?

      And, believe me, these two get one or two rants like that at most once every 15 years. They are *that* good, and every single kernel developer worth something *knows* it. They get that level of rant with names included, because it is the other side of getting that level of trust out of Linus. Linus pretty much trusts Andrew Morton to be Linus himself.

      And actually, so does everyone else [in the Linux kernel *upstream* community], as far as I know. So, yeah.

    2. Re:Not apoligizing by Kjella · · Score: 4, Insightful

      That's not an apology. That's saying he's disappointed someone screwed up, and he named that person to direct the blame towards that person. No dev team I've ever been on would throw someone under the bus like that. We would take responsibility as a team. He might as well say "I'm sorry Andrew sucks as a developer and is so incompetent", because that is no less an apology than what he actually did say.

      He's absolutely not apologizing to Andrew, he's apologizing to the end users. This release is below the standard of quality he wants for the Linux kernel and he's not shy about naming and shaming those responsible. And that includes Linus himself for not catching the offending code and for running the project in a way that let it happen, that much is sincere. But he's not there to give moral support, he's there more like a drill sergeant or elite coach. They are not there to cuddle you, they're there to find the people who can excel and turn them into disciplined, highly skilled specialists. Pushing people to their limits, pointing out their flaws, have them try over and over again, always strive for them to do better isn't how you make friends. Usually you end up with a few gold nuggets and a lot of people who hate your guts. It's a lot easier to say "Looks fine to me, good work let's go have some beers" instead, but that's also how you not end up with the Linux kernel.

      --
      Live today, because you never know what tomorrow brings
  8. This BUG_ON thing .... by King_TJ · · Score: 5, Informative

    As I'm not a developer, I had to read through some of the comments left to the original stories to figure out what the fuss was all about.

    Maybe most Slashdot readers are more focused than I am on coding and already know all of this. But what I learned is that essentially, sticking this BUG_ON line someplace in the code causes Linux to do the equivalent of a Windows blue screen of death when it hits it. It's a purposeful way to cause an instant system halt because you believe the software should never reach that spot in the code, and if it does, you're worried that data corruption will result -- so better to halt things than let that happen.

    It sounds like even back in 2002 though, Linus was expressing his dislike for using it and recommended a WARN_ON alternative that would just alert people to the issue but let things continue.

    The thing is? I'm not entirely sure Linus's anger is warranted here? It sounds like basically, he's of the philosophy that "the code must go on". In other words, it's almost always better to keep the system running, despite any bugs, than to kernel panic and stop the whole thing. Perhaps in a world of virtual machines and servers running a whole slew of different processes at the same time, there's logic to this? (EG. If one of your boxes is needed to perform DNS, DHCP and/or other basic functions for a whole network -- you'd probably rather it keep doing those things, even if a bug is hit that means a process reading/writing data to files someplace else gets a critical error that could corrupt records in a database or improperly truncate some other file it was working with.)

    BUT .... this could just as easily be subjective, based on where the bug lies and what it impacts, vs. what YOU consider a mission critical use of the machine in question. If BUG_ON saves data from loss, maybe that really is better for SOME users than letting it go on generating/logging warnings that people aren't going to notice right away?

    I get the idea Linus leans the direction he does on this issue mainly because he wants any kernel he approves as "stable" to have that appearance, buggy or not.

  9. You Tell'em Linus. by zenlessyank · · Score: 5, Insightful

    Buncha snowflakes and pop-tarts can't handle some feedback with a few 'fucks' thrown in??

    You are in the wrong damn career. Computers and their software WAS BUILT with profanity. It is part of the culture.It is just like the military. Wars are won with profanity and murder.

    If you don't want to hear it then go teach preschoolers how to color.

  10. Re:"there is NO EXCUSE to knowingly kill the kerne by c · · Score: 5, Informative

    If you actually read the thread, that's basically where he says it's appropriate, and only then.

    The problem appears to be that people are using that feature in situations where recovery is feasible and desirable, or they're using it under the assumption that it only impacts people running special development kernels.

    --
    Log in or piss off.
  11. Re:He is almost 50! by somenickname · · Score: 4, Informative

    I understand that this is a troll post but, it still makes me laugh. Software guys over the age of 40 are a pain in the ass to work with because they've seen so much idiocy over their careers that they can spot it immediately and point it out. If you are in your 20s and working with other people in their 20s, the echo chamber you live in is certainly re-affirming but, not particularly conducive to writing good software.

  12. Re:Everyone is a moron to someone.... by Darinbob · · Score: 4, Interesting

    There's some good stuff in Linux. But damn it's an unreadable mess in so many places. I like looking at BSD based code because it is so often much more straight forward and easier to understand.

    So where in the open source world are there regular code reviews with thought out discussions about how to write code better, how to follow the correct style guidelines, pointing out "oh by the way, you're using BUG_ON() the wrong way", and stuff like that?

  13. Re:You really don't. Dealing with morons is frustr by dbIII · · Score: 5, Interesting

    I do excuse it.
    He is attacking the mistake of the person and not the person.
    Taking such stuff personally is ridiculous, but I suppose it does give people something to talk about with something that's almost a non-issue.

  14. Ps I AM the moron kernel contributor by raymorris · · Score: 5, Interesting

    Btw, I *am* the moron in kernel dev. My name is in the kernel changelog exactly once, which means I helped find and fix a problem when I had never done so before - I didn't know what the heck I was doing. Kernel development is very complex, with it's own set of rules quite different from userspace and I was in there trying to work on it, sending emails to the maintainer of the md subsystem (raid etc.) For anyone reading my emails or code, I was, compared to them, a moron. My flailing about might have been frustrating for them.

    On the other hand, after almost 20 years I understand Linux pretty well from the userspace perspective, particularly the storage and security side of things. So when I'm in a meeting at work and the project manager wants to put certain files "on the C drive", when he wants to defrag and log in as Administrator, he becomes the moron and I'm the one getting frustrated.