Bug 245878 - Dolphin crash while switching to Column View Mode
Summary: Dolphin crash while switching to Column View Mode
Status: RESOLVED DUPLICATE of bug 247618
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 16.12.2
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Peter Penz
URL:
Keywords: reproducible
Depends on:
Blocks:
 
Reported: 2010-07-27 11:07 UTC by Giovanni M.
Modified: 2010-08-20 08:08 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Giovanni M. 2010-07-27 11:07:44 UTC
Application: dolphin (1.5)
KDE Platform Version: 4.4.92 (KDE 4.4.92 (KDE 4.5 RC2))
Qt Version: 4.7.0
Operating System: Linux 2.6.32-24-generic x86_64
Distribution: Ubuntu 10.04.1 LTS

-- Information about the crash:
- What I was doing when the application crashed:
Open Dolphin. Dolphin show my home with "Icons" view mode. Go to FolderA, view mode is "Column". Click on a folder (subFolderA) to open a second column, after that switch subFolderA view  to "Icons" mode, at this point if you click to the back button or change the view mode then Dolphin goes to crash.

The crash can be reproduced every time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
[Current thread is 1 (Thread 0x7ff77188c760 (LWP 4234))]

Thread 3 (Thread 0x7ff75e4c6710 (LWP 4240)):
#0  0x00007ff77116bf83 in poll () from /lib/libc.so.6
#1  0x00007ff768cee4a9 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007ff768cee8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007ff76d56ebd6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007ff76d5417b2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007ff76d541b9c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007ff76d44d23d in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007ff76d5216d8 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007ff76d4501be in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007ff76b2749ca in start_thread () from /lib/libpthread.so.0
#10 0x00007ff7711786fd in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7ff757caf710 (LWP 4274)):
#0  0x00007ff76b278a2d in pthread_mutex_unlock () from /lib/libpthread.so.0
#1  0x00007ff7660310d0 in ?? () from /lib/libdbus-1.so.3
#2  0x00007ff766031577 in ?? () from /lib/libdbus-1.so.3
#3  0x00007ff766031d52 in ?? () from /lib/libdbus-1.so.3
#4  0x00007ff766033881 in ?? () from /lib/libdbus-1.so.3
#5  0x00007ff766032f56 in dbus_connection_send_with_reply_and_block () from /lib/libdbus-1.so.3
#6  0x00007ff76d89ec4f in ?? () from /usr/lib/libQtDBus.so.4
#7  0x00007ff76d889c83 in QDBusConnection::call(QDBusMessage const&, QDBus::CallMode, int) const () from /usr/lib/libQtDBus.so.4
#8  0x00007ff76d8a9df2 in QDBusAbstractInterface::callWithArgumentList(QDBus::CallMode, QString const&, QList<QVariant> const&) () from /usr/lib/libQtDBus.so.4
#9  0x00007ff76d8aa349 in QDBusAbstractInterface::internalConstCall(QDBus::CallMode, QString const&, QList<QVariant> const&) const () from /usr/lib/libQtDBus.so.4
#10 0x00007ff76d88c5b3 in QDBusConnectionInterface::isServiceRegistered(QString const&) const () from /usr/lib/libQtDBus.so.4
#11 0x00007ff76dcfd3fa in ?? () from /usr/lib/libkdecore.so.5
#12 0x00007ff76dcfe015 in KSycoca::findFactory(KSycocaFactoryId) () from /usr/lib/libkdecore.so.5
#13 0x00007ff76dd01ab7 in KSycocaFactory::KSycocaFactory(KSycocaFactoryId) () from /usr/lib/libkdecore.so.5
#14 0x00007ff76dc74cce in KServiceTypeFactory::KServiceTypeFactory() () from /usr/lib/libkdecore.so.5
#15 0x00007ff76dc7521a in KServiceTypeFactory::self() () from /usr/lib/libkdecore.so.5
#16 0x00007ff76dc78dae in KServiceTypeTrader::defaultOffers(QString const&, QString const&) const () from /usr/lib/libkdecore.so.5
#17 0x00007ff76dc791f9 in KServiceTypeTrader::query(QString const&, QString const&) const () from /usr/lib/libkdecore.so.5
#18 0x00007ff76f44acbe in ?? () from /usr/lib/libkio.so.5
#19 0x00007ff76f443323 in ?? () from /usr/lib/libkio.so.5
#20 0x00007ff76f445444 in KFileMetaInfo::KFileMetaInfo(QString const&, QString const&, QFlags<KFileMetaInfo::What>) () from /usr/lib/libkio.so.5
#21 0x00007ff76f52f212 in ?? () from /usr/lib/libkio.so.5
#22 0x00007ff76d4501be in ?? () from /usr/lib/libQtCore.so.4
#23 0x00007ff76b2749ca in start_thread () from /lib/libpthread.so.0
#24 0x00007ff7711786fd in clone () from /lib/libc.so.6
#25 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ff77188c760 (LWP 4234)):
[KCrash Handler]
#6  0x00007ff76d555e16 in QObjectPrivate::setParent_helper(QObject*) () from /usr/lib/libQtCore.so.4
#7  0x00007ff770729352 in DolphinView::createView() () from /usr/lib/libdolphinprivate.so.4
#8  0x00007ff77072dcdb in DolphinView::setMode(DolphinView::Mode) () from /usr/lib/libdolphinprivate.so.4
#9  0x00007ff770730848 in DolphinViewActionHandler::slotViewModeActionTriggered(QAction*) () from /usr/lib/libdolphinprivate.so.4
#10 0x00007ff7707147ab in DolphinViewActionHandler::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libdolphinprivate.so.4
#11 0x00007ff76d55a7a7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#12 0x00007ff76ee0149f in KSelectAction::triggered(QAction*) () from /usr/lib/libkdeui.so.5
#13 0x00007ff76ee02409 in KSelectAction::actionTriggered(QAction*) () from /usr/lib/libkdeui.so.5
#14 0x00007ff76ee041c5 in KSelectAction::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#15 0x00007ff76d55a7a7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#16 0x00007ff76e18a47f in QActionGroup::triggered(QAction*) () from /usr/lib/libQtGui.so.4
#17 0x00007ff76e18a867 in ?? () from /usr/lib/libQtGui.so.4
#18 0x00007ff76e18aba1 in QActionGroup::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQtGui.so.4
#19 0x00007ff76d55a7a7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#20 0x00007ff76e185622 in QAction::triggered(bool) () from /usr/lib/libQtGui.so.4
#21 0x00007ff76e186d1b in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQtGui.so.4
#22 0x00007ff76e55f18a in ?? () from /usr/lib/libQtGui.so.4
#23 0x00007ff76e55f43c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#24 0x00007ff76e62e18a in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#25 0x00007ff76e1e269e in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#26 0x00007ff76e18ccdc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#27 0x00007ff76e192fee in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#28 0x00007ff76eee1926 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#29 0x00007ff76d542a8c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#30 0x00007ff76e191a9e in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#31 0x00007ff76e214335 in ?? () from /usr/lib/libQtGui.so.4
#32 0x00007ff76e212c6c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#33 0x00007ff76e23ee82 in ?? () from /usr/lib/libQtGui.so.4
#34 0x00007ff768cea8c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#35 0x00007ff768cee748 in ?? () from /lib/libglib-2.0.so.0
#36 0x00007ff768cee8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#37 0x00007ff76d56eb83 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#38 0x00007ff76e23e7ee in ?? () from /usr/lib/libQtGui.so.4
#39 0x00007ff76d5417b2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#40 0x00007ff76d541b9c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#41 0x00007ff76d545c4b in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#42 0x00007ff771460dbf in kdemain () from /usr/lib/kde4/libkdeinit/libkdeinit4_dolphin.so
#43 0x00007ff7710b0c4d in __libc_start_main () from /lib/libc.so.6
#44 0x00000000004006b9 in _start ()

