[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: strange static object related crashes
From:       Mark Kretschmann <kretschmann () kde ! org>
Date:       2010-11-06 16:32:29
Message-ID: AANLkTikgzO=PGD9b2qrz9s9v+i7bmcXAtugG+rJWaSR- () mail ! gmail ! com
[Download RAW message or body]

On Sat, Nov 6, 2010 at 3:59 PM, Jos van den Oever
<jos.van.den.oever@kogmbh.com> wrote:
> Hi all,
>
> Yesterday I spent quite some time with David Faure to figure out why I was
> getting so many crashes on the build server. I could get a backtrace for this
> command
>  kpresenter --nocrashhandler --profile-filename feaifeo --benchmark-loading
> kofficetests/interoperability/kpresenter/MSPowerpoint2000/mp00_3d_bar_cylinder_chart.ppt
>
> No-body was able to get the same crash. Running valgrind was not working
> because valgrind did not understand some assembler in Qt 4.7.0. So I
> recompiled Qt with the option
>  -no-sse2
> Now valgrind did provide a backtrace (2nd one below). After recompiling koffice
> on this new Qt, the crash disappeared. I am posting this for reference.
>  KDE 4.5.3, Qt 4.7.0 , KOffice trunk
>  gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3

All of these are results of over-usage of static objects. IMHO, we are
using far too many of them, and they can lead to "random" crashes on
exit. Reason:

The destruction order of static objects is undefined.


What we can do now is only trying to fix the existing bugs. It's a lot
of work. In the longer term, I suggest:

1) Reducing usage of static objects.
2) Use state managing for getting fine control over what is started
and destroyed at a certain point.

-- 
Mark Kretschmann
Amarok Developer, Software Engineer at KO GmbH
Fellow of the Free Software Foundation Europe
http://amarok.kde.org - http://fsfe.org - http://kogmbh.com
_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic