Bug 229505 - crash when splitting columns view mode
Summary: crash when splitting columns view mode
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords: investigated
: 230509 230590 232521 232647 234566 236336 236754 236983 237557 237597 237789 237790 240481 241239 241999 243051 243556 244661 245067 245547 246667 249050 251013 253280 253507 253656 255495 255756 256369 257836 258930 259232 260610 263474 265921 268148 275223 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-03-05 09:56 UTC by Martin Koller
Modified: 2011-06-08 23:21 UTC (History)
37 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Patch to work around the crash (1013 bytes, patch)
2010-03-13 18:47 UTC, Frank Reininghaus
Details
New crash information added by DrKonqi (17.24 KB, text/plain)
2010-07-20 11:54 UTC, la maison
Details
New crash information added by DrKonqi (13.95 KB, text/plain)
2010-07-20 13:12 UTC, Bruce Williamson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Koller 2010-03-05 09:56:19 UTC
Application: konqueror (4.4.1 (KDE 4.4.1) "release 225")
KDE Platform Version: 4.4.1 (KDE 4.4.1) "release 225"
Qt Version: 4.6.2
Operating System: Linux 2.6.31.12-0.1-desktop i686
Distribution: "openSUSE 11.2 (i586)"

-- Information about the crash:
Start konqueror: konqueror /tmp
- select Columns view mode
- click Split View Left/Right
=> crash

In addition, I see the following log output in konsole:
Object::connect: No such signal DolphinController::requestUrlChange(const KUrl&)
QAbstractItemView::setSelectionModel() failed: Trying to set a selection model, which works on a different model than the view.
QAbstractItemView::setSelectionModel() failed: Trying to set a selection model, which works on a different model than the view.
Object::disconnect: Unexpected null parameter
QAbstractItemView::setSelectionModel() failed: Trying to set a selection model, which works on a different model than the view.
Object::disconnect: Unexpected null parameter
Object::connect: No such signal DolphinController::requestUrlChange(const KUrl&)



The crash can be reproduced every time.

 -- Backtrace:
