Comment 9 for bug 408719

Revision history for this message
RĂ©mi Denis-Courmont (rdenis) wrote : Re: vlc crashed with SIGSEGV in QMetaObject::activate()

Yeah. KDE libs does not run code at exit. Except when it does:
http://api.kde.org/4.0-api/kdelibs-apidocs/kdecore/html/group__KDEMacros.html#g75ca0c60b03dc5e4f9427263bf4043c7
Now consider line 731: http://websvn.kde.org/trunk/KDE/kdelibs/kio/kio/scheduler.cpp?view=markup

Seriously:
1/ VLC does not call KIO anywhere.

2/ The multiple stack traces clearly show that KIO has registered an exit handler. It might be through some C++ magic rather than atexit() but that's not really relevant. I think this is clear:

#5 0x00007fa73e6f6767 in KIO::Scheduler::~Scheduler() ()
   from /usr/lib/libkio.so.5
#6 0x00007fa73e6f9f51 in ?? () from /usr/lib/libkio.so.5
#7 0x00007fa74cb23c12 in exit () from /lib/libc.so.6
#8 0x00007fa74cb09ac4 in __libc_start_main () from /lib/libc.so.6
(from LP #424708 )

or

#5 0x00007fd7aaf4b767 in ~Scheduler (this=0x1c5a530)
    at ../../kio/kio/scheduler.cpp:259
No locals.
#6 0x00007fd7aaf4ef51 in destroy () at ../../kio/kio/scheduler.cpp:102
 x = (KIO::SchedulerPrivate *) 0x1c55480
#7 0x00007fd7e9b3bc12 in *__GI_exit (status=1) at exit.c:78
No locals.
(from LP #427435)

3/ The obvious place for the KIO call to occur is through the VLC Qt4 plugin. Yeah, I know Qt4 does not use KIO either. But I guess KDE extends Qt4 if running.

4/ Similar crashes have plagged kdepim: http://bugs.kde.org/show_bug.cgi?id=199375

Problem is, VLC does not call KIO directly. So something has to call it behind its back and, I guess, leak then crash.