This bug may be a duplicate of or related to bug 242442.

Possible duplicates by query: bug 242442.

Reported using DrKonqi
Comment 1 Frank Reininghaus 2010-08-19 00:26:37 UTC
Thanks for the report! I got today's trunk to crash using your instructions. The backtrace differs a bit from time to time, but I suppose the cause is the same every time.

Just to repeat the steps I took precisely:
1. Open Dolphin (I've set it to remember view properties for all folders). 
2. Switch to Icons View (if it's not already in that view mode).
3. Open a subfolder of ~.
4. Switch to Columns View.
5. Open a subfolder of the folder which is open in the view.
6. Switch back to Icons View.
7. Go "Back".
Comment 2 Frank Reininghaus 2010-08-19 00:28:49 UTC
Another interesting observation: Opening a folder in Columns View, clicking a subfolder and going "Up" makes Dolphin hit an assert. That might be related.

ASSERT: "index != m_index" in file /home/kde-devel/kde/src/KDE/kdebase/apps/dolphin/src/views/dolphincolumnviewcontainer.cpp, line 348
Comment 3 Frank Reininghaus 2010-08-19 11:24:36 UTC
I've found a way to fix (or work around) the crash, see bug 247618. I'm pretty sure that also your crash is due to a dangling pointer m_selectionModel in DolphinView (it seems that the crashing line in DolphinView::createView is "m_selectionModel->setParent(this);" in your case).

But the issue in comment 2 remains, maybe I should open a new report about that.
Comment 4 Peter Penz 2010-08-19 17:15:10 UTC
Thanks for the report. I've created a new bug 248405 for comment #2 and have marked this as duplicate to bug 247610.

*** This bug has been marked as a duplicate of bug 247610 ***
Comment 5 Frank Reininghaus 2010-08-19 18:21:42 UTC
Just for the record: the right bug number is bug 247618, and the issue will be fixed in 4.5.1 :-)
Comment 6 Peter Penz 2010-08-20 08:08:15 UTC
Fixed wrong duplicate number

*** This bug has been marked as a duplicate of bug 247618 ***