Application: Konqueror (konqueror), signal: Segmentation fault
[KCrash Handler]
#6  show (this=<value optimized out>) at /usr/include/QtGui/qwidget.h:485
#7  DolphinColumnViewContainer::layoutColumns (this=<value optimized out>) at /usr/src/debug/kdebase-4.4.1/apps/dolphin/src/dolphincolumnviewcontainer.cpp:292
#8  0xb3566202 in DolphinColumnViewContainer::resizeEvent (this=0x87e3310, event=0xbf95a4c8) at /usr/src/debug/kdebase-4.4.1/apps/dolphin/src/dolphincolumnviewcontainer.cpp:200
#9  0xb5d6cbeb in QWidget::event (this=0x87e3310, event=0xbf95a4c8) at kernel/qwidget.cpp:8152
#10 0xb61790e5 in QFrame::event (this=0x87e3310, e=0xbf95a4c8) at widgets/qframe.cpp:557
#11 0xb6215d91 in QAbstractScrollArea::viewportEvent (this=0xbf959e01, e=0x0) at widgets/qabstractscrollarea.cpp:1036
#12 0xb6218686 in viewportEvent (event=<value optimized out>, this=<value optimized out>) at widgets/qabstractscrollarea_p.h:100
#13 QAbstractScrollAreaFilter::eventFilter (event=<value optimized out>, this=<value optimized out>) at widgets/qabstractscrollarea_p.h:116
#14 0xb685c0ae in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x8068f88, receiver=0x87e3140, event=0xbf95a4c8) at kernel/qcoreapplication.cpp:819
#15 0xb5d0c3cd in QApplicationPrivate::notify_helper (this=0x8068f88, receiver=0x87e3140, e=0xbf95a4c8) at kernel/qapplication.cpp:4296
#16 0xb5d132d8 in QApplication::notify (this=0x87e3140, receiver=0x87e3140, e=0xbf95a4c8) at kernel/qapplication.cpp:4265
#17 0xb6d7db81 in KApplication::notify (this=0xbf95d850, receiver=0x87e3140, event=0xbf95a4c8) at /usr/src/debug/kdelibs-4.4.1/kdeui/kernel/kapplication.cpp:302
#18 0xb685cdde in QCoreApplication::notifyInternal (this=0xbf95d850, receiver=0x87e3140, event=0xbf95a4c8) at kernel/qcoreapplication.cpp:704
#19 0xb5d6b963 in sendEvent (event=<value optimized out>, receiver=0x87e3558) at ../../src/corelib/kernel/qcoreapplication.h:215
#20 QWidgetPrivate::sendPendingMoveAndResizeEvents (event=<value optimized out>, receiver=0x87e3558) at kernel/qwidget.cpp:7086
#21 0xb5d72948 in QWidgetPrivate::show_helper (this=0x87e3558) at kernel/qwidget.cpp:7137
#22 0xb5d74ef1 in QWidget::setVisible (this=0x87e3140, visible=true) at kernel/qwidget.cpp:7418
#23 0xb5d72e30 in show (this=<value optimized out>) at ../../src/gui/kernel/qwidget.h:485
#24 QWidgetPrivate::showChildren (this=<value optimized out>) at kernel/qwidget.cpp:7506
#25 0xb5d72970 in QWidgetPrivate::show_helper (this=0x87e3350) at kernel/qwidget.cpp:7143
#26 0xb5d74ef1 in QWidget::setVisible (this=0x87e3310, visible=true) at kernel/qwidget.cpp:7418
#27 0xb5d72e30 in show (this=<value optimized out>) at ../../src/gui/kernel/qwidget.h:485
#28 QWidgetPrivate::showChildren (this=<value optimized out>) at kernel/qwidget.cpp:7506
#29 0xb5d72970 in QWidgetPrivate::show_helper (this=0x85cb3a8) at kernel/qwidget.cpp:7143
#30 0xb5d74ef1 in QWidget::setVisible (this=0x85cc5c0, visible=true) at kernel/qwidget.cpp:7418
#31 0xb5d72e30 in show (this=<value optimized out>) at ../../src/gui/kernel/qwidget.h:485
#32 QWidgetPrivate::showChildren (this=<value optimized out>) at kernel/qwidget.cpp:7506
#33 0xb5d72970 in QWidgetPrivate::show_helper (this=0x87d9df0) at kernel/qwidget.cpp:7143
#34 0xb5d74ef1 in QWidget::setVisible (this=0x87cd668, visible=true) at kernel/qwidget.cpp:7418
#35 0xb61e6bc4 in show (this=<value optimized out>) at ../../src/gui/kernel/qwidget.h:485
#36 QSplitter::childEvent (this=<value optimized out>) at widgets/qsplitter.cpp:1284
#37 0xb76cd8b9 in KonqFrameContainer::childEvent (this=0x0, c=0xbf95af90) at /usr/src/debug/kdebase-4.4.1/apps/konqueror/src/konqframecontainer.cpp:191
#38 0xb686da9c in QObject::event (this=0x87d5c48, e=0x0) at kernel/qobject.cpp:1227
#39 0xb5d6c5b0 in QWidget::event (this=0x87d5c48, event=0xbf95af90) at kernel/qwidget.cpp:8455
#40 0xb61e4d04 in QSplitter::event (this=0x87d5c48, e=0xbf95af90) at widgets/qsplitter.cpp:1359
#41 0xb5d0c3fc in QApplicationPrivate::notify_helper (this=0x8068f88, receiver=0x87d5c48, e=0xbf95af90) at kernel/qapplication.cpp:4300
#42 0xb5d132d8 in QApplication::notify (this=0x87d5c48, receiver=0x87d5c48, e=0xbf95af90) at kernel/qapplication.cpp:4265
#43 0xb6d7db81 in KApplication::notify (this=0xbf95d850, receiver=0x87d5c48, event=0xbf95af90) at /usr/src/debug/kdelibs-4.4.1/kdeui/kernel/kapplication.cpp:302
#44 0xb685cdde in QCoreApplication::notifyInternal (this=0xbf95d850, receiver=0x87d5c48, event=0xbf95af90) at kernel/qcoreapplication.cpp:704
#45 0xb5d61d64 in sendEvent (event=<value optimized out>, receiver=0x87cd668) at ../../src/corelib/kernel/qcoreapplication.h:215
#46 QWidget::ensurePolished (event=<value optimized out>, receiver=0x87cd668) at kernel/qwidget.cpp:9343
#47 0xb5d6d274 in QWidget::event (this=0x87cd668, event=0x8665be8) at kernel/qwidget.cpp:8080
#48 0xb5d0c3fc in QApplicationPrivate::notify_helper (this=0x8068f88, receiver=0x87cd668, e=0x8665be8) at kernel/qapplication.cpp:4300
#49 0xb5d132d8 in QApplication::notify (this=0x87cd668, receiver=0x87cd668, e=0x8665be8) at kernel/qapplication.cpp:4265
#50 0xb6d7db81 in KApplication::notify (this=0xbf95d850, receiver=0x87cd668, event=0x8665be8) at /usr/src/debug/kdelibs-4.4.1/kdeui/kernel/kapplication.cpp:302
#51 0xb685cdde in QCoreApplication::notifyInternal (this=0xbf95d850, receiver=0x87cd668, event=0x8665be8) at kernel/qcoreapplication.cpp:704
#52 0xb685f7e3 in sendEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.h:215
#53 QCoreApplicationPrivate::sendPostedEvents (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.cpp:1345
#54 0xb685f93c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1238
#55 0xb6889e4d in sendPostedEvents () at kernel/qcoreapplication.h:220
#56 postEventSourceDispatch () at kernel/qeventdispatcher_glib.cpp:276
#57 0xb565f4c2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#58 0xb5662d98 in ?? () from /usr/lib/libglib-2.0.so.0
#59 0xb5662ebe in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#60 0xb6889931 in QEventDispatcherGlib::processEvents (this=0x8068f48, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#61 0xb5dcce0a in QGuiEventDispatcherGlib::processEvents (this=0x8068f48, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#62 0xb685b44d in QEventLoop::processEvents (this=0xbf95b7c0, flags=) at kernel/qeventloop.cpp:149
#63 0xb685b899 in QEventLoop::exec (this=0xbf95b7c0, flags=...) at kernel/qeventloop.cpp:201
#64 0xb6261771 in QDialog::exec (this=0x87f5120) at dialogs/qdialog.cpp:546
#65 0xb6ee950d in KMessageBox::createKMessageBox (dialog=0x87f5120, icon=..., text=..., strlist=..., ask=..., checkboxReturn=0x0, options=..., details=..., notifyType=Critical)
    at /usr/src/debug/kdelibs-4.4.1/kdeui/dialogs/kmessagebox.cpp:333
