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."
we're introducing systemgdb
So that I can live a lifetime where I never make a mistake and everyone in the world is a moron compared to me.
It's open source, so anyone can contribute, even the guy that invented it, right????
Linus has the Get-Off-My-Lawn bug.
Table-ized A.I.
This bug make my sad... i'm going to switch to a better GNU alternative... i'm moving to HURD !
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.
After all, doing something useful with your life is meaningless.
HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
It's been 48 years since Nixon*, and we're still repeating that mistake...
*48 years, 4.8, let's just name the kernel after him
"I've ranted against people using BUG_ON() for debugging in the past. Why the f*ck does this still happen?"
Maybe because ranting is not an effective method of communicating?
So... Linus reviews and approves a patch with code he knows causes issues (or should, since he "showed the right way" to do it 14 years ago), adds it to 4.8 after the last RC, releases 4.8, and THEN blows up at the original contributor for his own mistake in approving the patch? Dear god, someone get that man some Xanax, and take away his electronics for a week so he can calm the fuck down.
Overlord issues 'BUG_ON() considered harmful' edict 14 years ago and only now thinks about removing said anti-feature?
Introducing a change just prior to release? sorry but the only person to blame here is linus himself, BUG_ON() bad practises aside an even worse offense is introducing untested changes to code you are about to release.
Fine, Linus, now move on to kill SystemD. Also, get someone to literally kill Poettering and Sievers.
> 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.
People make mistakes. People especially make mistakes in a code-base as complicated and involved as the Linux kernel. I'm sure Linus tries to pick up on everything he can before giving a kernel final approval, but sometimes things slip through. It happens, it's just the nature of the beast.
What you DON'T do is slag off a developer in public for a mistake. Mistakes are critical learning tools, something that we allow children to make because we know of the benefit mistakes have for education, but something we punish adults for doing, as if things are any different once you're older. In any case, given the fact that kernel developers are often (but not always) volunteers, it strikes me as incredibly toxic to strike down your workers in public, especially since they can all just choose to walk away if they are tired of dealing with Linus' shit.
I also wonder how many people choose not to even try to contribute to the kernel given his polarizing personality. People say the Linux kernel is a great success story and that Linus' style of management must be working. I wonder how much better it'd work if he just treated the people actually building his fucking kernel with a bit more respect. I don't give a shit if being Finish somehow means you can be blunt because that's part of the Fins "culture" - that doesn't excuse you from basic human decency.
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.
I was looking at tainted kernels a few days ago and was directed to a newsgroup post from 2003 which is apparently *the* documentation so I think people should be forgiven for somehow missing a post from 2002. Really Linus, if you will leave your stuff strewn about like this, you have only yourself to blame.
Specially if something was discussed that long ago.
OTOH, being right is not always the best thing -- and particularly being technically right is not any better... just two words for Linus:
Alan Cox.
I think a good workaround would be releasing 4.9 ASAP... also, sorry if this is uncalled for, but there's no I in team. If a coworker makes a mistake, we did a mistake.
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.
"I've ranted against people using BUG_ON() for debugging in the past. Why the f*ck does this still happen?"
Of course it still happens. Rants aren't documentation, rants don't fix things. If BUG_ON() is an issue than its documentation should be updated with its proper usage and/or the feature removed. If those things aren't possible, then whatever accepts patches or statically analyses the code should report all BUG_ON() uses.
Since when did rants matter outside of PR echo chambers? The developer shouldn't be expected to read through anything except the documentation. If that's not good enough to do things properly, then the documentation is at fault not the developer.
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.
+2 Redundant currently, you've angered the fanboys, lol.
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.
....through 15 years of shit posts on mailing lists. If I'd be at the receiving end of Torvald's rampant verbal abuse I'd submit crap code as well just to piss him off. Maybe Torvalds is just a crappy project leader who first lets buggy shit through and then blames everyone else for it.
...well, HE committed the changes and released before checking everything.
no one to blame but himself
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.
Come down off your thrown jerk-face
How would you throw a jerk-face, and why would you stand on one?
Socialism: a lie told by totalitarians and believed by fools.
Sure, but maybe BUG_ON isn't the best way to express that? Heck, what is the standard in the Linux kernel for "crash immediately".
Socialism: a lie told by totalitarians and believed by fools.
Linux still doesn't have a proper test suite.
If they did, maybe they would have caught this.
Also, Linus has no one to blame but himself.
Why did he knowingly accept a broken patch?
And if he didn't see it was broken, why is he yelling at someone else for not seeing the same thing?
What an idiot.
So that I can live a lifetime where I never make a mistake and everyone in the world is a moron compared to me.
Maybe Linus can vote w/ his feet and switch to either FreeBSD or Minix
No. People were writing new code which was shit. That code needs to be rewritten. We shouldn't marginalise the Linux kernal so that shit code can make it in. Why would you want crappy code in the Linux kernal? What are you, a microsoft shill?
Dangit gotta warn me when you are posting... now I'm going to have to replace the troll detector again. And two rooms of the house where it was sitting .. and a cat.
So, as the same reason many folks have kids is the same reason they contribute to an open source protect: To improve their feelings of self-worth. And the result may be the same in both cases.
So epic you should:
A) Jump off a tall building
B) Fix the 1 million plus bugs of Win 10
C) Go rob a Kardashian
Ok, Linus sounds like a total asshole with no iota of social grace, but the dude is a freaking genius. This more than offsets his negatives. Think of all the assholes walking around out there who don't do jack for society. I actually fear for Linus. If anything ever happened to him, people like Andrew are going to make so that the linux codebase gradually descends into chaos. I can already see the memes (hopefully many years from now) with Linux saying "miss me?" and smiling while beating an inferior programmer with his old man cane.
1) By the belt and collar
2) To celebrate your victory
(Score: -1, Stupid)
Just a guess, but you are a coding god, and everyone else, well...
Ya, all those young programmers that don't know about 15 year old discussions on the use of the BUG_ON macro etc., so they keep re-inventing the square wheel...that'll fix things!
Sometimes AC's say the stupidest shit.
Ever heard of staging vs production. Hmm, what about testing. Oh that's right, this is Linux, into the blender and full speed on.
Fault isolation takes care of most of these kinds of bugs especially it you combine them with Erlang like self healing supervisors. But first for that to be at all possible we need a micro Kernel or at least some sort of compromise as to what goes into the critical section of the operating system (what JLOUIS calls the error kernel, google it).
In other words move some stuff out of kernel space already! We don't need so much code to be running in kernel mode.
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.
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.
I guess this quote from Linus threw me off:
"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, because there is NO F*CKING EXCUSE to knowingly kill the kernel."
Fuck it. Revert 4.8 and do a 4.8-rc9.
I don't think the problem is that everyone else is a moron (though there are a lot of them to be sure), it's that everyone else has a different plan, agenda, goal, technique. So one person who lives and breathes the code is annoyed at other people who may want to get home early, are new to the code, are under a lot of pressure to get it done fast, and so forth. At the work place, should you accuse the employee of being incompetent at the task, or blame the manager for assigning a person without the necessary skills and experience to that task?
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?
Yeah, I just called out Linus. Come down off your thrown jerk-face, and fix your sloppy design. Coders who don't know Linux as well as you do shouldn't get tripped up by this sort of thing.
Andrew Morton has been a Linux kernel developer for more than a decade. He should know the proper way to use the development tools including BUG_ON() given Linus' previous message about the correct way to use the feature. There are plenty of other issues with the kernel source code though, not the least of which are all the warnings about unused variables - if they are no used, remove them or declare them properly if they should be externals or some such.
I've been coding for about 30 years now, a bit longer actually. Something that's become apparent over the years is that there ought to be a law of conservation of complexity. You can abstract and then re-abstract, you can use well-known design patterns, you can write defensively, and you can document until the cows come home. All of these help, they help by spreading out the complexity onto a larger surface - it becomes less opaque as it gets "thinner", the more it spreads out.
However, it remains the case that some things are just inherently complex, that understanding them, or their particular interfaces and parameters, requires the understanding of the system as a whole, not the parts in isolation. Sometimes divide does not conquer, at least in the real world. There's not *many* problems like this, and I've no idea if this is the sort of thing Linus is referring to - I don't keep up with the Linux kernel these days, but there may be a good reason why he's done what he's done. You "calling him out" without explicit reasons why, or (better) giving a superior approach than what is already there is just showing ignorance, IMHO.
Physicists get Hadrons!
Well mostly people who are too ignorant about software development to know that there is no such thing as a significant codebase in which that isn't the case. Clearly you have no software development skills or experience. Off you go ....
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
I like that he's an asshole. In this case (and a non-trivial amount of cases), he's an asshole because he's above the mean by a serious degree, and has determined what gets the best results in terms of his own attitude and his dealings with others (whether consciously or unconsciously).
Obviously, lamers spoof this by being an asshole with no legit backing. But the only thing Torvalds ever got wrong was when he hoped that his first flamefest against AST was also his last. He's needed to bring out the flamethrower plenty.
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.
Must've struck a nerve there. Facing up to the reality of your life is hard...
HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
1.) Andrew Morton was the maintainer that published the commit, but Johannes Weiner pushed the fix. Almost no one mentions this. 2.) Point #1 doesn't really matter. Who cares about who did what. 3.) A relatively and surprisingly cool Linus comments on something that's been bugging him. It's almost pub talk except kernel developers. I wish I could've created a more cogent proof or argument, but really, non-news. Kernel developers discuss an issue resolved slightly later than ideal. Linus loves his beautiful artifact and wants to address anything that may mar it (which almost every article on this mailing list thread has overblown). I'd like to think everyone on that list is nearly as interested as he.
Some might think that, but there are plenty of older programmers who still make these mistakes. Thankfully, in my experience they often get straightened out by their peers, or old sysadmins.
Just a few days I had to recommend a polite email that basically said "WTF would you even consider recommending this" for an admin dealing with a programmer who decided to favor expediency over good practice (aka circumventing security/integrity).
Thankfully he at least *asked* before he tried his workaround. It wouldn't have worked anyhow with our server/security settings, but it would have failed miserably and cause issues if he had tried. Guy is a fair bit older than me, and I've far from 20.
Posting anon because I still work there.
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.
Pretty sure I'd beat someone to death that ever talked about me or my work like that. Linus Torvalds and people like him are why I am self-employed. I will never bother with people like him ever again for the rest of my days.
He's completely right. It's Linux 4.8, just like previous versions.
Seriously dude, I understand that someone didn't refer to a 15 year old post on how to do things but you have to realise that being a dick about it does nothing for morale in the kernel developer team. Would you rather Andrew went 'screw it i'm off to write my own kernel'. You kernel is only as good as the developers you have writing it.
It doesn't really matter either, just release an update for it. (you have done that before) and work out a way to stop it happening again.
It's not like its going to have made it's way into any major release or systems yet.
Good idea, man!! don't know how I missed it. will work on integrating systemgdb into systemd
Is so wish I hadn't read this with a mouthful of tea ... now I have tea all over my keyboard.
Time for bed, said Zebedee - boing
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?
I really would like to know too. I write device driver for internal use, but I'll be torched down if I try to get them accepted in the kernel because there are so many things in them that I don't know how to do the 'correct' way.
Non-Linux Penguins ?
Exactly this. AFAIK he is equally harsh against his own errors.
Trolling works better when you're not quite so painfully obvious about it all.
I do not want your cheap brainburning drugs. They are useless for work. And I am a working man today.
I'm fucking adding "come down off your thrown jerk-face" is my lexicon of phrases. Fucking ace.
I do not want your cheap brainburning drugs. They are useless for work. And I am a working man today.
Oh, yes. And the young ones never understand that you really can spot it right away and keep arguing. The better ones come some time later and apologize because they have seen it as well, but it is still a pain how young people keep insisting on being stupid.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
may help explain problems.
-linux... they can't *give* that shit away.
+1,000,000. At the moment I'm jumping between a few projects and finding myself on all sides of the fence in this example... knowing where you stand and is only half the battle :/
Project A) I'm the most experienced in the team, and find major flaws in code, design, project plans, cost/time estimates, documentation etc 10seconds into every meeting. Arrogance/attitude starts becoming a problem (because I'm frequently in the right), and I have to keep checking myself and occasionally letting mistakes slide to avoid creating un necessary friction within the team, and let the juniors have enough rope to hang themselves so they can learn the hard way...after all making mistakes is usually the best way to learn what you should and shouldn't do.
Project B) I'm the "junior" that learnt just enough python to do what I needed to do. Now I suddenly find myself tasked with creating a library for a system I'm totally unfamiliar with, while the rest of the super-smart + skilled team focus on their respective tasks. Now I'm the one making the "dumb" mistakes, googling "how to join arrays" and having to brace myself for the onslaught of "that code is horrible", "why the hell did you do it like that?" and questioning if I'm really cut out for the role.
Project C) Everyone is at the same level in terms of experience and skills. We constantly congratulate each other on how much arse we're kicking... then Joe Blow from another team walks by, glances at the solution design and immediately finds a slew of reasons why it's not going to work....then you realise you've been so busy stroking each others egos that you stopped asking whether you should be doing what you're doing, and if that's really the best way to achieve it.
Alot of times it's a delicate balance to get the right mix of humble pie, critical thinking and "trust me, I know from experience"
"so excuse me for being upset that people still do this shit almost 15 years later."
Linux definitely shouldn't venture into IT Security... :-)
I do excuse it. He is attacking the mistake of the person and not the person. Taking such stuff personally is ridiculous
I think that's a thing about geeks/nerds. If they see something that is stupid, they just say so. Most of the time there is no filter or consideration of the person behind the idea and, the effort they put into an idea, but don't intend it to come across as something personal. Usually it's because the critic (Linus in this case) isn't able to seperate their own emotions from their criticisms of an idea. Their code may be beautiful but their interactions are not and conflict arises.
Unfortunately we all do it to some extent however, I think the thing you have to look out for is when you start being an asshole most of the time because it puts people in the 'fuck you' mode, they don't listen to you anymore and, use BUG_ON. I'd imagine that he had some input as to who would be on the team so if they are morons, doesn't he share some blame for their actions?
These guys rise to a level of Assholiness where no one questions them anymore and they stop evolving. I'm not making a character judgment here, I've certainly been an asshole from time to time when I am working to realize a vision. What I saying is that being that asshole held me back where I was, so I wonder what guys like this can achieve if they have people rallying behind them, instead of them thinking 'hey this guy is gonna act like a jerk if I do something they don't like'.
Dealing with morons is frustrating however dealing with volatile people that can't control their emotions is too. No one gets what they want because a lack of charm inspires all the wrong things.
My ism, it's full of beliefs.
Try contacting Greg Kroah-Hartman. He was running a project a while ago (can't remember the name) to work with companies to get their driver code into the kernel.
Yeah, that's the quote everyone highlights, but he's a bit more nuanced about it when he's maybe a bit less pissed. Two e-mails in, you have http://lkml.iu.edu/hypermail/l...:
Log in or piss off.
I really would like to know too. I write device driver for internal use, but I'll be torched down if I try to get them accepted in the kernel because there are so many things in them that I don't know how to do the 'correct' way.
No you probably won't be 'torched down', Linus' rants are typically aimed at people who aren't new to the Kernel and really should know better. If you're a newcomer to the Kernel they would afford you some leeway, just be prepared to take some constructive criticism on your code.
Praise by name... blame by category :-)
Maybe he needs to implement BUG_OFF and use it himself.
Dangit gotta warn me when you are posting... now I'm going to have to replace the troll detector again. And two rooms of the house where it was sitting .. and a cat.
Oh yeah, that is a module in SystemD you can call ... well sometimes that it ... it can be on or off. You change the results by viewing the binary logs
http://saveie6.com/
At least it wasn't buggy crap written in C++.
I'm sorry for your salty tears, little one.
At well over 40, I'll put my programming skills up against yours any day, junior.
It's not a philosophy, but a practical thing. He explained it in various postings. If BUG_ON() is used where it basically crashes the machine, it does not help, but hinder, debugging. Basically, once the machine crashes, there's no way of finding out wtf actually happened. And if this happens to users, they'll just hit the reset button and think that the OS is an unreliably, crashy piece of garbage.
If the state of the machine is not fatally corrupt, there are better ways of dealing with a possible bug than intentionally crashing the machine. Logs, error messages, basically anything that's more useful than the machine suddenly freezing.
When in college, Linux was just emerging and we thought it would take over the world. Well, some would say it has - count the number of places it's installed in data centers, in IoT devices and so forth. But we thought it would go mainstream on desktops. That has not happened.
I submit that Torvald's behavior is what has been holding it back. He may be a genius. He may even be right. But with an inability to communicate with some measure of decency, people who have the skills to volunteer simply will not. People are people, not machines. They have emotions and respond to emotions with emotions.
If he wants to go on a tirade, to piss on people loudly and publicly, he is free to do that. But that's not being a leader, it's being a child. I, for one, don't want to donate my time or the time of my development team to a project led by a child.
Hell, he calls this his own error, for actually applying the patch.
If you know 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 on earth would you accept his code. Much less apply it.
Perhaps you need a vacation.
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.
Which raises the obvious question: why are there still faults which can result in data corruption? What's the excuse for there being a scenario where recovery would require data to be corrupted instead of at worst lost--which is the alternative to a kernel suicide.
They don't have to be known faults. I was speaking more about assertions to catch logic failures, which is especially useful to future-proof logic against subsequent changes that may violate assumptions built into the logic.
If people use your code for a decade and a half, and there are still problems after all that time with employing it correctly, who is at fault?
Every application cannot be as simple as an email client. Some things, like debuggers, are necessarily complex and can be difficult to configure and interpret properly. These complicated things require documentation, guidance, or training in order for people to use them correctly.
He publicly posted a how-to in 2002. If people aren't following his guidance, either they're idiots or the guidance is too badly written to be useful. I looked at it, and I get the gist even though I am not a kernel developer---so it doesn't look like bad guidance.
---
According to the latest ruleset, this post should be modded as Vorpal Flamebait +5.
The only good kernel release is one that has been debugged in service by the Other Linux server company. If they are OK after 6 months of clean use, then do your own test and if that test succeeds, upgrade.
I can't understand the panic to rush a kernel to the masses without proper testing.
Leslie Satenstein Montreal Quebec Canada
It pretty much is. If your code hits BUG_ON, the kernel dumps a copy of the registers and stack trace then kills the process.
Obviously, developers will want to use BUG_ON liberally in test builds. You stop making changes to the system and preserve a lot of data about failures, and that makes your life easier.
But the official kernel is compiled for use on production systems. Things that need to run reliably all day. Things that can and should attempt to recover after a routine fails. The use of BUG_ON in official releases should be limited to situations where a system crash is the lesser of two evils.
Linus is bitching about people using BUG_ON in production code for no good reason. It's easy to say he's being harsh, but it's hard to argue that he's wrong.
---
According to the latest ruleset, this post should be modded as Vorpal Flamebait +5.
There are ways to do that that are just as effective in conveying the message, without making you sound like an ass.
"Moving parts in rubbing contact require lubrication to avoid excessive wear. Honorifics and formal politeness provide lubrication where people rub together. Often the very young, the untravelled, the naive, the unsophisticated deplore these formalities as "empty," "meaningless," or "dishonest," and scorn to use them. No matter how "pure" their motives, they thereby throw sand into machinery that does not work too well at best."
"Now get of my lawn!"
Seriously?
You actually wrote that?
Did you read the post above at all or just "skim" and reply after seeing a few key words?
I was writing about THE EXACT OPPOSITE PROBLEM of people who read the criticisms of an idea mistaking it for a personal attack, for extra laughs in this case they are mistaking it for an attack on a person that is not them.
Not as such
Now that is a bit of a stretch. It's not as is we get a "Linus was angry" story every year.
Yes but sometimes if something is important enough you need to be very direct and blunt.
For one personal example, when speaking to welders who were trying to get out of redoing some work that was faulty to the point of being life threatening when the machine was put back in service they kept pushing back with evasions and excuses until they were addressed very directly with copious amounts of profanity. While I would not speak to students in that way there are situations where it "removes the sand" by being very direct instead of what you have suggested.
"The component has a crack so wide and deep that a ruler can be inserted 35mm, please address this risk to safety" sometimes seems to invite pushback while "it's fucked, fix it before it kills someone" does not.
Seriously? You actually wrote that?
Yes, are you criticising me or the idea? Many people don't take a minute to think about what is really important about their communication and allow their emotions to take over.
Did you read the post above at all or just "skim" and reply after seeing a few key words?
Yes, I read the thread before responding. I respect your opinion, I think it is only half the story. I think people who can't separate their message from their emotions are essentially unconscious retards who are unable to take responsibility for the manner of their communications or the consequences.
I was writing about THE EXACT OPPOSITE PROBLEM of people who read the criticisms of an idea mistaking it for a personal attack, for extra laughs in this case they are mistaking it for an attack on a person that is not them.
I was writing about THE EXACT OPPOSITE PERSPECTIVE of people who open their mouth before thinking about what their message is really about and lampooning their own valid criticisms with emotions they don't take a moment to control. You wouldn't speak to a stranger like that without expecting aggression.
Not as such
Well we will have to agree to disagree on that one because I think the difference is being self aware.
however dealing with volatile people that can't control their emotions
Now that is a bit of a stretch. It's not as is we get a "Linus was angry" story every year.
Sure, I like Linus. He seems very mild mannered. I think his work is very important to a lot of professionals, but he makes his supporters look foolish when he flips the bird at a camera and sneers. He can be how he wants to be, however if he is unable to take ownership of his emotions it is hardly surprising that he will continue to have these issues, where his message is lost on how he says it.
My ism, it's full of beliefs.
This is compelling evidence. It's gotten unmaintainable.
Time to take stuff out. But it won't happen, will it? Nobody wants to lose his favorite feature.
Refactor? Risky. Especially this late in the game.
Now, if they were to add some sort of safe/smart pointers to gcc and throw up warnings on all pointer arithmetic, we might slowly refactor many data corruption issues and memory leaks away.
I've got no idea how you've managed to get that out of this situation. It appears to me as if you have it completely backwards and that "different perspective" appears to be very contrived.
We've got Trump saying what is on his mind no matter who he offends all over the media (among many others) and you think Linus has lost it?
Quick guide on using BUG_ON() the correct way:
Don't.
BUG_ON() should probably have been named CRASH().
I've got no idea how you've managed to get that out of this situation. It appears to me as if you have it completely backwards and that "different perspective" appears to be very contrived.
Not really, take this for example:
Damn I hate people who kill the machine for no good reason - Linus Torvalds.
He is not attacking the idea, he is attacking the person. I understand why he is pissed off, because of how many machines it will fuck up, a totally valid criticism. You don't take it personally because it would be like taking personally a shark trying to eat you, it's just what they are. No one wants to be swimming with a shark when it is hungry though.
Torvalds has a particular vision of what the kernel is and how it should behave. When people do something that interferes with his vision in an unfavourable way he reacts to it almost automatically, you see it all the time, it's impulse control. It's understandable, you don't *have* to take it personally, it's just who they are.
That's what you see when you don't take it personally, the person's message and how they are, because you are in control of your reactions without seeing things through the lens of your own emotion.
We've got Trump saying what is on his mind no matter who he offends all over the media (among many others) and you think Linus has lost it?
On the contrary, I think Linus is a very sane person. I think in time he will see that his attitude is damaging to his vision of the kernel and that when he comes to realise and step beyond his own behaviour he will be much more effective - as will the people around him because they won't have anxiety interfering with their coding.
Trump is a completely contrived character. A psychopath, dressed up as a real estate mogul, dressed up as a potential statesman. People get off on Donald trumpeting his rhetoric because they think they can be him one day.
My ism, it's full of beliefs.
Hopefully just a matter of time before this all works out-of-the-box. The Radeon driver works fairly well for my older card now, so I'm thinking a year from now all the prerequisite FOSS AMDGPU stuff will likely be built in Zombified Zebra (or whatever the next Ubuntu/Mint version is).
For now, I'm fairly content that it works without a lot of fuss.
At a workplace, I'd blame the manager. But nobody assigns people to work on the linux kernel, as far as I'm aware, and there's not a lot of actual consequences for bad action except reputation loss, are there?
I'd say it's about time to fork Linux and get rid of that impolite prick.
He is attacking the actions of the person.
I know it's all sensitive, touchy/feelly and new age to pretend that an attack on an action carried out on a person is an attack on the person directly, but to be frank it's a very juvenile way of looking at things that we really should grow out of.
Sounds like you're it. Fucking loser. You should just kill yourself now and stop wasting oxygen that useful people could breathe.
He is attacking the actions of the person.
I'll defer to you, say your right and give Linus the benefit of the doubt. It does not change that it's an uncivilized way to act. Not taking it personally doesn't make it any more civilized.
I know it's all sensitive, touchy/feelly and new age to pretend that an attack on an action carried out on a person is an attack on the person directly
I think it's having the presence of mind to be dignified. Bringing emotion to a conversation about code makes it personal, which means a person receiving such a message has every right to take it personally. If they don't take it personally, it makes them all the more dignified. "Treat others how you would have them treat you" is hardly new age.
to be frank it's a very juvenile way of looking at things that we really should grow out of.
I don't think it is juvenile. I think, when Linus grows out of it, he is going to feel increasingly embarrassed at not having the decorum to act like a leader, instead of just complaining when people don't listen to him because he doesn't.
Interesting that we got here because I agreed with you to not take that behaviour personally, it would seem from two completely different points of view.
My ism, it's full of beliefs.
Linus already realises that. I read the LKML daily, and real outbursts are pretty rare. Most of the time Linus is pretty understanding about mistakes, errors, and faults in procedure. The outbursts make the news because they are highly amusing.
"I know I will be modded down for this": where's the option '-1, Asking for it'?