Webservice Debugs Linux Binaries While-U-Wait 219
null-und-eins writes "A new webservice offers automatic
debugging of Linux binaries. It takes a (with "-g" compiled) binary and two invocations where one fails and the other doesn't. The service repeatedly runs the two programs and tries to find the smallest difference between the two that causes the failure. Nice google-like interface with statistics about its own performance."
Let me get this straight... (Score:5, Funny)
...these guys allow me to upload any linux executable, which they will then execute in a gdb context?
Alfred, prepare the rootkit!
Re:Let me get this straight... (Score:5, Insightful)
Hopefully they've thought of this and won't let it screw them up too badly. A shame that human nature is such that the first thing people think about when they see a nifty new service is how to shit in it and ruin it for everyone else. (witness
Re:Let me get this straight... (Score:1, Funny)
GOAT! [goatse.cx]
Re:Let me get this straight... (Score:2)
Re:Let me get this straight... (Score:2)
Re:Let me get this straight... (Score:2)
Better it be the first thing so that it can be addressed than only discovered after some dedicated "evil-doer" realizes it in a private burst of creativity then abuses the hell out of it and all the work and money that had been invested must go to waste.
Re:Let me get this straight... (Score:2)
Amen to that.
Re:Let me get this straight... (Score:5, Informative)
Simon
Re:Let me get this straight... (Score:2)
Of course you might need kernel patches to restrict network access for some user ids, but someone must have done it already.
Re:Let me get this straight... (Score:3, Insightful)
Most web servers cant handle the http requests associated with the Slashdot effect, and these guys are accepting uploads and running executables .
Re:Let me get this straight... (Score:2)
No wonder, you're not very good (j/k)
perl -e 'while(true){ fork; }'
perl -e 'fork while true'
Ah, much better
Problems with upload.... (Score:3, Funny)
One down, one to go (Score:5, Funny)
Simon
Re:One down, one to go (Score:2, Funny)
Re:One down, one to go (Score:3, Funny)
Why... (Score:4, Funny)
Why is there a need for this? (Score:2, Funny)
Therefore, I challenge the author of this article to state why Linux code would need to be debugged.
I mean, honestly -- have YOU ever seen a function or class or subroutine in Linux that WASN'T damn near perfectly coded?
Re:Why is there a need for this? (Score:1)
either that or the sarcasm is a little too subtle in this one...
Open-Source Community: Beta=Flaky, Mature=Stable (Score:5, Insightful)
Open source suffers the same problems as closed. In some projects moreso, as the variance of different coding styles/standards-adherance can lead to very interesting things happening. Even some mature projects have this problem, I've heard of some common ones where a rewrite was considered, because as the code evolved and was added to, the author(s) learned much better coding as it progressed but left the core a bit flaky.
Re:Why is there a need for this? (Score:2, Interesting)
I mean, honestly -- have YOU ever seen a function or class or subroutine in Linux that WASN'T damn near perfectly coded?
Yes, most of it. The majority of recent open-source software is badly-written, non-portable dreck that'll build, sometimes, on a short list of Linux platforms.
All the worlds a RedHat box is as bad an assumption as all the world's a Sun or all the world's a VAX.
The redeeming factor is that a major reason for this is that there's so much open source code. So while the fraction that i
If I only had it two weeks ago.. (Score:4, Interesting)
Re:If I only had it two weeks ago.. (Score:3, Informative)
Valgrind, in particular, is really promising; the core architecture is now being used to identify potential race conditions (cases where different threads access the
Re:If I only had it two weeks ago.. (Score:2)
This is a tool, nothing more. Computers are deterministic state machines, but the state machine is essentially infinite. Anything that cuts down the number of states you need to look at is good.
Re:If I only had it two weeks ago.. (Score:2)
Re:If I only had it two weeks ago.. (Score:2)
poor admin... (Score:3, Interesting)
Re:poor admin... (Score:2)
but how many people are going to submit code right away? they might look at it, bookmark it, and some time later *maybe* try it out.
i thought it was a good idea to do that.
Re:poor admin... (Score:2)
I'm pretty sure lots are going to submit binaries to test it, it's /. after all ;)
Re:poor admin... (Score:2)
oh wait, it is slashdot. who here works? O_o
Re:poor admin... (Score:5, Informative)
So... (Score:2, Insightful)
wellsir (Score:2, Insightful)
Hence this [askigor.org].
Re:So... (Score:1)
Re:So... (Score:2)
Re:So... (Score:3, Informative)
Re:So... (Score:5, Funny)
Re:So... (Score:2)
hmmmmmmm (Score:1)
back to the drawing board guys!
This is cool but (Score:5, Insightful)
This is because I wonder why he wants to run the risk of running foreign binaries (sandbox or not) when he could have just not done that. There doesn't seem to be any advertising on the page, so that isn't it.
Oh well, maybe he just thinks it's cooler this way, actually it kinda is, so long as it's safe for him I guess.
Re:This is cool but (Score:3, Funny)
(OK, maybe not steal, but you know what I mean)
Re:This is cool but (Score:4, Funny)
I'm going to set-up a new MP3-checking site. It inspects the MP3s you upload and tells you whether or not they are protected by copyright. If the MP3s contain copyrighted material, the server informs the user, then saves a copy of the file for, uh, ahem, closer long-term inspection by the site administrator. Contacting the RIAA won't be necessary since it's already been established that the content is copyrighted, and the user warned. It's like RIAA copyright infringer amnesty, but without the legal gotchas!
Why take chances? Do a batch upload of all your MP3s and save yourself from a lot of legal hassles!
p.s. Please upload only MP3s encoded at 160Kbps/high quality or better. Quality is very important to the copyright determination process.
Re:This is cool but (Score:3, Informative)
http://www.st.cs.uni-sb.de/askigor/faq.php#pate
I'd look at their technology and admire it, but keep a good distance away, unless you want to get shaken down for huge sums of money at a later date!
Re:This is cool but (Score:5, Informative)
Re:This is cool but (Score:2)
Re:This is cool but (Score:4, Interesting)
Re:This is cool but (Score:2)
Ok igor... (Score:3, Funny)
Re:Ok igor... (Score:5, Informative)
Re:Ok igor... (Score:3, Interesting)
Re:Ok igor... (Score:2)
Somet
Re:Ok igor... (Score:2)
That's a segmentation fault. (Score:3, Informative)
Re:Ok igor... (Score:2)
Re:Ok igor... (Score:2)
Why? (Score:2)
Cyber Jake the Retriever? (Score:2)
Question (Score:3, Interesting)
Re:Question (Score:5, Informative)
While not applying AskIgor (being a huge mix of Python, PHP, and SQL) on itself, we have applied delta debugging on various parts of AskIgor to detect failure-inducing code changes, and especially failure-inducing GDB commands.
We're currently working on Eclipse plugins [uni-sb.de] written in Java, and working on Java - and these will work 100% on themselves.
Re:Question (Score:2)
Google-like... wait a second... (Score:5, Interesting)
I wonder what happens on google's next cache update, if you're doing something like that. Do you get a google cache within a google cache? Or does google just forget about you?
Re:Google-like... wait a second... (Score:5, Informative)
Very Clever (Score:3, Interesting)
We're redirecting only if you come from /.
That's very clever! Smart cookies.
It certainly mitigates the awesome server-melting power of the slashdot effect
Re:Google-like... wait a second... (Score:2)
Re:Google-like... wait a second... (Score:3, Informative)
Google like any decent web crawler respects the robot exclusion protocol. Google have a robots.txt file, and the cached pages are included in that listning. That means no crawler is allowed to download pages from the google cache. You would expect google to respects their own robots.txt listning, so a google cache page will never turn up as a search result or a cached page on google.
Other search engines have been less smart and on one I actually have seen
algorithmic and automatic debugging (Score:4, Interesting)
Doesn't seem that useful. (Score:2, Insightful)
The REAL problem bugs are the ones where the same input on different machines will give different results, or the same input on the same machine will give different results during different runs.
Kinda cool technology, I guess, but speaking as someone who has programmed in C/C++ professionally
Re:Doesn't seem that useful. (Score:2)
I agree. I have ten years' professional experience, and I honestly can't recall a single instance in which something like this would have been useful. The really tough problems are usuall
Re:Doesn't seem that useful. (Score:2, Interesting)
I don't recall ever getting to the point where I could crash a program at will, with some given input, and yet the bug wasn't fairly obvious and easy to find just from a stack trace and maybe 2-3 minutes of line by line stepping.
Neat technology, very little real world use. IMO.
Re:Doesn't seem that useful. (Score:2, Informative)
Re:Doesn't seem that useful. (Score:3, Insightful)
Some bugs, though, are hard to reproduce, which means that you should set up appropriate isolation and monitoring layers in your program. The recent issue of Communications of the ACM, for instance, has a nice article on record/replay of program executions, which solves all problem
Such a program replay tool exists (Score:4, Interesting)
I think it was Carmack lamenting its loss.
Replay under linux--or how to single step backward (Score:3, Interesting)
http://old.lwn.net/1999/0121/kernel.php3
http://lwn.net/1999/0121/a/mec.html
Apparently its been out for *8* years, and has had exactly 3 people download it. Horrible -- its a feature I'd kill to have, and a feature linux should have.
Were you thinking of jwz? (Score:3, Interesting)
Hmm... (Score:3, Informative)
Arg, I thought us Euro's didn't have to worry about software patents anymore. Then again, isn't it a bit weird to have AskIgor licensed under the GPL and filing patents on it at the same time? IANAL, but is this possible? You file a patent to make cash from it by licensing it to others (or using the technique yourself), or you make it opensource and give it away freely. They say that "Delta Debugging" isn't patented, but when it's applied to program states it is (will be).
Gotta love IP...
Re:Hmm... (Score:2, Informative)
Re:Hmm... (Score:2)
Personally I don't believe that the GPL and patents conflict. In particular you can give a license to use your patented technology freely as long as it is used in the GPL'd code. You can then also charge licenses for the patented technology for non GPL usage cases.
Re:Hmm... (Score:2)
Re:Hmm... (Score:2)
In other words, if you use the gpl'd delta debugging software or its derivatives in a way which complies with the GPL, Passau University can't sue you for pate
google-like interface? (Score:5, Funny)
What, you mean like a textbox?
When does it become self aware... (Score:2)
As you can see, we've had our eye on you for some (Score:2)
That's good, but how about (Score:3, Interesting)
Patents (Score:3, Insightful)
"The Eclipse plug-ins are licensed under the GNU public license."
"The basic Delta Debugging technique (narrowing down relevant circumstances by experiments) is not covered by any patent (as far as we know); in fact, we have released Delta Debugging plug-ins for Eclipse under a GNU license.
However, Passau University has filed international patents for the automatic isolation of cause-effect chains from computer programs--that is, Delta Debugging applied to program states. This is the core technology of AskIgor. This means that if you want to make money out of AskIgor technologies, you'll have to license the patent. (That's how Passau University attempts to get some revenue from its research.) Patent licenses are handled by the Fraunhofer Society in the BayernPatent initiative. "
GPL:
"For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program."
WTF?
Maybe there is some difference between what the Eclipse plugins do and what AskIgor does, but it's not very clear from the FAQ if that is the case.
Compromise (Score:2)
Doesn't work (Score:2)
Our sandbox crashed - sorry! (Score:2, Informative)
I'm sorry for the inconvenience, and have made sure this problem won't happen again. But remember that this is a research project, and we can't sit besides the machine 24/7.
Re:Our sandbox crashed - sorry! (Score:2)
By the way, the papers are pretty interesting.
Re:Our sandbox crashed - sorry! (Score:2)
Andreas, I'd just like to say thanks.
Andreas is mentioned with a blurb in the FAQ, but I know most Slashdot readers don't read the main page in the article, much less links off the main page. It should have been mentioned in the submission.
Deterministic? (Score:2)
Does this assume that the program is deterministic? By this I mean that the program always follows the same code path for the same inputs, or, put another way, that no randomness is involved.
-cRe:Deterministic? (Score:2)
Alternatively, delta debugging on your own system (Score:2)
Re:uh (Score:2)
Quick, someone upload Sendmail (Score:5, Funny)
It's a bit more complex than just "diff" (Score:4, Informative)
The tool executes your program multiple times, and examines the internal state of the program (variable values and memory contents) at various stages in the execution.
It then automatically isolates the root cause of the failure. This is pretty cool stuff, and ought to save a lot of time tracking down complex bugs.
-Mark
Re:It's a bit more complex than just "diff" (Score:3, Informative)
This program basically spins away, then gives you a list of places in the source to inspect to find the error. You might still have to break out gdb, but you're saved the first stage of debugging - figuring out where the problem is.
That's the theory, anyway.
-Mark
Why "Igor"? Why? Why? (Score:2)
I would like to know what those "several movies" are. Igor is certainly not in the book. In the 1930's clasic movie the lab assistant is "Fritz", not Igor. The only "Frankenstein movie" that I know that used Igor was the spoof by Mel Brooks. Perhaps this website is trying to associate it's debugging with a spoof!
Re:Why "Igor"? Why? Why? (Score:2, Informative)
Re:Why "Igor"? Why? Why? (Score:2)
House of Wax, 1953
Frankenchicken, 1995
Frankenstein all'italiana, 1975
Flesh for Frankenseitn, 1985
Mistress Frankenstein, 2000
Monsters Crash the Pajama Party, 1965
Frankensteins Tante, 1990
Toonsylvania, 1998
Son of Dracula, 1974
Les Charlots contre Dracula, 1980
Count
Re:Why "Igor"? Why? Why? (Score:2, Funny)
Yeth Mathter.
eBooks available on eMule, but Hardcopy are worth the currency.
Re:Why "Igor"? (Score:2)