#66 0xb6f1659f in KMessageBox::createKMessageBox (dialog=0x87f5120, icon=Critical, text=..., strlist=..., ask=..., checkboxReturn=0x0, options=..., details=...)
    at /usr/src/debug/kdelibs-4.4.1/kdeui/dialogs/kmessagebox.cpp:151
#67 0xb6f1a120 in KMessageBox::errorListWId (parent_id=0, text=..., strlist=..., caption=..., options=) at /usr/src/debug/kdelibs-4.4.1/kdeui/dialogs/kmessagebox.cpp:845
#68 0xb6f1a364 in KMessageBox::error (parent=0x0, text=..., caption=..., options=...) at /usr/src/debug/kdelibs-4.4.1/kdeui/dialogs/kmessagebox.cpp:810
#69 0xb71e4951 in KDirListerCache::validUrl (this=0x8538980, lister=0x85c8bc0, url=...) at /usr/src/debug/kdelibs-4.4.1/kio/kio/kdirlister.cpp:330
#70 0xb724f4ef in KDirListerCache::listDir (this=0x8538980, lister=0x85c8bc0, _u=..., _keep=false, _reload=false) at /usr/src/debug/kdelibs-4.4.1/kio/kio/kdirlister.cpp:128
#71 0xb7251445 in KDirLister::openUrl (this=0x85c8bc0, _url=..., _flags=...) at /usr/src/debug/kdelibs-4.4.1/kio/kio/kdirlister.cpp:1953
#72 0xb3565471 in DolphinColumnView::DolphinColumnView (this=0x87e49f8, parent=0x87e3140, container=0x87e3310, url=...) at /usr/src/debug/kdebase-4.4.1/apps/dolphin/src/dolphincolumnview.cpp:139
#73 0xb356669d in DolphinColumnViewContainer::DolphinColumnViewContainer (this=0x87e3310, parent=0x85cc5c0, controller=0x85d0290)
    at /usr/src/debug/kdebase-4.4.1/apps/dolphin/src/dolphincolumnviewcontainer.cpp:70
#74 0xb356d820 in DolphinView::ViewAccessor::createView (this=0x85cc5e4, parent=0x85cc5c0, controller=0x85d0290, mode=ColumnView) at /usr/src/debug/kdebase-4.4.1/apps/dolphin/src/dolphinview.cpp:1498
#75 0xb356db2b in DolphinView::createView (this=0x85cc5c0) at /usr/src/debug/kdebase-4.4.1/apps/dolphin/src/dolphinview.cpp:1370
#76 0xb356ebd1 in DolphinView::applyViewProperties (this=0x85cc5c0) at /usr/src/debug/kdebase-4.4.1/apps/dolphin/src/dolphinview.cpp:1297
#77 0xb356fa03 in DolphinView::DolphinView (this=0x85cc5c0, parent=0x87cd668, url=..., proxyModel=0x85ce980) at /usr/src/debug/kdebase-4.4.1/apps/dolphin/src/dolphinview.cpp:158
#78 0xb35edebf in DolphinPart::DolphinPart (this=0x87e2398, parentWidget=0x87cd668, parent=0x0, args=..., __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>)
    at /usr/src/debug/kdebase-4.4.1/apps/dolphin/src/dolphinpart.cpp:85
#79 0xb35ef4b4 in KPluginFactory::createPartInstance<DolphinPart> (parentWidget=0x87cd668, parent=0x0, args=...) at /usr/include/kpluginfactory.h:467
#80 0xb6ad9f9f in KPluginFactory::create(char const*, QWidget*, QObject*, QList<QVariant> const&, QString const&) () from /usr/lib/libkdecore.so.5
#81 0xb76e3ca6 in create<KParts::ReadOnlyPart> (args=<value optimized out>, keyword=<value optimized out>, parent=<value optimized out>, parentWidget=<value optimized out>, 
    this=<value optimized out>) at /usr/include/kpluginfactory.h:515
#82 KonqViewFactory::create (args=<value optimized out>, keyword=<value optimized out>, parent=<value optimized out>, parentWidget=<value optimized out>, this=<value optimized out>)
    at /usr/src/debug/kdebase-4.4.1/apps/konqueror/src/konqfactory.cpp:71
#83 0xb76ca8a0 in KonqFrame::attach (this=0x87cd668, viewFactory=...) at /usr/src/debug/kdebase-4.4.1/apps/konqueror/src/konqframe.cpp:143
#84 0xb76b2b86 in KonqView::switchView (this=0x87dee30, viewFactory=...) at /usr/src/debug/kdebase-4.4.1/apps/konqueror/src/konqview.cpp:248
#85 0xb76b34b4 in KonqView::KonqView (this=0x87dee30, viewFactory=..., viewFrame=0x87cd668, mainWindow=0x81861f0, service=..., partServiceOffers=..., appServiceOffers=..., serviceType=..., 
    passiveMode=false) at /usr/src/debug/kdebase-4.4.1/apps/konqueror/src/konqview.cpp:105
#86 0xb76bf13e in KonqViewManager::setupView (this=0x816c0b0, parentContainer=0x87d5c5c, viewFactory=..., service=..., partServiceOffers=..., appServiceOffers=..., serviceType=..., 
    passiveMode=<value optimized out>, openAfterCurrentPage=false, pos=-1) at /usr/src/debug/kdebase-4.4.1/apps/konqueror/src/konqviewmanager.cpp:818
