Forgot your password?
typodupeerror
Bug Linux

Linus Torvalds: "GCC 4.9.0 Seems To Be Terminally Broken" 739

Posted by timothy
from the you'll-never-believe-what-he-actually-said dept.
hypnosec (2231454) writes to point out a pointed critique from Linus Torvalds of GCC 4.9.0. after a random panic was discovered in a load balance function in Linux 3.16-rc6. in an email to the Linux kernel mailing list outlining two separate but possibly related bugs, Linus describes the compiler as "terminally broken," and worse ("pure and utter sh*t," only with no asterisk). A slice: "Lookie here, your compiler does some absolutely insane things with the spilling, including spilling a *constant*. For chrissake, that compiler shouldn't have been allowed to graduate from kindergarten. We're talking "sloth that was dropped on the head as a baby" level retardation levels here .... Anyway, this is not a kernel bug. This is your compiler creating completely broken code. We may need to add a warning to make sure nobody compiles with gcc-4.9.0, and the Debian people should probably downgrate their shiny new compiler."
This discussion has been archived. No new comments can be posted.

Linus Torvalds: "GCC 4.9.0 Seems To Be Terminally Broken"

Comments Filter:
  • by jpellino (202698) on Sunday July 27, 2014 @02:43PM (#47544467)
    is going to be gunning for an apology...
    • by Anonymous Coward on Sunday July 27, 2014 @02:47PM (#47544481)

      I'm a sloth and I thought it was funny.

    • ...the people who deserve the apology are the people who were subject to an abusive tirade.

      You can point out someone made a mistake. There's no obligation to be "nice" when doing so. There is an obligation to not be abusive, which is what Linus repeatedly does. Abuse includes mockery, ridicule, name calling, etc.

      He's being a bully, pure and simple - using his popularity to shove around others. That should not be tolerated, full stop.

      • by HornWumpus (783565) on Sunday July 27, 2014 @03:28PM (#47544729)

        This is abuse, arguments are in the next article.

      • by SuricouRaven (1897204) on Sunday July 27, 2014 @03:33PM (#47544763)

        His manner is coarse, but you must admit that he's gotten the job done. Linux advances on schedule, patches get incorporated, code gets tested, and all proceeds smoothly.

        • by Concerned Onlooker (473481) on Sunday July 27, 2014 @03:45PM (#47544841) Homepage Journal

          And Mussolini made the trains run on time?

        • He didn't get the job done in this case, though. He sent an abusive email about a bug that had already been patched, with a tirade about register spills that aren't even related to the bug.

      • by mark_reh (2015546) on Sunday July 27, 2014 @03:33PM (#47544769) Journal

        I disagree. Political correctness of the 90s has led to today's "rule" that all opinions are valid and of equal value when anyone with a functional brain knows they are not. Linus is merely saying what ought to be said. Maybe a little public ridicule will be the motivating force to ensure that this sort of thing doesn't happen again.

        Would you prefer we hand the developers an award for "participation"?

        • by Geof (153857) on Sunday July 27, 2014 @05:08PM (#47545471) Homepage

          Your argument applies to itself. You are accusing people of abdicating judgment: your solution is to not judge Linus! Furthermore, you are confusing criticism of the messenger with criticism of the message; as SuperBanana points out, this is a straw man argument.

          Not all opinions are valid and equal: nor are all means of expressing them. We have the right to speak freely; we also have the right to judge such speech as invalid or unacceptable. I suggest this right to judge is in fact an obligation. Silence implies consent. Abusive behavior should be called out. You may argue that Linus was not abusive, but to argue that we should never make such judgments in the first place is to fall prey to the false equivalence you decry.

        • by JaredOfEuropa (526365) on Sunday July 27, 2014 @06:19PM (#47546009) Journal
          This has nothing to do with political correctness; this has to do with being polite and professional. A useful attitude when dealing with other people, and that goes double when you are a public figure whose word carries a lot of weight. You and he may think being abusive is fine and gets results, well, more power to you. But it also means people will simply start avoiding you and your projects.

          6 years ago I set myself a goal that I have reached since: to never work for any asshole again, and to set myself up so that I can comfortably walk away from any job. Now I know I can walk away, and it makes a world of difference in the way I approach my work. My managers also know it, and it makes a difference there too, and in my view I enjoy an altogether healthier working relationship with them. The world needs Linus more than it needs most of us, but that doesn't mean any of us have to stand there and take his abuse while kowtowing to him. The guy needs a good dose of humility.
      • by epyT-R (613989) on Sunday July 27, 2014 @03:50PM (#47544879)

        The only way to cajole passive aggressives into taking action is to shame them publicly. That's why they whine like little babies and play the victim role. Unfortunately, passive aggressive dynamics run so much of society nowadays that they've been codified into law as 'rights', and the bluntness/truth that contradicts them, 'hate crimes.'

        A well placed 'Fuck you!' can save years and years of mountainous, expensive political tugs of war.

      • by Bengie (1121981)
        Linus only goes off the rails like this for nothing but complete and utter unforgivable incompetence. They deserve exactly what he said. He calls it like it is, and I respect him for that. No beating around the bush when people are doing the most horrible of "mistakes".
      • by Spazmania (174582)

        He's being a bully, pure and simple

        Sticks and stones. I'd rather face honest anger than than a disingenuous veneer of reasonableness. And this isn't the first (or second or third) time in the last couple years GCC has been found to have optimized something into wrong code.

      • by Anonymous Coward on Sunday July 27, 2014 @05:16PM (#47545567)

        If you'd actually read the linked mailing list post (or even just read the quotes of it in the summary) you'd see that none of the abusive comments are aimed at people, they're aimed at the code. He calls the code a bunch of mean, nasty, insulting things, but he doesn't say anything about the people who worked or released that code. I think the distinction is important here. It's not abuse if there's nobody to be abused.

        Secondarily: if you read the rest of the thread, he goes on to work with everyone very productively on tracking down the exact nature of the underlying bugs, posts deep analyses of the code generation differences, proposes a patch for his own kernel to work around this GCC bug, and goes and files the upstream Bugzilla report with the GCC team himself. On the whole I'd say this is pretty responsible and cooperative behavior.

        • If you'd actually read the linked mailing list post (or even just read the quotes of it in the summary) you'd see that none of the abusive comments are aimed at people, they're aimed at the code. He calls the code a bunch of mean, nasty, insulting things, but he doesn't say anything about the people who worked or released that code. I think the distinction is important here. It's not abuse if there's nobody to be abused.

          Secondarily: if you read the rest of the thread, he goes on to work with everyone very productively on tracking down the exact nature of the underlying bugs, posts deep analyses of the code generation differences, proposes a patch for his own kernel to work around this GCC bug, and goes and files the upstream Bugzilla report with the GCC team himself. On the whole I'd say this is pretty responsible and cooperative behavior.

          What are you doing bringing objective facts into a Slashdot debate, I mean SWJdot?

      • by Forever Wondering (2506940) on Sunday July 27, 2014 @05:19PM (#47545587)

        Perhaps. But, if you cared to look at the other posts on the thread, you'd see how calm and rationale he was. Or look at the gcc bug report he filed. The gcc bug has gotten fixed

        I've met Linus in the flesh a number of years back and he is truly a calm and mellow guy. He only does the "bullying" for the "shock effect" to get people [with strong egos] to actually start _thinking_.

        And there is some precedent for this. A number of years back, gcc was doing an illegal code motion optimization across a spinlock. After literally hundreds of posts on the gcc mailing list about how this wasn't a bug, Linus started using muscle. I would have, too, at that point. When somebody finally pointed out that the optimization was actually violating requirements in the memory model of the [then] upcoming ISO C spec, it took another hundred or so posts before they actually believed one of their own [gcc people].

        Since that time, the gcc folks have become more receptive to [rather than dismissive of] bugs filed by the kernel people--which is a good thing.

      • by VTBlue (600055) on Sunday July 27, 2014 @06:20PM (#47546013)

        I'm super tired of this BS argument. I'm sick and tired of high performing professional being criticized for expecting high standards from others. Not every job requires or should have an abstraction layer of "people development," "life coaching," or professional courtesy and pleasantries. Some jobs, the jobs that truly change of course of human events requires breathtaking sacrifice, most significantly of all, putting aside ones ego when called out. If someone calls me an idiot for being wrong, whether justified or not, I'm still wrong and I accept it. If my performance is so shoddy that I get called out as incompetent, than an introspective person should have the maturity to realize that he or she caused such frustration to the other person that such words were uttered. To be able to take this is the sign of a true professional and leader. If you can't take the heat, just GTFO of the way, and go work at a Fortune 500 with regular white collar people with thin skin.

      • Sorry, but in an environment driven by praise and scorn more than money, this type of feedback is not only effective, but also probably essential. The absolute sharpest development environment I've ever worked in (in 16 years as a professional programmer) was an environment of harsh, ultra critical abuse and genuine unadulterated excitement and praise on success.

        Linus verbally abuses people who shit out bad code because it reduces the likelihood that others will shit out bad code. He also cares about the c

      • by bradgoodman (964302) on Sunday July 27, 2014 @08:01PM (#47546499) Homepage
        I've been doing Linux development for about 15 years - including lots of kernel work. I never have, nor ever would posted anything to the kernel mailing lists. With a few exceptions - like when I can hand it off to someone else or go through a third-party - is rather have one of my patches die - than to submit it. Reason? I've seen this kind of attitude and "abuse" and - quite frankly - would never want to subject myself to this kind of abuse should anything I say or submit be erroneous and have to tolerate listening to how "retarded" I or my work is. Personal feelings aside - I wouldn't want such very public commentary about me or my work living in such a perminant and searchable archive - say by some future employeer. I wonder if I'm alone. I wonder if others have the same attitude. I wonder if some of the actual smartest people in the world (not me) might have done some great work - but would be too shy to ever let themselves be noticed.
      • by walshy007 (906710) on Sunday July 27, 2014 @09:27PM (#47546909)

        From a prior discussion from linus.

        Oh, I'll be polite when it's called for. But when people who know better send me crap, I'll curse at them. I suspect you'll notice me cursing *way* more at top developers than random people on the list. I expect more from them, and conversely I'll be a lot more upset when they do something that I really think was not great. For example, my latest cursing explosion was for the x86 maintainers, and it comes from the fact that I *know* they know to do better. The x86 tip pulls have generally been through way more testing than most other pulls I get (not just compiling, but even booting randconfigs etc). So when an x86 pull request comes in that clearly missed that expected level of quality, I go to town. Similarly, you will see fireworks if some long-term maintainer makes excuses for breaking user space etc. That will make me go into incoherent rages. The "polite Linus" example that you point to? That was a maintainer asking for direction for when things went wrong and *before* sending me something dubious. Of course I'm polite then. Sarah, I don't have Tourettes syndrome. You seem to think that my cursing is uncontrolled and random. I argue that it has causes. Big difference.

        Yes. And I do it partly (mostly) because it's who I am, and partly because I honestly despise being subtle or "nice". The fact is, people need to know what my position on things are. And I can't just say "please don't do that", because people won't listen. I say "On the internet, nobody can hear you being subtle," and I mean it. And I definitely am not willing to string people along, either. I've had that happen too—not telling people clearly enough that I don't like their approach, they go on to re-architect something, and get really upset when I am then not willing to take their work. Sarah, first off, I don't have that many tools at hand. Secondly, I simply don't believe in being polite or politically correct. And you can point at all those cultural factors where some cultures are not happy with confrontation (and feel free to make it about gender too—I think that's almost entirely cultural too). And please bring up "cultural sensitivity" while at it. And I'll give you back that same "cultural sensitivity". Please be sensitive to _my_ culture too.

        some people don't believe in going "oh I'm sorry dear, you are an awesome sugar plum fairy but your performance in this little area was below expectations, especially when it is quite clear said person should know far better given their position of responsibility.

        He is clear, to the point, and gets things done.

        This is not abuse, this is quite clearly saying that it is screwed, and how it is screwed. It is productive conversation.

        All of linus' tirades are followed by an in-depth message detailing in what way they are wrong, being direct and to the point is his style, which he is entitled to.

        If calling for standards of quality in a very direct way is abuse.. well.. start a new kernel where you accept any old tripe and see how it goes? And only interact/depend on with projects who have a similar standard and means of management.

        Linus is a very pragmatic, practical engineer. Don't let feelings get in the way of practical needs people. His style works far better than most.

    • by FatdogHaiku (978357) on Sunday July 27, 2014 @03:31PM (#47544753)

      is going to be gunning for an apology...

      Maybe, but it take a while for them to get worked up enough to do anything...

  • by NemoinSpace (1118137) on Sunday July 27, 2014 @02:43PM (#47544471) Homepage Journal
    It works better when they do nothing
  • "pointed" (Score:5, Funny)

    by Arancaytar (966377) <arancaytar.ilyaran@gmail.com> on Sunday July 27, 2014 @02:46PM (#47544479) Homepage

    From Torvalds, that's uncharacteristically friendly.

  • by perpenso (1613749) on Sunday July 27, 2014 @02:48PM (#47544487)

    Debian people should probably downgrate their shiny new compiler.

    Or upgrade to llvm. Being above to compile with either gcc or llvm would be a nice option.

  • Not just version 4.9 (Score:5, Informative)

    by kthreadd (1558445) on Sunday July 27, 2014 @02:50PM (#47544503)

    According to the actual bug report this problem seams to have started in 4.5. They only triggered it in 4.9.

    https://gcc.gnu.org/bugzilla/s... [gnu.org]

  • by loufoque (1400831) on Sunday July 27, 2014 @02:54PM (#47544517)

    4.8 was even worse.
    That's hardly news.

  • by serviscope_minor (664417) on Sunday July 27, 2014 @02:56PM (#47544527) Journal

    Oh gosh a compiler bug! The world is going to end and GCC is terminally broken for ever and ever and ever. Life happens, and occasionally that includes compiler bugs. I've seen fewer bugs in GCC than any other production compiler ever.

    Anyway, it seems like GCC is implementing a very obscure compiler option incorrectly in some circumstances which causes a crash.

    But of course this is cue for lamentations of how awful and braindead GCC is and so much drama.

    End result, the GCC people will fix this bug in short order (what are GCC point releases for anyway), and distributers will probably have a patch package out for 4.9.0 before 4.9.1 ships (what are distributors for anyway?) and the world will keep turning and GCC will go back from being the buggy broken braindead piece of shit to yet again being the most solid production compiler in existence.

    It's a little ironic that the he's so quick to attack the GCC people. The success of Linux is 100% built off the success of GCC. There have been no other credible compilers for Linux throughout the majority of its existence and without GCC being bulletproof, Linux would never have been solid.

    • ...It's a little ironic that the he's so quick to attack the GCC people. ...

      Especially since the Linux kernel has always been bug-free.

  • Why the asterisk? (Score:5, Insightful)

    by Stormwatch (703920) <rodrigogirao&hotmail,com> on Sunday July 27, 2014 @03:05PM (#47544589) Homepage

    If you want to say shit, say shit. We're all grown-ups here.

  • by evilviper (135110) on Sunday July 27, 2014 @03:26PM (#47544715) Journal

    "pure and utter sh*t," only with no asterisk

    So he actually called it, "pure and utter sht"?

    • by MindPrison (864299) on Sunday July 27, 2014 @03:47PM (#47544863) Journal

      "pure and utter sh*t," only with no asterisk

      So he actually called it, "pure and utter sht"?

      Remember, that's the guy that said "Nvidia, F*CK YOU!". http://www.youtube.com/watch?v... [youtube.com]
      He's a passionate, colorful character...he's been like that for as long as I can remember him. Thank god there's still awesome nerds out there that just can't be bought.

  • Fuckin' C*nsorship (Score:5, Insightful)

    by Kremmy (793693) on Sunday July 27, 2014 @04:57PM (#47545367)
    I don't understand it anymore. How are we not beyond the need to replace random letters with asterix? I mean honestly, the summary goes on to comment about it. It's a waste of space. Just fucking say it already.
    • by mark-t (151149)
      It's absolutely a waste of space. The * character uses considerably more real-estate than the letter i, which if drawn without serifs, is possibly the tiniest letter in the alphabet.
  • Linus is right, GCC is braindead. Its code is purposely opaque and has huge maintenance problems. This is not the first time GCC is the source of suffering. I remember the bug in 2.95 causing all sorts of grief.

    It would be interesting if the kernel devs switched to clang like FreeBSD has done. Even just the threat of doing so could give at least a good rivalry and competition usually means the one who improves the fastest will survive.

  • by Qbertino (265505) on Monday July 28, 2014 @06:35AM (#47548437)

    Seriously, the GCC is a prestige project just like the kernel. You have to have the basics of your particular software development field down, otherwise you have no business whatsoever lost in these projects. I don't know the details and I certainly can't judge them, but from the broad perspective it seems like somebody did something akin to not avalidating and filtering your input or pushing windows-1252 but presenting it as UTF-8 or something in webdevelopment and it passed all the way through evaluation, testing, merging, release management, etc. right into the final GCC release. Which does reflect on to the entire team and project.

    Bottom line: When Linus has released rants like these in the past he usually was spot on and dead right. The GCC has gotten some flak for it's shittyness lately, and it looks like they haven't improved their process much yet.

A CONS is an object which cares. -- Bernie Greenberg.

Working...