Summary: | Crash while dragging files over navigator | ||
---|---|---|---|
Product: | [Unmaintained] kfile | Reporter: | martydaido |
Component: | kurlnavigator | Assignee: | kdelibs bugs <kdelibs-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | christian.pendola, erojoaquin, fjperezor, frank78ac, mail, michael.wagner, msx, nuno_man, valterms, virginsofcool, wbauer1 |
Priority: | NOR | Keywords: | investigated |
Version: | 4.10.5 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kdelibs/f1196e8e9a94993e4d748d283d869c4ad205ff02 | Version Fixed In: | 4.13.3 |
Sentry Crash Report: |
Description
martydaido
2012-02-11 21:33:22 UTC
(internal note: KUrlNavigator drag & drop issue) *** Bug 299759 has been marked as a duplicate of this bug. *** From bug 306530: What I was doing when the application crashed: pasting a folder to picture frame gadet. *** Bug 306530 has been marked as a duplicate of this bug. *** *** Bug 311386 has been marked as a duplicate of this bug. *** *** Bug 313122 has been marked as a duplicate of this bug. *** *** Bug 313438 has been marked as a duplicate of this bug. *** *** Bug 316347 has been marked as a duplicate of this bug. *** *** Bug 324379 has been marked as a duplicate of this bug. *** *** Bug 326533 has been marked as a duplicate of this bug. *** *** Bug 333667 has been marked as a duplicate of this bug. *** *** Bug 336517 has been marked as a duplicate of this bug. *** I can reproduce the crash with this backtrace using the following steps: 1. Make sure that only one Dolphin window is open. 2. In a Konsole, type sleep 5; qdbus `qdbus | grep dolphin` /dolphin/Dolphin_1/actions/file_quit trigger 3. Click the arrow next to a directory name in the location bar, such that the "sub directories menu" is opened. 4. Wait until the window is closed, and the crash dialog appears. A similar crash happens when clicking the very first arrow in the location bar in step 3. It crashes in KUrlNavigator::Private::openPathSelectorMenu() then. The root cause is the same in both cases: The object that opens the menu gets deleted in the menu's nested event loop, and any access to a local or member variable after that results in a crash. Git commit f1196e8e9a94993e4d748d283d869c4ad205ff02 by Frank Reininghaus. Committed on 29/06/2014 at 19:04. Pushed by freininghaus into branch 'KDE/4.13'. Fix crashes in KUrlNavigator that are caused by nested event loops KUrlNavigator opens menus with exec() in a few places, and accesses member variables or pointers to children after that. This can cause crashes if the object has been deleted inside the nested event loops. This is fixed by using QPointers to detect if an object was deleted already, and return immediately in that case. I'll forward-port to KF5 in a few days. REVIEW: 118858 FIXED-IN: 4.13.3 M +20 -12 kfile/kurlnavigator.cpp M +9 -0 kfile/kurlnavigatorbutton.cpp http://commits.kde.org/kdelibs/f1196e8e9a94993e4d748d283d869c4ad205ff02 Git commit a16fffbdeac01527f7993747c369d5a688ac97f0 by Frank Reininghaus. Committed on 13/07/2014 at 09:12. Pushed by freininghaus into branch 'master'. Fix crashes in KUrlNavigator that are caused by nested event loops KUrlNavigator opens menus with exec() in a few places, and accesses member variables or pointers to children after that. This can cause crashes if the object has been deleted inside the nested event loops. This is fixed by using QPointers to detect if an object was deleted already, and return immediately in that case. This is a forward-port of commit f1196e8e9a94993e4d748d283d869c4ad205ff02 in kdelibs. M +20 -12 src/filewidgets/kurlnavigator.cpp M +9 -0 src/filewidgets/kurlnavigatorbutton.cpp http://commits.kde.org/kio/a16fffbdeac01527f7993747c369d5a688ac97f0 Sorry to say, but this does not seem to be fixed in 4.13.3. I can still reliably reproduce a crash by following the steps from comment#13. I do not get a crash dialog/segmentation fault though, dolphin's window just disappears. (In reply to Wolfgang Bauer from comment #16) > Sorry to say, but this does not seem to be fixed in 4.13.3. > I can still reliably reproduce a crash by following the steps from > comment#13. > > I do not get a crash dialog/segmentation fault though Then this is not a crash. > dolphin's window just disappears. In fact, it is the expected behavior. If you send a "trigger" signal to the "file_quit" action via D-Bus, then the application quits, as the name of the action suggests. This is equivalent to pressing Ctrl+Q, but you cannot do that while a menu is open. The reason for doing it via D-Bus with a delay from Konsole is that this is an elegant way to make the crash reproducible. (In reply to Frank Reininghaus from comment #17) > (In reply to Wolfgang Bauer from comment #16) > > I do not get a crash dialog/segmentation fault though > Then this is not a crash. Yeah, right. But if the application just quits unexpectedly, it's not much better than a crash either. ;) > > dolphin's window just disappears. > > In fact, it is the expected behavior. If you send a "trigger" signal to the > "file_quit" action via D-Bus, then the application quits, as the name of the > action suggests. Ah, ok. I have to admit I haven't really looked at the action's name or that command line, I just copy/pasted it to Konsole. Sorry for the noise. |