#87 0xb76c0358 in KonqViewManager::splitView (this=0x816c0b0, currentView=0x8535e88, orientation=Horizontal, newOneFirst=false, forceAutoEmbed=<value optimized out>)
    at /usr/src/debug/kdebase-4.4.1/apps/konqueror/src/konqviewmanager.cpp:133
#88 0xb76ff71c in KonqMainWindow::slotSplitViewHorizontal (this=0x81861f0) at /usr/src/debug/kdebase-4.4.1/apps/konqueror/src/konqmainwindow.cpp:2311
#89 0xb77161e2 in KonqMainWindow::qt_metacall (this=0x81861f0, _c=InvokeMetaMethod, _id=60, _a=0xbf95c7a8) at /usr/src/debug/kdebase-4.4.1/build/apps/konqueror/src/konqmainwindow.moc:399
#90 0xb686214d in QMetaObject::metacall (object=0x81861f0, cl=3214253569, idx=110, argv=0xbf95c7a8) at kernel/qmetaobject.cpp:237
#91 0xb6870faa in QMetaObject::activate (sender=0x82d8100, m=0xb6655d98, local_signal_index=1, argv=0xbf95c7a8) at kernel/qobject.cpp:3293
#92 0xb5d0595d in QAction::triggered (this=0x82d8100, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#93 0xb5d07c6c in QAction::activate (this=0x82d8100, event=Trigger) at kernel/qaction.cpp:1255
#94 0xb620f370 in trigger (this=<value optimized out>) at ../../src/gui/kernel/qaction.h:218
#95 QToolButton::nextCheckState (this=<value optimized out>) at widgets/qtoolbutton.cpp:1147
#96 0xb6127ef7 in QAbstractButtonPrivate::click (this=0x84fe628) at widgets/qabstractbutton.cpp:528
#97 0xb61281f6 in QAbstractButton::mouseReleaseEvent (this=0x84fc910, e=0xbf95cee0) at widgets/qabstractbutton.cpp:1121
#98 0xb620f84d in QToolButton::mouseReleaseEvent (this=0x84fc910, e=0xbf95cee0) at widgets/qtoolbutton.cpp:721
#99 0xb5d6d05b in QWidget::event (this=0x84fc910, event=0xbf95cee0) at kernel/qwidget.cpp:7998
#100 0xb6126e80 in QAbstractButton::event (this=0x84fc910, e=0x0) at widgets/qabstractbutton.cpp:1080
#101 0xb62123ac in QToolButton::event (this=0x84fc910, event=0xbf95cee0) at widgets/qtoolbutton.cpp:1163
#102 0xb5d0c3fc in QApplicationPrivate::notify_helper (this=0x8068f88, receiver=0x84fc910, e=0xbf95cee0) at kernel/qapplication.cpp:4300
#103 0xb5d13c0e in QApplication::notify (this=0xbf95cc14, receiver=0x84fc910, e=0xbf95cee0) at kernel/qapplication.cpp:3865
#104 0xb6d7db81 in KApplication::notify (this=0xbf95d850, receiver=0x84fc910, event=0xbf95cee0) at /usr/src/debug/kdelibs-4.4.1/kdeui/kernel/kapplication.cpp:302
#105 0xb685cdde in QCoreApplication::notifyInternal (this=0xbf95d850, receiver=0x84fc910, event=0xbf95cee0) at kernel/qcoreapplication.cpp:704
#106 0xb5d12b54 in sendSpontaneousEvent (event=<value optimized out>, receiver=<value optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:218
#107 QApplicationPrivate::sendMouseEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qapplication.cpp:2963
#108 0xb5da069a in QETWidget::translateMouseEvent (this=0x81861f0, event=0xbf95d3ec) at kernel/qapplication_x11.cpp:4368
#109 0xb5d9fc44 in QApplication::x11ProcessEvent (this=0xbf95d850, event=0xbf95d3ec) at kernel/qapplication_x11.cpp:3379
#110 0xb5dcd2b8 in x11EventSourceDispatch (s=0x806c100, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#111 0xb565f4c2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#112 0xb5662d98 in ?? () from /usr/lib/libglib-2.0.so.0
#113 0xb5662ebe in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#114 0xb6889931 in QEventDispatcherGlib::processEvents (this=0x8068f48, flags=...) at kernel/qeventdispatcher_glib.cpp:412
#115 0xb5dcce0a in QGuiEventDispatcherGlib::processEvents (this=0x8068f48, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#116 0xb685b44d in QEventLoop::processEvents (this=0xbf95d6a4, flags=) at kernel/qeventloop.cpp:149
#117 0xb685b899 in QEventLoop::exec (this=0xbf95d6a4, flags=...) at kernel/qeventloop.cpp:201
#118 0xb685fa10 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#119 0xb5d0c4a4 in QApplication::exec () at kernel/qapplication.cpp:3579
#120 0xb77428fb in kdemain (argc=2, argv=0xbf95db54) at /usr/src/debug/kdebase-4.4.1/apps/konqueror/src/konqmain.cpp:257
#121 0x080485fb in main (argc=2, argv=0xbf95db54) at /usr/src/debug/kdebase-4.4.1/build/apps/konqueror/src/konqueror_dummy.cpp:3

