Summary: | crash when splitting columns view mode | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Martin Koller <kollix> |
Component: | general | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | ab.kde, accessburn, agsetyawantl91, arnolab45, bhug, bugzilla, chabot.daniel, chantal_la_roche, claudia_sol_es, daniel.kahle, dave, DBA, faure, frank78ac, gosia.trynka, gt1649a, hans.j.lombard, horst, info, jcd, jilian.becometheboss, kde, linux, ljfnord, meyser.falko, mijstonen, nilsonp55, niravmehta.x, nullvalue, pchevallot, peter.penz19, rdesfo, rh, shane, swestrup, sys, wallfisher62 |
Priority: | NOR | Keywords: | investigated |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
Patch to work around the crash
New crash information added by DrKonqi New crash information added by DrKonqi |
Description
Martin Koller
2010-03-05 09:56:19 UTC
Looks like it might be a bug in DolphinColumnsView. Hm, the problem is that DolphinColumnViewContainer::layoutColumns() gets called indirectly from DolphinColumnViewContainer's constructor before m_emptyViewport is initialised. Calling m_emptyViewport->show() leads to the crash then. It seems that an error in the dir lister is the cause of this - see KMessageBox::error in frame #68. Strangely enough, I can only reproduce this in trunk, not in the 4.4 branch. Created attachment 41597 [details] Patch to work around the crash This patch fixes it for me. Note that checking if m_emptyViewport is 0 in DolphinColumnViewContainer::layoutColumns() was not sufficient - then it just crashes somewhere else [DolphinColumnViewContainer::activeColumn() is called via assureVisibleActiveColumn() from resizeEvent() in this case and crashes because m_index is still -1]. But I think there might be a better way to do it - Peter, do you have an idea? Note that when I run "konqueror ~", I get a message box "Malformed URL" on startup and another one when splitting the view. That seems to be the cause of the crash and indicates that there is another problem, but I still think that the Columns View should not crash in such situations (i.e., if an error occurs when opening the directory). Note that bug 205888 (which is supposed to be fixed) looks related. *** Bug 230590 has been marked as a duplicate of this bug. *** @Frank: Thanks for your investigations! My problem is that I cannot reproduce this issue on KDE 4.4.1 and also not on trunk (update done yesterday). I did not investigate further yet, but I wonder how layoutColumns() can be invoked indirectly in the constructor before m_emptyViewport has been initialized. In any case I'd like to prevent that we only bypass this issue by nullpointer checks and the -1 check. I'd like to have a look at this issue myself, but without able to reproduce it it is tricky for me ;-) I also don't get the warning messages like Martin. Also when checking the backtrace it seems that a message box gets opened to indicate an error in the kdirlister. @Martin: Is the issue reproducible to 100 % also on other folders? @Peter: Yes, a "Malformed URL" message box is opened (also the backtraces of bug 205888 and its duplicates indicate this), and this is why layoutColumns() is invoked here. I don't now why this box is opened (despite the error message, the folder is opened fine for me), maybe this needs further investigation. However, if we cannot safely assume that the dir lister does not open a message box, it seems that DolphinColumnViewContainer should be fixed to prevent such crashes, right? > @Martin: Is the issue reproducible to 100 % also on other folders? It seems that I get this in any folder - even if I run "konqueror file:///", I get the "Malformed URL" error. @David: Do you know what the cause of this error message might be? Do you think we have to fix DolphinColumnViewContainer to prevent this kind of crash? @Frank:
> However, if we cannot safely assume that the dir lister does
> not open a message box, it seems that DolphinColumnViewContainer
> should be fixed to prevent such crashes, right?
Yes. Postponing the start of the dir lister until the polish event has been received might do the trick. Still I think the dir lister should not open a message box directly, but call KDirLister::handleError(KIO::Job* job) instead (by this Dolphin or any other application can decide how to handle the error).
Yes, the crash is 100% reproducible, regardless of the directory. The "Malformed URL" message does only appear on the next start when I close konqi when the columns view is active. When I close konqi with e.g. Icon View, the message box does not appear. But it makes no difference whether the message box is shown or not. The crash happens always as described. *** Bug 232521 has been marked as a duplicate of this bug. *** *** Bug 234566 has been marked as a duplicate of this bug. *** *** Bug 230509 has been marked as a duplicate of this bug. *** *** Bug 232647 has been marked as a duplicate of this bug. *** *** Bug 236336 has been marked as a duplicate of this bug. *** *** Bug 236754 has been marked as a duplicate of this bug. *** *** Bug 236983 has been marked as a duplicate of this bug. *** *** Bug 237557 has been marked as a duplicate of this bug. *** *** Bug 237597 has been marked as a duplicate of this bug. *** *** Bug 237790 has been marked as a duplicate of this bug. *** *** Bug 237789 has been marked as a duplicate of this bug. *** (In reply to comment #7) > Yes. Postponing the start of the dir lister until the polish event has been > received might do the trick. Still I think the dir lister should not open a > message box directly, but call KDirLister::handleError(KIO::Job* job) instead > (by this Dolphin or any other application can decide how to handle the error). This isn't an error coming from a KIO::Job, but an error detected by KDirLister immediately. It can't call handleError, it has no KIO::Job. However this behavior from KDirLister can be disabled using setAutoErrorHandling(false), which dolphin should really be calling. So I think the fix is 1) setAutoErrorHandling(false) 2) fixing whichever code is trying to open an empty URL using kdirlister. But I can't reproduce the bug myself, neither in branch nor trunk (?!?) David, I can still reproduce it with 4.4.3 (openSuse 11.2) SVN commit 1128599 by ppenz: Disable the automatic error handling in the DolphinDirLister, the error message is shown in Dolphin instead. CCBUG: 229505 M +2 -1 dolphindirlister.cpp M +4 -1 viewproperties.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1128599 SVN commit 1128600 by ppenz: SVN_SILENT: Revert accidental commit of temporary debugging codee error message is shown in Dolphin instead. CCBUG: 229505 M +0 -3 viewproperties.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1128600 *** Bug 240481 has been marked as a duplicate of this bug. *** SVN commit 1134758 by freininghaus: Backport of commit 1128599 to the 4.4 branch: Disable the automatic error handling in the DolphinDirLister, the error message is shown in Dolphin instead. CCBUG: 229505 M +1 -0 dolphindirlister.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1134758 I've backported Peter's commit to the 4.4 branch, so Konqueror should not crash any more due to this issue in KDE SC 4.4.5 when it's out. (In reply to comment #20) > 2) fixing whichever code is trying to open an empty URL using kdirlister. > But I can't reproduce the bug myself, neither in branch nor trunk (?!?) I've reverted Peter's commit locally here, but now I cannot reproduce the crash any more. I don't know why... *** Bug 241239 has been marked as a duplicate of this bug. *** *** Bug 241999 has been marked as a duplicate of this bug. *** *** Bug 243051 has been marked as a duplicate of this bug. *** *** Bug 243556 has been marked as a duplicate of this bug. *** *** Bug 244661 has been marked as a duplicate of this bug. *** *** Bug 245067 has been marked as a duplicate of this bug. *** Created attachment 49331 [details]
New crash information added by DrKonqi
Same case here: Konqueror crashed when trying to split the view while using the "Column" mode.
Created attachment 49334 [details]
New crash information added by DrKonqi
I don't get the crash when I split into columns view mode but after I've opened a xml file and then click the <back> button to return to the previous page.
Please see comment 26 - this issue is fixed in 4.4.5. It's not necessary to post any more crash information here, just upgrade to 4.4.5 if you want to get rid of this crash. Howzit Folks? That's great that it's fixed in 4.4.5 but not really any use to anyone running earlier versions. The fact that the bug was reported in 4.4.1 would suggest to me that the logical place to fix the error is there i.e. 4.4.1 and then roll the changes forward to later versions. Cheers Bruce (In reply to comment #36) > The fact that the bug was reported in 4.4.1 would suggest to me that the > logical place to fix the error is there i.e. 4.4.1 and then roll the changes > forward to later versions. Unfortunately, that's just not possible - you cannot make any changes to a version that has already been released. This is why the bug was fixed for 4.4.5, i.e., the next version that has been released *after* the bug fix was done. You might want to check if your distribution provides 4.4.5 packages. *** Bug 245547 has been marked as a duplicate of this bug. *** *** Bug 246667 has been marked as a duplicate of this bug. *** *** Bug 249050 has been marked as a duplicate of this bug. *** *** Bug 251013 has been marked as a duplicate of this bug. *** *** Bug 253280 has been marked as a duplicate of this bug. *** *** Bug 253507 has been marked as a duplicate of this bug. *** *** Bug 253656 has been marked as a duplicate of this bug. *** *** Bug 255495 has been marked as a duplicate of this bug. *** *** Bug 255756 has been marked as a duplicate of this bug. *** *** Bug 256369 has been marked as a duplicate of this bug. *** *** Bug 257836 has been marked as a duplicate of this bug. *** *** Bug 258930 has been marked as a duplicate of this bug. *** *** Bug 259232 has been marked as a duplicate of this bug. *** *** Bug 260610 has been marked as a duplicate of this bug. *** *** Bug 263474 has been marked as a duplicate of this bug. *** *** Bug 265921 has been marked as a duplicate of this bug. *** *** Bug 268148 has been marked as a duplicate of this bug. *** *** Bug 275223 has been marked as a duplicate of this bug. *** |