Summary: | (steps) Plasma crashes while trying to trash folder in a lower lovel, with insufficent permissions (KDialogQueue::Private::slotShowQueuedDialog) | ||
---|---|---|---|
Product: | [Unmaintained] plasma4 | Reporter: | Volker Lanz <vl> |
Component: | widget-folderview | Assignee: | Plasma Bugs List <plasma-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | andresbajotierra, kdelibs-bugs-null |
Priority: | NOR | Keywords: | testcase |
Version First Reported In: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Volker Lanz
2009-08-23 11:11:27 UTC
Thanks for the data Here using: Qt: 4.5.2 (KDE-Qt git commit 5b7a2eb42acfdea07c6075556cb43e2c95852145 Date: Tue Jul 28 14:10:47 2009 -0300) KDE: 4.3.64 (KDE 4.3.64 (KDE 4.4 >= 20090812)) kdelibs svn rev. 1013119 / kdebase svn rev. 1013119 on ArchLinux i686 - Kernel 2.6.30.4 I can reproduce the crash. - Steps: - Add a FolderView to the Desktop The FolderView should point to "/A/B" The folder "B" should have a link/desktopfile to the folder "A" There should be a folder "/A/C" , where "C" has 555 permissions - On the folderview showing "/A/B", hover the link/desktopfile that links to the folder "A". The folder "A" should be shown in a PopupView - On the PopupView, search for the "C" folder and select it. - Right click on the "C" folder and select "Move to Trash" The dialog about the invalid permissions to move to trash should appear behind the folderview (and/or corrupted). Some seconds later Plasma crashes - Backtrace: Application: Plasma Workspace (kdeinit4), signal: Segmentation fault [Current thread is 0 (LWP 4405)] Thread 2 (Thread 0xa8a5ab70 (LWP 4411)): #0 0xb7f67424 in __kernel_vsyscall () #1 0xb7ca1bc5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb7d346c3 in QWaitConditionPrivate::wait (this=0x8bdfdf0, time=4294967295) at thread/qwaitcondition_unix.cpp:87 #3 0xb7d344c7 in QWaitCondition::wait (this=0x8bd8320, mutex=0x8bd831c, time=4294967295) at thread/qwaitcondition_unix.cpp:159 #4 0xb7571576 in QHostInfoAgent::run (this=0x8bd8310) at kernel/qhostinfo.cpp:260 #5 0xb7d33266 in QThreadPrivate::start (arg=0x8bd8310) at thread/qthread_unix.cpp:188 #6 0xb7c9d68c in start_thread () from /lib/libpthread.so.0 #7 0xb62d1e2e in clone () from /lib/libc.so.6 Thread 1 (Thread 0xb5c7bb00 (LWP 4405)): [KCrash Handler] #6 0x00000003 in ?? () #7 0xb71f39bf in KDialogQueue::Private::slotShowQueuedDialog (this=0x979b5e8) at /home/kde-devel/kde/src/KDE/kdelibs/kdeui/dialogs/kdialog.cpp:1057 #8 0xb71f3a54 in KDialogQueue::qt_metacall (this=0x979b580, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfa8df38) at /home/kde-devel/kde/build/KDE/kdelibs/kdeui/kdialogqueue_p.moc:66 #9 0xb7e539ca in QMetaObject::activate (sender=0x95332c0, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3112 #10 0xb7e53d42 in QMetaObject::activate (sender=0x95332c0, m=0xb7f61ae4, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3186 #11 0xb7e5ca1f in QSingleShotTimer::timeout (this=0x95332c0) at .moc/debug-shared/qtimer.moc:76 #12 0xb7e5c904 in QSingleShotTimer::timerEvent (this=0x95332c0) at kernel/qtimer.cpp:298 #13 0xb7e4fbe2 in QObject::event (this=0x95332c0, e=0xbfa8e4b4) at kernel/qobject.cpp:1074 #14 0xb65f02db in QApplicationPrivate::notify_helper (this=0x892d3b8, receiver=0x95332c0, e=0xbfa8e4b4) at kernel/qapplication.cpp:4056 #15 0xb65ee73c in QApplication::notify (this=0x890e360, receiver=0x95332c0, e=0xbfa8e4b4) at kernel/qapplication.cpp:3603 #16 0xb7295a9a in KApplication::notify (this=0x890e360, receiver=0x95332c0, event=0xbfa8e4b4) at /home/kde-devel/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302 #17 0xb7e3a1c1 in QCoreApplication::notifyInternal (this=0x890e360, receiver=0x95332c0, event=0xbfa8e4b4) at kernel/qcoreapplication.cpp:610 #18 0xb7e3db87 in QCoreApplication::sendEvent (receiver=0x95332c0, event=0xbfa8e4b4) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213 #19 0xb7e71672 in QTimerInfoList::activateTimers (this=0x892fc7c) at kernel/qeventdispatcher_unix.cpp:572 #20 0xb7e6db17 in timerSourceDispatch (source=0x892fc48) at kernel/qeventdispatcher_glib.cpp:165 #21 0xb6167d98 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #22 0xb616b3e0 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #23 0xb616b513 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #24 0xb7e6ea5a in QEventDispatcherGlib::processEvents (this=0x892cf50, flags={i = 36}) at kernel/qeventdispatcher_glib.cpp:327 #25 0xb66a1f3e in QGuiEventDispatcherGlib::processEvents (this=0x892cf50, flags={i = 36}) at kernel/qguieventdispatcher_glib.cpp:202 #26 0xb7e3779f in QEventLoop::processEvents (this=0xbfa8e75c, flags={i = 36}) at kernel/qeventloop.cpp:149 #27 0xb7e378e4 in QEventLoop::exec (this=0xbfa8e75c, flags={i = 0}) at kernel/qeventloop.cpp:201 #28 0xb7e3a89d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888 #29 0xb65ee3f8 in QApplication::exec () at kernel/qapplication.cpp:3525 #30 0xb41847f4 in kdemain (argc=1, argv=0x88a1508) at /home/kde-devel/kde/src/KDE/kdebase/workspace/plasma/shells/desktop/main.cpp:112 #31 0x0804e0a9 in launch (argc=<value optimized out>, _name=<value optimized out>, args=<value optimized out>, cwd=0x0, envc=0, envs=0x88fe847 "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x8051233 "0") at /home/kde-devel/kde/src/KDE/kdelibs/kinit/kinit.cpp:705 #32 0x0804ec1d in handle_launcher_request (sock=<value optimized out>, who=<value optimized out>) at /home/kde-devel/kde/src/KDE/kdelibs/kinit/kinit.cpp:1197 #33 0x0804f0b4 in handle_requests (waitForPid=<value optimized out>) at /home/kde-devel/kde/src/KDE/kdelibs/kinit/kinit.cpp:1390 #34 0x0804f95f in main (argc=4, argv=0xbfa8f2a4, envp=0xbfa8f2b8) at /home/kde-devel/kde/src/KDE/kdelibs/kinit/kinit.cpp:1825 SVN commit 1061675 by fredrik: Pass QApplication::desktop() as the parent widget to KonqOperations instead of view() or 'this'. This fixes a crash that can occur if the parent widget is deleted while KonqOperations is showing a dialog box. It also fixes a potential crash if view() returns 0. BUG: 204844 BUG: 206343 M +7 -6 folderview.cpp M +5 -5 popupview.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1061675 |