LWN.net Logo

Ubuntu's new Linux sports debugging tool (ZDNet)

ZDNet examines new debugging tools in Ubuntu's upcoming Feisty Fawn release. "Feisty Fawn, also known as version 7.04, comes with software that can send debugging information to help programmers track down the problems that cause applications to crash, Canonical Chief Executive Mark Shuttleworth said in an interview. "There are potentially millions of users of an application on Ubuntu, but they don't have a relationship with us or upstream developers," Shuttleworth said. "If we can connect those two groups more effectively, it's good for both of them.""
(Log in to post comments)

Ubuntu's new Linux sports debugging tool (ZDNet)

Posted Apr 12, 2007 18:18 UTC (Thu) by ken (subscriber, #625) [Link]

I had to register on a website to send in the report thats a really good way to limit the number of problems reported.

Also I had a BIG problem trying to get back to see if anyone had done anything. I really do not see what they have that the debian bug tracking system dose not and that one is really easy to interact with.

Ubuntu's new Linux sports debugging tool (ZDNet)

Posted Apr 13, 2007 6:11 UTC (Fri) by rsidd (subscriber, #2582) [Link]

I think you're talking about the usual bug-reporting form, not the automated tool. That tool didn't require me to register. Just click "send report" and choose two options -- detailed or brief (the latter for slow connections), and it's done.

Ubuntu's new Linux sports debugging tool (ZDNet)

Posted Apr 13, 2007 21:36 UTC (Fri) by aba (subscriber, #24118) [Link]

It's obvious what they have what Debian doesn't have - paid people for public relations.

Ubuntu's new Linux sports debugging tool (ZDNet)

Posted Apr 13, 2007 22:27 UTC (Fri) by bronson (subscriber, #4806) [Link]

Obvious? I suppose those PR people also performed the extensive integration and bug fixing that makes Ubuntu such a nice desktop OS to use?

I currently run both. On the server Ubuntu and Debian feel the same but on the desktop Ubuntu is head and shoulders easier to use. Why do you scoff at all their hard work?

Ubuntu's new Linux sports debugging tool (ZDNet)

Posted Apr 12, 2007 22:09 UTC (Thu) by cpeterso (guest, #305) [Link]

Does the crash reporter include both userspace and kernel crashes? I'm surprised a Linux distro hasn't done this earlier (perhaps Linux users are more paranoid about sharing any identifying data than Windows users).

And I agree with Ken: why require registration? Perhaps to acknowledge the user has opted-out of their privacy and to prevent fake crash reports?

Ubuntu's new Linux sports debugging tool (ZDNet)

Posted Apr 13, 2007 16:54 UTC (Fri) by salimma (subscriber, #34460) [Link]

GNOME has had it (bug-buddy) ever since 2.0 came out, I think. I'm pretty sure KDE has had KrashGuard since version 3.0, and probably even 2.0. So I guess distributions have not felt compelled to provide their own solution.

Ubuntu's new Linux sports debugging tool (ZDNet)

Posted Apr 12, 2007 23:59 UTC (Thu) by yarikoptic (subscriber, #36795) [Link]

Before Share the pain button comes to Linux OS I don't feel myself comfortable! ;-) So far I found existing Ubuntu's bug reporting a joke -- most of bug reports didn't provide any essential information on the system -- release codename at best... Debian's reportbug is simple and really handy in the way it templates the report for you.

Ubuntu's new Linux sports debugging tool (ZDNet)

Posted Apr 13, 2007 0:24 UTC (Fri) by jcorbier (subscriber, #42588) [Link]

Well, the latest versions of apport actually provide information about the system (release, architecture, kernel, environment, ...) and the bug reports also include a backtrace of the crash which is automagically retraced by a bot (https://bugs.launchpad.net/ubuntu/+source/yasm/+bug/90436 for example).

Stripped binaries

Posted Apr 16, 2007 3:21 UTC (Mon) by ringerc (subscriber, #3071) [Link]

So ... does this mean they'll finally stop stripping their binaries by default?

Getting a backtrace from a Debian/Ubuntu user has been a source of pain for some time, because the packaging system strips binaries.

For those not familiar with the four common levels of binary debuggability on *nix, here's a quick rundown with some examples that should show why stripped binaries are a PITA.

Normally, with full debug info like you'd have in a program you compiled yourself with debugging turned on, you get a backtrace like this from a simple crash:

Program received signal SIGSEGV, Segmentation fault.
0x0804832a in crash (x=0x0) at test.c:3
3               (*x) = 1;
(gdb) bt
#0  0x0804832a in crash (x=0x0) at test.c:3
#1  0x0804834f in main () at test.c:8

It shows line numbers, function arguments, lets you explore the stack and the contents of memory using the program's symbolic names for variables, etc. It also lets you set breakpoints and step through execution. It's also very, very large - typically at least twice the size, sometimes ten or more times especially for C++ code. It can also be slower. Distributors and users do not want to deal with programs that've been built this way for obvious reasons.

The next step down is the approach used by Red Hat and many other RPM based distros now. They tell the compiler to generate debugging information in a separate file, rather than embedding it into the executable. The user can install the debug info package if they need it, without having to recompile the program, but don't have to waste the space otherwise. Additionally, there's no performance penalty (though AFAIK at the cost of little or no ability to step through the program's execution). This approach is great if you´re trying to get useful debug info from a user. To learn more about it, see the --only-keep-debug option to `strip'.

Another step down again is building completely without debugging information. You lose the ability to step through the program or set breakpoints (mostly), and you lose line numbers, function arguments, etc. However, the call stack is still available within some limits, so you get a backtrace somewhat like this:

Program received signal SIGSEGV, Segmentation fault.
0x0804832a in crash ()
(gdb) bt
#0  0x08048334 in crash ()
#1  0x0804834f in main ()

That often tells you enough to at least get started tracking down an issue. There's no performance penalty, and not overly much difference in file size for the vast majority of executables. However, if a binary is stripped, here's the backtrace you get:

Program received signal SIGSEGV, Segmentation fault.
0x0804832a in ?? ()
(gdb) bt
#0  0x0804832a in ?? ()
#1  0xbfcee498 in ?? ()
#2  0x0804834f in ?? ()
#3  0x00000000 in ?? ()

Less than useful, eh?

Anybody know if Debian and/or Ubuntu intend to support external debug info soon?

Stripped binaries

Posted Apr 16, 2007 17:17 UTC (Mon) by bronson (subscriber, #4806) [Link]

Both Debian and Ubuntu have external debug info. Ubuntu's bug tracker IIRC even has a crawler that annotates stripped backtraces that it finds. I can't find a decent link describing more unfortunately. Maybe ask about it on IRC?

Stripped binaries

Posted Apr 17, 2007 0:17 UTC (Tue) by malex (subscriber, #15692) [Link]

Craig,

At the moment there are roughly ~335 packages with external debugging symbols in Debian. For instance I have the following on my system:

ii kdebase-dbg 3.5.5a.dfsg.1-6 debugging symbols for kdebase
ii kdelibs-dbg 3.5.5a.dfsg.1-8 debugging symbols for kdelibs
ii kdenetwork-dbg 3.5.5-5 debugging symbols for kdenetwork
ii qt-x11-free-dbg 3.3.7-4 debugging symbols for qt-x11-free binaries

You are right that the entire archive is not covered.

Regards,

Alex.

Stripped binaries

Posted Apr 17, 2007 4:06 UTC (Tue) by ringerc (subscriber, #3071) [Link]

Interesting. I was just checking in etch again before posting, and managed to fail to find said external debugging information. Well, colour me a fool.

Thanks for the info, it'll be quite handy.

Stripped binaries

Posted Apr 23, 2007 11:51 UTC (Mon) by zdzichu (subscriber, #17118) [Link]

Ubuntu provides debugging symbols, in special repository. Take a look at https://wiki.ubuntu.com/DebuggingProgramCrash

Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds