Bug 310111

Summary: Dolphin crash due to bus error [KSharedDataCache::Private::CacheLocker::cautiousLock]
Product: [Unmaintained] kdelibs Reporter: MountainX <davestechshop>
Component: kshareddatacacheAssignee: kdelibs bugs <kdelibs-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: frank78ac, mpyne, richts
Priority: NOR    
Version: 4.8.5   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=309824
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description MountainX 2012-11-14 18:20:46 UTC
Application: dolphin (2.0)
KDE Platform Version: 4.8.5 (4.8.5)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-32-generic x86_64
Distribution: Ubuntu 12.04.1 LTS

-- Information about the crash:
- What I was doing when the application crashed:
opened a new Firefox browser window while Firefox was already open.

- Unusual behavior I noticed:
KDE crashed. All window decorations disappeared. All windows from other desktops showed up together in one desktop. The KDE panel (with Kickoff launcher) disappeared. The application menus were responsive. I saved my work and rebooted. But then KDE gave this crash report.

I can provide more details if needed.

- Custom settings of the application:
3 monitors with ATI graphics card.

-- Backtrace:
Application: Dolphin (dolphin), signal: Bus error
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f1045dfa780 (LWP 2923))]

Thread 3 (Thread 0x7f1031b87700 (LWP 2926)):
#0  0x00007f10456c6303 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f103d69e036 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f103d69e164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f1042750426 in QEventDispatcherGlib::processEvents (this=0x7f102c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f104271fc82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f104271fed7 in QEventLoop::exec (this=0x7f1031b86dd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f104261efa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f10426ff9ff in QInotifyFileSystemWatcherEngine::run (this=0xbc61f0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f1042621fcb in QThreadPrivate::start (arg=0xbc61f0) at thread/qthread_unix.cpp:298
#9  0x00007f103df62e9a in start_thread (arg=0x7f1031b87700) at pthread_create.c:308
#10 0x00007f10456d1cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f1030a43700 (LWP 2929)):
#0  0x00007f10456c6303 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f103d69e036 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f103d69e164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f1042750426 in QEventDispatcherGlib::processEvents (this=0x7f10240008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f104271fc82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f104271fed7 in QEventLoop::exec (this=0x7f1030a42dd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f104261efa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f10426ff9ff in QInotifyFileSystemWatcherEngine::run (this=0xdf89e0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f1042621fcb in QThreadPrivate::start (arg=0xdf89e0) at thread/qthread_unix.cpp:298
#9  0x00007f103df62e9a in start_thread (arg=0x7f1030a43700) at pthread_create.c:308
#10 0x00007f10456d1cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f1045dfa780 (LWP 2923)):
[KCrash Handler]
#6  0x00007f103df656ec in pthread_mutex_timedlock (mutex=0x7f1035916008, abstime=0x7fff779b3d50) at pthread_mutex_timedlock.c:80
#7  0x00007f1042cb19ac in pthreadTimedLock::lock (this=0xa6d570) at ../../kdecore/util/kshareddatacache_p.h:187
#8  0x00007f1042cb5d68 in lock (this=<optimized out>) at ../../kdecore/util/kshareddatacache.cpp:1232
#9  KSharedDataCache::Private::CacheLocker::cautiousLock (this=0x7fff779b40b0) at ../../kdecore/util/kshareddatacache.cpp:1255
#10 0x00007f1042cb68e0 in KSharedDataCache::Private::CacheLocker::CacheLocker (this=0x7fff779b40b0, _d=<optimized out>) at ../../kdecore/util/kshareddatacache.cpp:1278
#11 0x00007f1042cafee6 in KSharedDataCache::find (this=0xa6b2b0, key=..., destination=0x7fff779b4180) at ../../kdecore/util/kshareddatacache.cpp:1630
#12 0x00007f1043134fd9 in KIconLoaderPrivate::findCachedPixmapWithPath (this=0xa78450, key=..., data=..., path=...) at ../../kdeui/icons/kiconloader.cpp:861
#13 0x00007f1043135352 in KIconLoader::loadIcon (this=0xa64e00, _name=..., group=KIconLoader::Desktop, size=16, state=0, overlays=..., path_store=0x0, canReturnNull=false) at ../../kdeui/icons/kiconloader.cpp:1225
#14 0x00007f104312cbff in KIconEngine::pixmap (this=<optimized out>, size=..., mode=<optimized out>, state=<optimized out>) at ../../kdeui/icons/kiconengine.cpp:104
#15 0x00007f10418d1835 in QIcon::pixmap (this=<optimized out>, size=..., mode=<optimized out>, state=<optimized out>) at image/qicon.cpp:684
#16 0x00007f103659d639 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#17 0x00007f103659cfd4 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#18 0x00007f1041c0bb59 in drawControl (opt=..., ce=QStyle::CE_ComboBoxLabel, this=0x7fff779b4760) at ../../include/QtGui/../../src/gui/painting/qstylepainter.h:89
#19 QComboBox::paintEvent (this=0x120ed20) at widgets/qcombobox.cpp:2810
#20 0x00007f10418770f6 in QWidget::event (this=0x120ed20, event=0x7fff779b4f50) at kernel/qwidget.cpp:8508
#21 0x00007f1041826894 in notify_helper (e=0x7fff779b4f50, receiver=0x120ed20, this=0xa06320) at kernel/qapplication.cpp:4559
#22 QApplicationPrivate::notify_helper (this=0xa06320, receiver=0x120ed20, e=0x7fff779b4f50) at kernel/qapplication.cpp:4531
#23 0x00007f104182b713 in QApplication::notify (this=0x7fff779b6020, receiver=0x120ed20, e=0x7fff779b4f50) at kernel/qapplication.cpp:4420
#24 0x00007f10431863f6 in KApplication::notify (this=0x7fff779b6020, receiver=0x120ed20, event=0x7fff779b4f50) at ../../kdeui/kernel/kapplication.cpp:311
#25 0x00007f1042720e9c in QCoreApplication::notifyInternal (this=0x7fff779b6020, receiver=0x120ed20, event=0x7fff779b4f50) at kernel/qcoreapplication.cpp:876
#26 0x00007f103659561e in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#27 0x00007f10365951ae in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#28 0x00007f1036590813 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#29 0x00007f10365903ef in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#30 0x00007f1042735281 in QMetaObject::activate (sender=0x120f9b0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff779b53d0) at kernel/qobject.cpp:3547
#31 0x00007f1041c46c72 in QLineEdit::textChanged (this=<optimized out>, _t1=...) at .moc/release-shared/moc_qlineedit.cpp:264
#32 0x00007f1041c46f19 in QLineEdit::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/release-shared/moc_qlineedit.cpp:140
#33 0x00007f1042735281 in QMetaObject::activate (sender=0x120fd40, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff779b5540) at kernel/qobject.cpp:3547
#34 0x00007f1041eb9b35 in QLineControl::textChanged (this=<optimized out>, _t1=...) at .moc/release-shared/moc_qlinecontrol_p.cpp:148
#35 0x00007f1041c4bb3b in QLineControl::finishChange (this=0x120fd40, validateFromState=-1, update=<optimized out>, edited=false) at widgets/qlinecontrol.cpp:660
#36 0x00007f1041c4bdd0 in QLineControl::internalSetText (this=0x120fd40, txt=..., pos=<optimized out>, edited=false) at widgets/qlinecontrol.cpp:692
#37 0x00007f1041c0e721 in QComboBoxPrivate::setCurrentIndex (this=0x120ed70, mi=...) at widgets/qcombobox.cpp:2041
#38 0x00007f1041c0e877 in QComboBox::setCurrentIndex (this=<optimized out>, index=0) at widgets/qcombobox.cpp:2022
#39 0x00007f1042735281 in QMetaObject::activate (sender=0x120f100, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff779b5880) at kernel/qobject.cpp:3547
#40 0x00007f1042781644 in QAbstractItemModel::rowsInserted (this=<optimized out>, _t1=..., _t2=0, _t3=0) at .moc/release-shared/moc_qabstractitemmodel.cpp:197
#41 0x00007f104271b02d in QAbstractItemModel::endInsertRows (this=0x120f100) at kernel/qabstractitemmodel.cpp:2433
#42 0x00007f1041de24d3 in QStandardItemModelPrivate::rowsInserted (this=0x120f120, parent=<optimized out>, row=<optimized out>, count=1) at itemviews/qstandarditemmodel.cpp:558
#43 0x00007f1041de2734 in QStandardItemPrivate::insertRows (this=0x120eb40, row=0, count=1, items=...) at itemviews/qstandarditemmodel.cpp:433
#44 0x00007f1041c118ff in insertRow (aitem=0x12c3660, arow=0, this=0x120f100) at ../../include/QtGui/../../src/gui/itemviews/qstandarditemmodel.h:438
#45 QComboBox::insertItem (this=<optimized out>, index=0, icon=..., text=..., userData=...) at widgets/qcombobox.cpp:2139
#46 0x00007f10437cca67 in KUrlComboBox::setUrl (this=0x120ed20, url=...) at ../../kio/kfile/kurlcombobox.cpp:293
#47 0x00007f10453bc3c7 in KUrlNavigator::Private::updateContent (this=0x1205de0) at ../../kfile/kurlnavigator.cpp:507
#48 0x00007f10453bdb5b in KUrlNavigator::Private::switchView (this=0x1205de0) at ../../kfile/kurlnavigator.cpp:391
#49 0x00007f10459db897 in DolphinMainWindow::readProperties (this=0xb7eac0, group=...) at ../../../dolphin/src/dolphinmainwindow.cpp:707
#50 0x00007f1043242a19 in KMainWindow::readPropertiesInternal (this=0xb7eac0, config=0x106d7f0, number=<optimized out>) at ../../kdeui/widgets/kmainwindow.cpp:739
#51 0x00007f1043242bcb in KMainWindow::restore (this=0xb7eac0, number=1, show=true) at ../../kdeui/widgets/kmainwindow.cpp:539
#52 0x00007f10459ce15b in DolphinApplication::restoreSession (this=0x7fff779b6020) at ../../../dolphin/src/dolphinapplication.cpp:88
#53 0x00007f10459e54c2 in kdemain (argc=3, argv=0x7fff779b6578) at ../../../dolphin/src/main.cpp:87
#54 0x00007f10455ff76d in __libc_start_main (main=0x400640 <main(int, char**)>, argc=3, ubp_av=0x7fff779b6578, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff779b6568) at libc-start.c:226
#55 0x0000000000400671 in _start ()

Reported using DrKonqi
Comment 1 Frank Reininghaus 2012-11-14 21:45:21 UTC
Thanks for the bug report. You don't happen to use 'bleachbit', do you (see bug 254741)?
Comment 2 MountainX 2012-11-14 23:13:35 UTC
I do not use bleachbit.
Comment 3 Frank Reininghaus 2012-11-14 23:15:03 UTC
Did you manipulate the contents of /var/tmp in some other way?
Comment 4 MountainX 2012-11-14 23:26:27 UTC
I did not knowingly do anything to /var/tmp at this time and I don't believe I have any unusual scripts or applications that would manipulate the contents of /var/tmp. 

Here's my fstab with the UUIDs simplified:
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda2 during installation
UUID=mno987 /               btrfs   noatime,subvol=@ 0       0
# /boot was on /dev/sda1 during installation
UUID=pqr678  /boot           ext2    defaults        0       2
# /home was on /dev/sdb1 during installation
UUID=wxy456 /home           btrfs   noatime,subvol=@home 0       0
# /nocrypt was on /dev/sdc1 during installation
UUID=abc123 /shared        btrfs   noatime         0       0
# swap was on /dev/sdc2 during installation
UUID=def567 none            swap    sw              0       0

Let me know if I can provide any additional info. Thanks.
Comment 5 Frank Reininghaus 2012-11-14 23:30:08 UTC
I'm out of ideas here (except the trivial one that your disk might have been full at the time of the crash), but maybe Michael can say what the cause of such a crash might be.
Comment 6 MountainX 2012-11-15 02:19:14 UTC
Frank,
Thanks for the feedback. It is nice to have some idea of what might have
happened. I checked disk space immediately after rebooting and there was
plenty (actually, a ton of free space). However, my computer had not been
rebooted prior to the crash for weeks. I guess it is possible that /var/tmp
became temporarily full. I'll see if I can find evidence of that in the
logs. Are there terms you would suggest searching for in the logs? Thanks
Dave


On Wed, Nov 14, 2012 at 6:30 PM, Frank Reininghaus <frank78ac@googlemail.com
> wrote:

> https://bugs.kde.org/show_bug.cgi?id=310111
>
> Frank Reininghaus <frank78ac@googlemail.com> changed:
>
>            What    |Removed                     |Added
>
> ----------------------------------------------------------------------------
>                  CC|                            |frank78ac@googlemail.com,
>                    |                            |mpyne@kde.org
>           Component|general                     |kshareddatacache
>             Version|2.0                         |4.8.5
>            Assignee|dolphin-bugs-null@kde.org   |kdelibs-bugs@kde.org
>             Product|dolphin                     |kdelibs
>             Summary|KDE went crazy!!!           |Dolphin crash due to bus
>                    |                            |error
>                    |
>  |[KSharedDataCache::Private:
>                    |
>  |:CacheLocker::cautiousLock]
>
> --- Comment #5 from Frank Reininghaus <frank78ac@googlemail.com> ---
> I'm out of ideas here (except the trivial one that your disk might have
> been
> full at the time of the crash), but maybe Michael can say what the cause of
> such a crash might be.
>
> --
> You are receiving this mail because:
> You reported the bug.
>
Comment 7 Michael Pyne 2012-11-15 02:56:16 UTC
KSharedDataCache has received additional crash guards since KDE 4.8.5 (one of which *might* be relevant here). It's also possible you can stop Dolphin from crashing by removing the stored KSharedDataCache (which is generated on-demand).

The path to your KDE cache directory can be found by running "kde4-config --path cache". In that directory (and subdirectories under it) will be *.kcache files, which can be removed.

To do this quickly you can run:

find $(kde4-config --path cache) -name '*.kcache' -ok rm {} \;

at a Konsole or other terminal. The "-ok" command to find will require permission from you each time it removes a file.

If this works it's still a bug on my end but at least you'll be able to use Dolphin while I'm chasing it down. :-/
Comment 8 Frank Reininghaus 2014-03-21 08:17:54 UTC
*** Bug 332391 has been marked as a duplicate of this bug. ***
Comment 9 Dominik Haumann 2016-09-06 12:14:28 UTC
Still an issue as of 2016-09-06.

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