https://bugs.kde.org/show_bug.cgi?id=389413

            Bug ID: 389413
           Summary: Krusader crashes when entering directories with read
                    errors
           Product: krusader
           Version: Git
          Platform: Ubuntu Packages
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

I have a directory that throws some read errors when I perform an `ls` in this
dir.  This is how the read erros look like:
"ls: cannot read symbolic link 'core': Protocol error"

Before you say "Well, your system is broken! Hahaha!", let me explain this in
more detail.  First of all this is an mounted network resource that I don't
manage.  So I'm not responsible for this bug.  I just have to deal with it. 
Secondly, several other file managers are more fault tolerant, e.g. Dolphin or
mc.  I wish that Krusader would also just ignore those read errors and show me
all valid files and directories instead of crashing.

Here is the stacktrace (using the git version):

$ gdb krusader/krusader
GNU gdb (Ubuntu 8.0.1-0ubuntu1) 8.0.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from krusader/krusader...(no debugging symbols found)...done.
(gdb) run
Starting program:
/home/stefan/software/krusader/krusader-build/krusader/krusader 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
kf5.kio.core: Refilling KProtocolInfoFactory cache in the hope to find "krarc"
kf5.kio.core: Refilling KProtocolInfoFactory cache in the hope to find "iso"
[New Thread 0x7fffe2e14700 (LWP 17956)]
[New Thread 0x7fffd8174700 (LWP 17957)]
[New Thread 0x7fffd7973700 (LWP 17958)]
[New Thread 0x7fffd7172700 (LWP 17959)]
[New Thread 0x7fffd6971700 (LWP 17960)]
[New Thread 0x7fffc4f54700 (LWP 17962)]
14:18:10.466-warning default unknown@0 # can't locate layout.xml

Thread 1 "krusader" received signal SIGSEGV, Segmentation fault.
0x0000555555710ab5 in FileSystem::createLocalFileItem(QString const&, QString
const&, bool) ()
(gdb) where
#0  0x0000555555710ab5 in FileSystem::createLocalFileItem(QString const&,
QString const&, bool) ()
#1  0x000055555572411c in DefaultFileSystem::createLocalFileItem(QString
const&) ()
#2  0x0000555555724aa5 in DefaultFileSystem::refreshLocal(QUrl const&, bool) ()
#3  0x00005555557263b4 in DefaultFileSystem::refreshInternal(QUrl const&, bool)
()
#4  0x00005555557120b1 in FileSystem::scanOrRefresh(QUrl const&, bool) ()
#5  0x000055555562c3c0 in ListPanelFunc::doRefresh() ()
#6  0x0000555555638a35 in ListPanelFunc::qt_static_metacall(QObject*,
QMetaObject::Call, int, void**) [clone .part.26] ()
#7  0x0000555555638dfa in ListPanelFunc::qt_static_metacall(QObject*,
QMetaObject::Call, int, void**) ()
#8  0x00007ffff243d8e5 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007ffff244a3b7 in QTimer::timeout(QTimer::QPrivateSignal) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff244a718 in QTimer::timerEvent(QTimerEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007ffff243e40b in QObject::event(QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff33a346c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff33aad34 in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff240ede8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007ffff246691e in QTimerInfoList::activateTimers() () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007ffff24670e1 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007fffeca62fb7 in g_main_context_dispatch () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007fffeca631f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007fffeca6327c in g_main_context_iteration () from
/lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ffff246747f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007ffff240ce3a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007ffff2415da4 in QCoreApplication::exec() () from
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00005555555e46ae in main ()
(gdb) list

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to