Sunday, June 22, 2008

if distros wanted to be useful...

... they'd ship packages of beta software with debugging symbols included by default. it's absolutely useless to get backtraces with "undefine symbol" repeated 100 times. for release packages: sure.. split out the debugging info: it slows things down and shouldn't (in a perfect world) be ever needed anyways. but for the love of $DEITY, include debug symbols in pre-release packages so we don't have to link to this page endlessly in bug reports, many of which end up in complete limbo.

13 comments:

Joshua Bushey-Anello said...

As a user I would love to be able to contribute more than just being an evangelist. The lack of debugging info combined with the fact that I don't have the time or computing power to build everything myself means that I can't help out in any really meaningful way.

ftbfs said...

Very true!!

Mark said...

Amen to that!

--markey

Grasshopper said...

Would it help to include something like google-breakpad? ( http://code.google.com/p/google-breakpad/wiki/ProcessorDesign )

Mmh, might be that the project is not yet fully usable...

Benjamin said...

The good thing is that distros are already being useful. There's of course Ubuntu's apport (It only works for Launchpad), and then there's the crash.gnome.org initiative (see http://blogs.gnome.org/ovitters/2007/10/06/crash-gnome-org/ for some details) which aims at letting distros provide their debug symbols on the server. It doesn't make sense to let every user download the whole debug symbols after all, those are up to 10x in size.

Anonymous said...

The reason why it is not included by default is very simple: bandwidth. Not all users (even in what is generally called "developed countries"), have unlimited bandwidth. For example in my country, Belgium, 90% of all residential users have a bandwidth limit of 12 GB/month... Updating all of KDE at least once in two weeks (otherwise you are so much behind you cannot do very useful testing anyway) with all debugging symbols included, would already use so much of my monthly bandwidth, that I would not have enough left over for other non-KDE downloads...

kwilliam said...

Aaron, I know "undefined symbol" is different from "(no debugging symbols found)" but I have an idea! On the Techbase page is says:

If you paste a backtrace to a report, make sure you strip all but one or two of the "(no debugging symbols found)" lines from the backtrace as they make it harder to read.

Why not have the KDE Crash Handler do that automatically? Have it pass the text through uniq before putting it in the text box - eliminate the anoyance at it's source!

---
kwilliam (a user of kde-nightly, which includes debugging symbols)

litb said...

i think it's a bad idea to strip "(no debugging symbols found)" from the message, or even to unique it to one. some people might get useful informations from that one (for example how many stackframes happened to be created (endless recursion, any1? :p), or even some other hidden informations i don't know about at all.

kwilliam said...

@litb: Oh, ok. Um, what if it cleverly replaced it with something like:
"(no debugging symbols found)
[repeated 29 times]"

@$everyone: Despite my KDE crash handler showing debug symbols last night when I ran kde-nightly, apparently it is not built with debug-symbols? < http://apachelog.blogspot.com/2008/06/project-neon-ask-harald-faq.html > I'm confused. If kde-nightly doesn't include debug symbols, what are these? (random sample)

#26 0xb6f30ff3 in KApplication::notify ()
from /opt/kde-nightly/lib/libkdeui.so.5
#27 0xb7efab4a in ?? () from /opt/kde-nightly/lib/libkdeinit4_kwin.so

Is the "??" in #27 evidence of no debug symbols? If so, why does #26 not have "??". Is there a website that explains what exactly (at a novice, yet technical level) a backtrace is and how it works?

SSJ said...

@kwilliam:

That looks like a backtrace using "minimal" debug symbols that contain much less information than the (buuullkkkyyy!) "full" symbols. A backtrace with full debug symbols is much more detailed and looks like e.g.

http://etotheipiplusone.com/kde4daily/sample.txt


(in case the Khtml developers are worried - I triggered this backtrace by attaching gdb to Konqueror - it wasn't a Khtml crash ;))

kwilliam said...

@SSJ: Oh. Big difference. :-)

Frank said...

Aaron, I think you're right. People who try beta packages probably want to test them and report problems, so it makes sense to include debugging symbols by default.

One thing that KDE could do without having to rely on distros would be to include a link to this page in the crash handler window, at least if the backtrace if obviously useless. Telling users about useful backtraces at this stage might make the conversation in the bug report a lot more efficient.

panzi said...

export DEITY="the lords of cobol"
;)