Reported using DrKonqi
Comment 1 Frank Reininghaus 2010-03-05 17:57:32 UTC
Looks like it might be a bug in DolphinColumnsView.
Comment 2 Frank Reininghaus 2010-03-07 18:14:25 UTC
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.
Comment 3 Frank Reininghaus 2010-03-13 18:47:19 UTC
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.
Comment 4 Frank Reininghaus 2010-03-14 10:19:09 UTC
*** Bug 230590 has been marked as a duplicate of this bug. ***
Comment 5 Peter Penz 2010-03-14 13:43:56 UTC
@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?
Comment 6 Frank Reininghaus 2010-03-14 14:31:06 UTC
@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?
Comment 7 Peter Penz 2010-03-14 14:45:26 UTC
@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).
Comment 8 Martin Koller 2010-03-14 14:46:24 UTC
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.
Comment 9 Nicolas L. 2010-03-29 12:02:58 UTC
*** Bug 232521 has been marked as a duplicate of this bug. ***
Comment 10 Frank Reininghaus 2010-04-17 12:27:41 UTC
*** Bug 234566 has been marked as a duplicate of this bug. ***
Comment 11 Frank Reininghaus 2010-04-18 16:01:08 UTC
*** Bug 230509 has been marked as a duplicate of this bug. ***
Comment 12 Frank Reininghaus 2010-05-04 20:22:49 UTC
*** Bug 232647 has been marked as a duplicate of this bug. ***
Comment 13 Frank Reininghaus 2010-05-04 20:22:54 UTC
*** Bug 236336 has been marked as a duplicate of this bug. ***
Comment 14 Frank Reininghaus 2010-05-07 23:24:59 UTC
*** Bug 236754 has been marked as a duplicate of this bug. ***
Comment 15 Frank Reininghaus 2010-05-10 17:43:10 UTC
*** Bug 236983 has been marked as a duplicate of this bug. ***
Comment 16 Frank Reininghaus 2010-05-14 08:19:03 UTC
*** Bug 237557 has been marked as a duplicate of this bug. ***
Comment 17 Tommi Tervo 2010-05-16 11:10:46 UTC
*** Bug 237597 has been marked as a duplicate of this bug. ***
Comment 18 Tommi Tervo 2010-05-16 11:11:18 UTC
*** Bug 237790 has been marked as a duplicate of this bug. ***
Comment 19 Tommi Tervo 2010-05-16 11:11:44 UTC
*** Bug 237789 has been marked as a duplicate of this bug. ***
Comment 20 David Faure 2010-05-19 10:47:17 UTC
(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 (?!?)
Comment 21 Martin Koller 2010-05-19 10:55:13 UTC
David, I can still reproduce it with 4.4.3 (openSuse 11.2)
Comment 22 Peter Penz 2010-05-19 20:49:11 UTC
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
Comment 23 Peter Penz 2010-05-19 20:53:16 UTC
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
Comment 24 Frank Reininghaus 2010-06-03 13:58:24 UTC
*** Bug 240481 has been marked as a duplicate of this bug. ***
Comment 25 Frank Reininghaus 2010-06-05 09:41:13 UTC
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
Comment 26 Frank Reininghaus 2010-06-05 09:43:50 UTC
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...
Comment 27 Maksim Orlovich 2010-06-09 22:34:28 UTC
*** Bug 241239 has been marked as a duplicate of this bug. ***
Comment 28 Nicolas L. 2010-06-18 09:49:36 UTC
*** Bug 241999 has been marked as a duplicate of this bug. ***
Comment 29 Frank Reininghaus 2010-06-30 15:21:52 UTC
*** Bug 243051 has been marked as a duplicate of this bug. ***
Comment 30 Frank Reininghaus 2010-07-04 13:47:14 UTC
*** Bug 243556 has been marked as a duplicate of this bug. ***
Comment 31 Frank Reininghaus 2010-07-14 22:48:46 UTC
*** Bug 244661 has been marked as a duplicate of this bug. ***
Comment 32 Frank Reininghaus 2010-07-19 10:10:42 UTC
*** Bug 245067 has been marked as a duplicate of this bug. ***
Comment 33 la maison 2010-07-20 11:54:22 UTC
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.
Comment 34 Bruce Williamson 2010-07-20 13:12:59 UTC
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.
Comment 35 Frank Reininghaus 2010-07-20 13:20:22 UTC
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.
Comment 36 Bruce Williamson 2010-07-21 06:37:56 UTC
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
Comment 37 Frank Reininghaus 2010-07-21 13:32:57 UTC
(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.
Comment 38 Frank Reininghaus 2010-07-23 18:55:36 UTC
*** Bug 245547 has been marked as a duplicate of this bug. ***
Comment 39 Tommi Tervo 2010-08-04 07:29:33 UTC
*** Bug 246667 has been marked as a duplicate of this bug. ***
Comment 40 Frank Reininghaus 2010-08-27 10:58:53 UTC
*** Bug 249050 has been marked as a duplicate of this bug. ***
Comment 41 Frank Reininghaus 2010-09-13 02:04:38 UTC
*** Bug 251013 has been marked as a duplicate of this bug. ***
Comment 42 Frank Reininghaus 2010-10-05 16:01:59 UTC
*** Bug 253280 has been marked as a duplicate of this bug. ***
Comment 43 Frank Reininghaus 2010-10-07 15:41:22 UTC
*** Bug 253507 has been marked as a duplicate of this bug. ***
Comment 44 Frank Reininghaus 2010-10-17 15:42:55 UTC
*** Bug 253656 has been marked as a duplicate of this bug. ***
Comment 45 Tommi Tervo 2010-10-28 22:20:47 UTC
*** Bug 255495 has been marked as a duplicate of this bug. ***
Comment 46 Tommi Tervo 2010-10-31 20:30:38 UTC
*** Bug 255756 has been marked as a duplicate of this bug. ***
Comment 47 Tommi Tervo 2010-11-08 21:16:22 UTC
*** Bug 256369 has been marked as a duplicate of this bug. ***
Comment 48 Tommi Tervo 2010-11-25 09:09:56 UTC
*** Bug 257836 has been marked as a duplicate of this bug. ***
Comment 49 Tommi Tervo 2010-12-05 19:30:34 UTC
*** Bug 258930 has been marked as a duplicate of this bug. ***
Comment 50 Tommi Tervo 2010-12-08 19:24:42 UTC
*** Bug 259232 has been marked as a duplicate of this bug. ***
Comment 51 Tommi Tervo 2010-12-18 09:40:43 UTC
*** Bug 260610 has been marked as a duplicate of this bug. ***
Comment 52 Tommi Tervo 2011-01-17 21:51:29 UTC
*** Bug 263474 has been marked as a duplicate of this bug. ***
Comment 53 Frank Reininghaus 2011-02-10 02:27:57 UTC
*** Bug 265921 has been marked as a duplicate of this bug. ***
Comment 54 Tommi Tervo 2011-03-10 19:46:33 UTC
*** Bug 268148 has been marked as a duplicate of this bug. ***
Comment 55 Tommi Tervo 2011-06-08 23:21:18 UTC
*** Bug 275223 has been marked as a duplicate of this bug. ***