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

List:       kde-bugs-dist
Subject:    [Bug 234484] kfile open dialog crashes Qt4 application in exit handler
From:       Dawit Alemayehu <adawit () kde ! org>
Date:       2011-12-21 15:53:58
Message-ID: E1RdOUQ-000647-Mf () bugs ! kde ! org
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=234484





--- Comment #24 from Dawit Alemayehu <adawit kde org>  2011-12-21 15:53:57 ---
(In reply to comment #23)
> Using VLC 1.1.12 on KDE 4.8rc1 with Qt 4.8.0, I can still reproduce the crash
> with the steps provided in comment #10, so it either is still not fixed in Qt
> 4.8, or the fix did not affect KDE.
> 
> Is there a link to an open Qt bug?

Nope, but there is always the workaround patch I provided in comment #12 that
defers the deletion of all static objects that register themselves with
QDBusConnection. 

It fixes the problem, but it does not really address the question why
QDBusConnection attempts to access an already deleted object. Perhaps this is
the result of the fact that all these objects that cause such crashes are
static objects ? Anyways, unregistering the object from the QDBusConnection
before deletion does not help either ; so the issue remains an upstream issue
until someone can show otherwise.

> Program received signal SIGSEGV, Segmentation fault.
> 0xaec68807 in QDBusAdaptorConnector::relaySlot (this=0x8473160,
> argv=0xbfffef58) at
> /local/git/Qt/frameworks/qt/src/dbus/qdbusabstractadaptor.cpp:270
> 270         relay(d->currentSender->sender, d->currentSender->signal, argv);
> 
> (gdb) bt
> #0  0xaec68807 in QDBusAdaptorConnector::relaySlot (this=0x8473160,
> argv=0xbfffef58) at
> /local/git/Qt/frameworks/qt/src/dbus/qdbusabstractadaptor.cpp:270
> #1  0xaec68b27 in QDBusAdaptorConnector::qt_metacall (this=0x8473160,
> _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfffef58) at
> /local/git/Qt/frameworks/qt/src/dbus/qdbusabstractadaptor.cpp:366
> #2  0xb3794926 in QMetaObject::metacall (object=0x8473160,
> cl=QMetaObject::InvokeMetaMethod, idx=4, argv=0xbfffef58) at
> /local/git/Qt/frameworks/qt/src/corelib/kernel/qmetaobject.cpp:245
> #3  0xb37a8720 in QMetaObject::activate (sender=0x8473148, m=0xb3937cc4,
> local_signal_index=0, argv=0xbfffef58) at
> /local/git/Qt/frameworks/qt/src/corelib/kernel/qobject.cpp:3566
> #4  0xb37a9fc8 in QObject::destroyed (this=0x8473148, _t1=0x8473148) at
> .moc/debug-shared/moc_qobject.cpp:149
> #5  0xb37a33d1 in QObject::~QObject (this=0x8473148, __in_chrg=<optimized out>)
> at /local/git/Qt/frameworks/qt/src/corelib/kernel/qobject.cpp:844
> #6  0xaf82cc5d in KIO::Scheduler::~Scheduler (this=0x8473148,
> __in_chrg=<optimized out>) at
> /local/git/KDE/libs/kdelibs/kio/kio/scheduler.cpp:777
> #7  0xaf82cc97 in KIO::Scheduler::~Scheduler (this=0x8473148,
> __in_chrg=<optimized out>) at
> /local/git/KDE/libs/kdelibs/kio/kio/scheduler.cpp:779
> #8  0xaf831583 in KIO::SchedulerPrivate::~SchedulerPrivate (this=0x84730a8,
> __in_chrg=<optimized out>) at
> /local/git/KDE/libs/kdelibs/kio/kio/scheduler.cpp:667
> #9  0xaf82c956 in destroy () at
> /local/git/KDE/libs/kdelibs/kio/kio/scheduler.cpp:736
> #10 0xaf781c5d in KCleanUpGlobalStatic::~KCleanUpGlobalStatic (this=0xaf9aac94,
> __in_chrg=<optimized out>) at
> /local/git/KDE/libs/kdelibs/kdecore/kernel/kglobal.h:62
> #11 0xb7d48931 in __run_exit_handlers (status=0, listp=0xb7e80304,
> run_list_atexit=true) at exit.c:78
> #12 0xb7d489bd in __GI_exit (status=0) at exit.c:100
> #13 0xb7d3100b in __libc_start_main (main=0x8048ca0, argc=1, ubp_av=0xbffff194,
> init=0x80499c0, fini=0x8049a30, rtld_fini=0xb7fedca0 <_dl_fini>,
> stack_end=0xbffff18c) at libc-start.c:258
> #14 0x080493cd in ?? ()
> Backtrace stopped: Not enough registers or memory available to unwind further

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

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