KDE4.3 beta issues
Derek Broughton
derek at pointerstop.ca
Fri May 22 18:09:36 UTC 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