KDE Bug Fixed After 13 Years (kate-editor.org) 118
About 50 KDE developers met this week in the Swiss Alps for the annual Randa Meetings, "seven days of intense in-person work, pushing KDE technologies forward and discussing how to address the next-generation demands for software systems." Christoph Cullmann, who maintains the Kate editor, blogs that during this year's sprint, they finally fixed a 13-year-old bug. He'd filed the bug report himself -- back in 2003 -- and writes that over the next 13 years, no one ever found the time to fix it. (Even though the bug received 333 "importance" votes...) After finally being marked Resolved, the bug's tracking page at KDE.org began receiving additional comments marveling at how much time had passed.
Just think, when this bug was first reported:
-- The current Linux Kernel was 2.6.31...
-- Windows XP was the most current desktop verison. Vista was still 3 years away.
-- Top 2 Linux verions? Mandrake and Redhat (Fedora wouldn't be released for another 2 months, Ubuntu's first was more than a year away.)
-- The current Linux Kernel was 2.6.31...
-- Windows XP was the most current desktop verison. Vista was still 3 years away.
-- Top 2 Linux verions? Mandrake and Redhat (Fedora wouldn't be released for another 2 months, Ubuntu's first was more than a year away.)
Oh please. (Score:1)
I fixed this bug a month after it was first announced, but when submitting it I was told that other parties didn't want the bug fixed, and that I should forget about it for my own safety. The more you know.
Re: Oh please. (Score:1)
That was you?
Wish I could talk more about what happened, but....well, sorry.
Re: (Score:1)
Attention:
The woods are lovely dark and deep.
But I have promises to keep,
And miles to go before I sleep.
One button mouse (Score:2)
When it was submitted apple still had a 1 button mouse.
Re: (Score:2)
http://www.apple.com/shop/prod... [apple.com]
That mouse has buttons on the size, it is called the squeeze button used to bring up the task switcher. It also had a ball for navigation, but no button on the ball like the Windows wheel mice.
http://www.apple.com/shop/prod... [apple.com]
That mouse could be said to have infinite buttons, as it is touch enabled. It has only one physical button though.
KDE Bug Fixed After 13 Years (Score:1)
They've finally corrected it to "CDE"
Futue KDE... (Score:2)
...discussing how to address the next-generation demands for software systems....
Hopefully, the future KDE will be a bit more (OK, a lot more) efficient, and less bloaty.
Re: (Score:2, Troll)
Funny, I can think of a lot of things GNOME 2 had that GNOME 3 doesn't.
2.4.<bignum> (Score:4, Interesting)
If we're all feeling nostalgic, this should do the trick:
The Linux Backdoor Attempt of 2003 [freedom-to-tinker.com]
if ((options == (__WCLONE|__WALL)) && (current->uid = 0))
retval = -EINVAL;
Other issues back in 2003 were burning up the Linux development intertubes.
The mind behind Linux [ted.com]
The following is my idea of good taste (since the 1980s), whenever a comparison involves a constant term:
if ((options == (__WCLONE|__WALL)) && (0 = current->uid))
retval = -EINVAL;
This does not achieve root. It won't even compile.
Re: (Score:3)
Bad code is ugly code. There's zero reason not to swap the expression into something safer except "that's the way I think it in my head". Turn your head around.
Re:2.4. (Score:4, Insightful)
.dnuora daeh ruoy nruT ."daeh ym ni ti kniht I yaw eht s'taht" tpecxe refas gnihtemos otni noisserpxe eht paws ot ton nosaer orez s'erehT .edoc ylgu si edoc daB
You say it like "what's in your head" is some small insignificant function of source code. There's a reason it's not in binary like a computer would prefer, it's so we humans can work on it. Whenever you're given a problem like "solve for x" everybody in western countries ends up with "x = [value]" not "[value] = x". Sure you could learn to read backwards too, like the text above but it's extremely annoying unless you force yourself to learn it. Personally I'd rather have banned the "=" operator and made it ":=" for assignment, "==" for comparison. You could keep the complex operators like "+=" etc. but not just the equal sign. That we don't use for equality, I mean it should be obvious something's not all that smart here.
Re: (Score:2)
So many of the posters here are missing the context. At the time that bug was found, compilers, especially GCC, did not warn about assignments in conditional statements. Now, they do*.
* experience with GCC and clang. Both force double parentheses to indicate assignment is actually desired.
Re: (Score:2)
If someone is too inflexible to solve their algebra problems with [value] = x, then they probably should not take up programming as a career.
Re: (Score:1)
There's zero reason not to swap the expression into something safer except "that's the way I think it in my head".
Except... your little trick only works in a very limited amount of cases, when comparing against constants. If you compare two variables, then it doesn't help swapping them around. It promotes a code style that creates a false sense of security.
My code style is to never use assignments in a boolean condition (if, while), but to put them on a separate line. And then have the compiler throw an error if I accidentally type one less equals char in a boolean comparison. That results in much safer code than your
Re: (Score:2)
I completely agree, and do the same thing. Assignments inside a conditional statement are horrendous, because it's not immediately clear whether the developer intended to make an assignment or a comparison. Moreover, the result of an assignment isn't as immediately obvious to anyone reading the code. It's one of the shittier "features" of C.
I've never understood people that try to shove as much shit as possible in a single line of code. It generally doesn't compile to more efficient machine code at all,
Re: (Score:2)
Boring, obvious code is the best code, for a variety of reasons.
That's why I choose... COBOL.
I kid, I kid.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
At the time that bug was found, compilers did not warn. Now, both GCC and clang will warn unless you enclose the assignment in two sets of parentheses.
Re:2.4. (Score:1)
Why not:
if (((__WCLONE|__WALL) == options) && (0 = current->uid))
retval = -EINVAL;
?
Re:2.4. (Score:2)
The following is my idea of good taste (since the 1980s), whenever a comparison involves a constant term: if ((options == (__WCLONE|__WALL)) && (0 = current->uid))
And when it doesn't involve a constant term, what then?
Better to make sure your compiler warns on assignments in conditionals (and maybe even turn warnings into errors), then write in comparisons in whatever order reads most naturally.
Re: (Score:2)
But then 'real programmers' don't need hand-holding where others would delegate responsibility for such low level gotchas to a compiler. :)
Typical KDE (Score:1)
Re:Typical KDE (Score:5, Informative)
Yes,
KDE fixes old bugs, while Gnome just lets the patches rot.
https://bugzilla.gnome.org/sho... [gnome.org]
Re: (Score:2)
I love reading old bug reports like this, they are so hilarious (in a sad way). I'm just surprised it wasn't automatically closed when Gnome went to version 2 and then to version 3. Isn't that usually the way open source projects work to reduce the bug count? Just close all the old bugs!
Wait. What? (Score:1)
About 50 KDE developers met this week in the Swiss Alps....
Reeeaaaallllly?
Throw in some hookers and blow, and I'll sign up to test, do your laundry, wipe your ass, and even .... WRITE DOCUMENTATION!
Re: (Score:1)
Slashdot (Score:5, Insightful)
And slashdot doesn't even try to describe the bug in the summary.
Re: (Score:2)
Re:Slashdot (Score:5, Informative)
Re: (Score:2)
The fix, in line with the UI genius behind gedit, was to simply remove the icon bar completely.
I kid, I kid.
Re: (Score:2)
If it was 13 years old and we haven't bitched about it then chances are we don't care either ;)
Re: (Score:2)
It's been there for 13 years -- they probably figured everyone already knew what it was.
software woes (Score:2)
One of the problems with software development is that people like adding features but they won't invest the time to crush every last bug. As a result, a bug could come from any number of layers in the API you are using so it's considered to be "impossible" to make perfect software. My fellow software developers, you really need to up your game! :(
Re: (Score:2)
Re: (Score:2)
Not *every* group. A couple of years ago, I worked with a company where Development and QA actually looked at themselves as a partnership, and anything that came back marked broken from QA was looked at quite carefully and generally considered a failure on Dev's part. Even if we couldn't reproduce QA's bug right away, we still took quite a bit of time working with them trying to get it to show up again, and more than once too
Re:software woes (Score:4, Interesting)
At my former employer (I'd consider them the best place I'd worked at), we had "embedded QA". They'd sit right next to the developers, would be at our status meetings, would often develop specialties related to what that dev was working on, and would immediately provide either unofficial or official feedback on new features. As annoying as it is to have someone point out mistakes you've made, as a dev, you need to get over it and realize it's better for one QA member to point out your stupid mistakes than for the entire world to see them after you shipped.
For QA to be effective, I'm convinced they need to be working as part of the dev team, not as some standalone team the devs don't think about except when they get a bug report. This helps to prevent a lot of the problems with QA filing bug reports on things that aren't actually bugs since perhaps they're simply unfinished, or because they're something they don't understand about how things are supposed to work, etc. More importantly, this specialized QA person can vet other bugs from people on the team to make sure they're not dupes, etc. It can actually save the devs a lot of work.
I'm not sure how you could apply this lesson with open source development. The best is probably to release detail patch notes detailing what you worked on, so people can keep on eye on those features for any breakage, and to have an active and helpful team willing to help test out alpha or beta builds. And of course, the devs need to be willing to actually *listen* to feedback, which can unfortunately be a stumbling block when the feedback clashes with their "vision".
Re: (Score:2)
One of the problems with software development is that people like adding features but they won't invest the time to crush every last bug.
YES!!
When there is a bug in my code, I feel shame, and I fix it as soon as possible! I don't know what's wrong with these people.
JWZ said it best (Score:1)
"no one ever found the time to fix it" (Score:4, Insightful)
Re:"no one ever found the time to fix it" (Score:5, Interesting)
It took me a full day of very intense and complex debugging to fix this.
Re: (Score:1)
Good job and thanks!
However, that's 4,651 days that nobody put in a day's effort. I'm a procrastinator myself, so I'm no one to talk, but wow.
Re:"no one ever found the time to fix it" (Score:4, Interesting)
Thank you.
Re: (Score:2)
This is nothing but a testament of wrong priorities of project leadership
How do you come to that conclusion? A bug that has been around for 13 years to be a big priority would have cause the mother of all bitchfests on various forums. By the look of things it appeared to be more a minor annoyance. Try and fix ALL of those and you'll never put another feature in your program again and will be destined for ever to sit in a maintenance release loop.
Re: (Score:2)
"Try and fix ALL of those and you'll never put another feature in your program again"
If that's your approach to software quality, then so be it: the world will be a much better place without your "features".
Now, think on NOT introducing all these bugs to start with and focus on correct them as soon as you are aware of those that go through, so you don't end up needed days upon days to correct them and, all of a sudden, all your software stack will be more solid and you will be able to start adding new featu
Re: (Score:2)
the world will be a much better place without your "features".
How well did you post this from your MSDOS machine? Please don't type "features" as if you actually would prefer to live without them. Advancement requires the acceptance of the imperfect.
Now, think on NOT introducing all these bugs
Yeah, damn these people who get up in the morning and put effort into not being perfect.
Re: (Score:2)
"Please don't type "features" as if you actually would prefer to live without them"
You can bet there're a lot of "features", exactly the ones I put between quotation marks, I really prefer to live without. I really would live without the "this release is no further supported, so your issue gets automatically closed", the "this is not the last release, so I won't take the time to test if your bug request is of any merit: go with the last version" or the "yes, I know I'm developing a library others may depen
Something went wrong with "Linus Law" (Score:3)
" 8. Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.
Or, less formally, ``Given enough eyeballs, all bugs are shallow.'' I dub this: ``Linus's Law''.
My original formulation was that every problem ``will be transparent to somebody''. Linus demurred that the person who understands and fixes the problem is not necessarily or even usually the person who first characterizes it. ``Somebody finds the problem,'' he says, ``and somebody else understands it. [...] But the key point is that both parts of the process (finding and fixing) tend to happen rapidly." ESR CatB
So, 13 years, right? And is not the first time. Holes in hipervisors for 12 years, heartbleed, ...
I've said it before and I'll say it again:
One does not only need "Eyes". One needs QUALIFIED AND MOTIVATED EYES, along with adequated Q&A Process to tame the bugs.
Re: (Score:2)
Re: (Score:2)
So it is fine for open source software to have known and understood bugs that no one ever bothers to take the time to fix?
A known but unfixed bug (in this case not an exploit, but it could be) is far worse than a completely unknown bug.
Re: (Score:2)
So it is fine for open source software to have known and understood bugs
Open source programmers should all read this book [amazon.com], and when a project doesn't fix bugs, it's time for a fork.
Re: (Score:2)
Typical slashdot over-reaction ;)
The bug wasn't fixed earlier because:
1) it's like it is the only open bug report, you know... this is just one bug, which happens only with advanced usage,
2) the bug was default-assigned to someone who left the project since, so the people who could actually fix the bug (e.g. me) didn't see it.
Re: (Score:2)
Re: Something went wrong with "Linus Law" (Score:1)
No 2 is quite worrying. I hope that's been remedied now.
Fedora sensibly close all bugs when a new version is released on the assumption that they're fixed, or something.
Re: (Score:2)
'sensibly' ?
I hope you're being tongue in cheek. Never assume.
Re: Something went wrong with "Linus Law" (Score:1)
I added "or something" to tip the balance.
Re: (Score:2)
A known but unfixed bug (in this case not an exploit, but it could be) is far worse than a completely unknown bug.
In what universe is that? A known bug has a known severity - no, just because something doesn't work right doesn't mean it could be an exploit. Say I make a calculator to solve 2 + 2 * 2. Well shit my program is stupid and doesn't do operator precedence so it says the answer is (2+2)*2 = 8 instead of 2+(2*2) = 6. That's a bug and nothing more, it has a well defined outcome that is wrong. A known bug can be fixed if only someone cares enough to fix it. If the scope is known you could probably pay someone to
Re: (Score:2)
So it is fine for open source software to have known and understood bugs that no one ever bothers to take the time to fix?
That depends entirely on the severity of the bug.
Re: (Score:2)
"But the key point is that both parts of the process (finding and ***fixing***) tend to happen ***rapidly.***" ESR CatB [emphasis mine] :-P
'Nuff Said Youngling!
Re: (Score:2)
FTFY
Re: (Score:2)
I feel I need to Clarify:
My post had nothing to do with FOSS vs Closed source development. (After all, Metafile Fiascos (afecting both), and Bugs in Windows Network Code abound).
So, is not a criticisms of FOSS
My post had nothing to do with BaazarStyle development vs CathedralStyle development (after all, Microsoft, Sun and Google develop(ed) FOSS Cathedral Style, with bugs to spare).
So, no critticism to Baazar.
If there is any criticism on my part in the post (and yes there is) is to this silly notion that
Re: (Score:2)
If there is any criticism on my part in the post (and yes there is) is to this silly notion that " " 8. Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.
Regardless of the development methodology essentially all significant programs will always contain bugs. Having lots of testers tends to find them faster, having a good QA team tends to find them faster yet... but there will always be bugs remaining.
Or, less formally, ``Given enough eyeballs, all bugs are shallow.'
Linus was saying that given enough people looking for the cause of a known bug, the cause will be obvious to someone. He didn't say anything about finding bugs.
Re: (Score:2)
I've been in Software Testing/QA (NOT Q&A, unless you actually meant "question and answer") since 1993. I've been a manager in that field for 11 years.
Here is the reality - in any reasonably sized project, bug-free software is a myth. And saying this to upper-management is a huge no-no that will likely get you pulled into multiple meetings and probably chastised for subverting the quality process or some such nonsense created by someone who never tested in their life.
The whole key to it is prioritizin
Not Really (Score:2)
Open Source:
Closed Source|Commercial:
Both Open Source and Closed Source suffer from project abandonment.
It does seem though that Closed Source gets a
Re: (Score:2)
Total Commander (for Windows) is a mature software, there is no particular need to develop it further.
Re: (Score:2)
1) Can't natively handle Junctions|Hardlinks (2000), nor Symlinks (2008?).
2) Has no native Regex quick-filter.
3) Has no Per Tab History; Global Left|Right Panel History only.
4) Has no control over what Tab activates when a tab closes.
5) Doesn't respect the Recycle Bin setting for file deletion, requiring you to Click a delete confirmation dialog every single time.
6) Doesn't understand "Libraries" at all. Nor virtual folders like the "Desktop".
7) Has no native "V
typo? (Score:1)
Pretty typical of KDE (Score:1)
I have posted who knows how many bugs to the KDE bug tracking system. All legitimate and very bad bugs (I don't report minor stuff) with detailed intructions on how to reproduce and often how to fix the bug. All I get from the devs is that they can't recreate it(*) or pure silence.
(*) Which is a joke because I know they're just too lazy to even try. If I'm reporting a bug you can be damn well sure it exists because I test and retest on multiple clean installs on various hardware. It's what I do for a living
Re: (Score:1)
Who the fuck pays you to report KDE bugs that won't even be fixed?
Also, if you know how to fix it, submit a damned PR already and then go jump off a cliff.
Re: (Score:2)
Most of KDE is GPLed.