KDE4.3 beta issues

Derek Broughton derek at pointerstop.ca
Fri May 22 19:09:36 BST 2009


Myriam Schweingruber wrote:

> On Thu, May 21, 2009 at 20:28, Derek Broughton <derek at pointerstop.ca>
> wrote:
> 
>> If developers _really_ want to get usable bug reports from
>> ordinary users the debug versions of the apps are what should
>> be distributed.
> 
> I think you get me wrong again: the developers (coders) of a package
> ship a tarball of the source code. It is then up to the packagers of
> the distributions to compile the source code with the necessary
> dependencies. 

That's me being sloppy, sorry.  I understand the difference between 
developers and packagers, and what I'm really saying is that imo Ubuntu 
should not be shipping separate -dbg packages for most apps, they should 
always package the production app with the full symbol table.  It's 
_decades_ since I worried about stripping out symbols for size.  Stripping 
the symbols was also used to obfuscate to make reverse-engineering harder - 
rather pointless for OSS apps :-)

> You can find
> the -dbg packages for all applications of KDE in the Kubuntu
> repositories, those are always available.

Yes, but if you hang out on the KDE bug-tracker, you'll routinely see Ubuntu 
users told to recompile their crashing app with debug - because the person 
(not necessarily a developer) reading the report isn't aware that the -dbg 
package is available.  That just scares off users.
> 
> The main reasons why K/X/Ubuntu and many other distributions do not
> install the debug packages by default are:
> 
> * The size: some packages actually weight double or sometimes much
> more the size with the debugging symbols.

Yes, and we can afford it.

> * The speed: debugging symbols are loaded in memory, which will have a
> considerable effect on the PC speed if one has less than 1 GB of RAM
> and opens many applications. Even with more RAM, try running an
> application in gdb (the Gnu debugger) and you will see the drastic
> speed drop you will experience.

The users we're talking about aren't _ever_ going to use gdb.  If there are 
packages that seriously do have performance problems when the symbol tables 
are included, that's a valid reason for leaving them out of _specific_ 
packages, but they should be included in most apps by default.

> * The utility: in a stable release, most of the applications are
> running pretty well and the debug symbols are very rarely needed.
> Also, the -dbg packages are in the repositories and can be installed
> in less than a minute if really needed.

Yes, but once you do that, you're _not_ running the same app, and there's no 
guarantees that if it fails it will fail in the same place.
 
>> Asking ordinary users to recompile (which is what KDE will do,
>> because they don't realize that in most cases we can just download a
>> -dbg package) will get zero response, and then the developers close the
>> bug for "insufficient information", creating frustration all around.
> 
> Well, I can tell you what we usually do (I can only speak for Amarok,
> but I am pretty sure most of the KDE applications do the same): when a
> crash report comes in that lacks debugging info, we ask for more
> information, joining instructions on how to either install the -dbg
> packages or on how to compile with the debugging symbols.

And the last is intimidating even for many long-time Ubuntu users.

> In general you can estimate that out of a database of 200.000 bugs (a
> count we will reach soon on bugs.kde.org, bug #100.000 was reported in
> Feb 2005m and the database also contains numerous wishes), <10% are
> single reports that are eventually useful to the developers, most are
> dupes or incomplete and we never get the feedback we ask for. Now
> guess who is frustrated here...

I did say "frustration all around".  I know it's frustrating for developers 
when users don't provide all the information - otoh, I've had developers 
close a bug as "Won't Fix" because, even though all the requested 
information was provided, I made it an attachment, when apparently I was 
supposed to include it inline.  That's an unusual case, but my point is that 
the developers/packagers _must_ make bug-reporting as simple as possible if 
they want users to report bugs accurately.  There was also the insane 
situation of reportbug being broken on Ubuntu for _years_, and developers 
not wanting to fix it because they "needed" it and could work around the 
fact that by default it reported to the wrong place.

>> Not to mention the fact that if an "official" version crashes, there's no
>> reason to automatically assume that one compiled with debug symbols will
>> crash, or crash in the same place.  It's not the same program.
> 
> Wrong again, if it really is a bug, then it will crash in the same
> place, assuming that a program compiled with debugging symbols is not
> the same as the one without is not true, the source code is not

PLEASE don't assume I'm an idiot.  I've been doing this for 30 years.  If a 
program is failing because of memory management issues, it's virtually 
_guaranteed_ that a version compiled with debug symbols will fail in a 
different place than a program compiled without - even when the source is 
identical.

> changed, there are only tracers added that monitor the execution. A
> crash in a different location of the code is a different bug.

Of course it is - which is why I say you can't distribute an application 
without debug symbols and be 100% certain the behaviour will be the same 
_with_ them.  I'm also fully aware that this is far less likely to happen 
than it was when I was writing Z80 assembler, but it still happens.
-- 
derek





More information about the kubuntu-users mailing list