Bug 352031 - Freeze if I try to open /dev directory
Summary: Freeze if I try to open /dev directory
Status: RESOLVED DUPLICATE of bug 352828
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 16.12.2
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-30 19:39 UTC by Ivan
Modified: 2016-06-21 11:52 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan 2015-08-30 19:39:53 UTC
Whenever I try navigating to the directory /dev dolphin freezes and I have to force-kill the process.

Reproducible: Always

Steps to Reproduce:
1. Open Dolphin
2. Navigate to /dev directory

Actual Results:  
The results are that dolphin freezes completely, you can see the next picture to see what I mean by dolphin freezing. http://i.imgur.com/tccJ3kP.png (as you can see, it doesn't show anything only whatever it is in the background, completely frozen)

The output in terminal (dolphin compiled with debug flag) looks "normal" and it's the following: 
QPixmap::scaled: Pixmap is a null pixmap
QPainter::begin: Paint device returned engine == 0, type: 2
QPixmap::scaled: Pixmap is a null pixmap


Expected Results:  
I expected to see the content of the /dev directory and being able to continue to use dolphin file manager, evidently.
Comment 1 Ivan 2015-08-30 19:57:23 UTC
OK, found a solution for my case. Thinking about the terminal output complaining about pixmap I thought about reconfiguring or "rechoosing" the icon theme in the settings and now it is working.

Still this doesn't explain why it happened in the first place.
Comment 2 Frank Reininghaus 2015-08-30 20:37:28 UTC
Thanks for the bug report. Could you try to obtain a backtrace at the time of the freeze? See https://community.kde.org/Dolphin/FAQ/Freeze for details.
Comment 3 Ivan 2015-08-31 05:03:16 UTC
Ignore the last comment about the possible solution, the freezing is back. The backtrace of the problem according to the link Frank provided is the following.

QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPainter::begin: Paint device returned engine == 0, type: 2
QPixmap::scaled: Pixmap is a null pixmap
^Z[New Thread 0x7fffd6ee8700 (LWP 9907)]
[New Thread 0x7fffd7d84700 (LWP 9901)]
[New Thread 0x7fffdeffe700 (LWP 9900)]

Program received signal SIGTSTP, Stopped (user).
0x00007ffff783b16d in read () from /usr/lib/libc.so.6
(gdb) thread apply all backtrace

Thread 4 (Thread 0x7fffdeffe700 (LWP 9900)):
#0  0x00007ffff783f18d in poll () from /usr/lib/libc.so.6
#1  0x00007fffea5e29f2 in ?? () from /usr/lib/libxcb.so.1
#2  0x00007fffea5e456f in xcb_wait_for_event () from /usr/lib/libxcb.so.1
#3  0x00007fffe1366ca9 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#4  0x00007ffff1a3aa9e in ?? () from /usr/lib/libQt5Core.so.5
#5  0x00007fffece504a4 in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007ffff784812d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7fffd7d84700 (LWP 9901)):
#0  0x00007ffff783f18d in poll () from /usr/lib/libc.so.6
---Type <return> to continue, or q <return> to quit---
#1  0x00007fffec71dc7c in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007fffec71dd8c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007ffff1c7225b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQt5Core.so.5
#4  0x00007ffff1c1926a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQt5Core.so.5
#5  0x00007ffff1a35af4 in QThread::exec() () from /usr/lib/libQt5Core.so.5
#6  0x00007ffff1a3aa9e in ?? () from /usr/lib/libQt5Core.so.5
#7  0x00007fffece504a4 in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007ffff784812d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7fffd6ee8700 (LWP 9907)):
---Type <return> to continue, or q <return> to quit---
#0  0x00007fffece56428 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007ffff1a3bc66 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQt5Core.so.5
#2  0x00007ffff1a37723 in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007ffff1a3aa9e in ?? () from /usr/lib/libQt5Core.so.5
#4  0x00007fffece504a4 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007ffff784812d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7ffff7ec5800 (LWP 9896)):
#0  0x00007ffff783b16d in read () from /usr/lib/libc.so.6
#1  0x00007ffff1b95f2d in ?? () from /usr/lib/libQt5Core.so.5
#2  0x00007ffff1ba7ffe in ?? () from /usr/lib/libQt5Core.so.5
#3  0x00007ffff1b3b36d in QFileDevice::readData(char*, long long) () from /usr/lib/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#4  0x00007ffff1b4466c in QIODevice::read(char*, long long) () from /usr/lib/libQt5Core.so.5
#5  0x00007ffff1b44b15 in QIODevice::read(long long) () from /usr/lib/libQt5Core.so.5
#6  0x00007ffff1b44bdd in QIODevicePrivate::peek(long long) () from /usr/lib/libQt5Core.so.5
#7  0x00007ffff1b45e32 in QIODevice::peek(long long) () from /usr/lib/libQt5Core.so.5
#8  0x00007ffff1c9a55d in ?? () from /usr/lib/libQt5Core.so.5
#9  0x00007ffff1c9ade4 in QMimeDatabase::mimeTypeForFile(QFileInfo const&, QMimeDatabase::MatchMode) const () from /usr/lib/libQt5Core.so.5
#10 0x00007ffff1c9b17d in QMimeDatabase::mimeTypeForFile(QString const&, QMimeDatabase::MatchMode) const
    () from /usr/lib/libQt5Core.so.5
#11 0x00007ffff1c9b671 in QMimeDatabase::mimeTypeForUrl(QUrl const&) const ()
   from /usr/lib/libQt5Core.so.5
#12 0x00007ffff5816a58 in KFileItem::determineMimeType() const () from /usr/lib/libKF5KIOCore.so.5
---Type <return> to continue, or q <return> to quit---
#13 0x00007ffff74abf24 in KFileItemModelRolesUpdater::applyResolvedRoles(int, KFileItemModelRolesUpdater::ResolveHint) () from /usr/lib/libdolphinprivate.so.5
#14 0x00007ffff74ae2d0 in KFileItemModelRolesUpdater::resolveNextPendingRoles() ()
   from /usr/lib/libdolphinprivate.so.5
#15 0x00007ffff751e105 in ?? () from /usr/lib/libdolphinprivate.so.5
#16 0x00007ffff1c4aeb1 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#17 0x00007ffff2de600c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/libQt5Widgets.so.5
#18 0x00007ffff2deb4e6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#19 0x00007ffff1c1b89b in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib/libQt5Core.so.5
#20 0x00007ffff1c1dc96 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/libQt5Core.so.5
#21 0x00007ffff1c71e33 in ?? () from /usr/lib/libQt5Core.so.5
#22 0x00007fffec71d9fd in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#23 0x00007fffec71dce0 in ?? () from /usr/lib/libglib-2.0.so.0
#24 0x00007fffec71dd8c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#25 0x00007ffff1c7223f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQt5Core.so.5
#26 0x00007ffff1c1926a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQt5Core.so.5
#27 0x00007ffff1c2120c in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#28 0x00007ffff7b61e83 in kdemain () from /usr/lib/libkdeinit5_dolphin.so
#29 0x00007ffff777f610 in __libc_start_main () from /usr/lib/libc.so.6
---Type <return> to continue, or q <return> to quit---
#30 0x0000000000400789 in _start ()


Hope it helps to figure out the problem.
Comment 4 Frank Reininghaus 2015-09-05 08:02:35 UTC
Thanks for the backtrace. This looks like a bug in Qt (which I cannot reproduce, BTW). What is your Qt version?
Comment 5 Michał 2015-09-15 13:22:26 UTC
Hmm. This freeze happens for me as well, also Dolphin doesn't display any image thumbnails.  I get hundreds of "QPixmap::scaled: Pixmap is a null pixmap" errors on stderr. My Qt package is qt5-base-5.5.0-2.
Comment 6 Klaus 2015-09-19 10:21:21 UTC
Hello,

I'm currently testing Kubuntu 15.10 (Beta), Debian Stretch and Manjaro:

Debian Stretch:
--------------------
Plasma: 5.4.1, Qt:5.4.2, Dolphin 15.04.0 (KDE 4.14.10)
No problems with this Dolphin version in Debian Stretch.

Kubuntu 15.10 (Beta):
---------------------------
Plasma: 5.4.1, Qt:5.4.2, Dolphin 15.08.0 (Framework: 5.13.0)
Dolphin does not crash when i open /dev, but most devices appear with no icon.

Manjaro 15.09 RC3:
-------------------------
Plasma: 5.4.1, Qt:5.5.0, Dolphin 15.08.0 (Framework: 5.13.0)
Dolphin crashes immediately when opening /dev !!
Comment 7 peacemaker3110 2015-09-29 18:17:10 UTC
i can confirm this also happening on arch linux with dolphin 15.08.1, frameworks 5.14.0, Qt 5.5.0
Comment 8 Frank Reininghaus 2015-09-29 19:52:07 UTC
(In reply to Klaus from comment #6)
> Plasma: 5.4.1, Qt:5.5.0, Dolphin 15.08.0 (Framework: 5.13.0)
> Dolphin crashes immediately when opening /dev !!

Then please file a new bug report about the crash and make sure that you include a useful backtrace in your report. See https://community.kde.org/Dolphin/FAQ/Crashes for further information. Thanks!
Comment 9 Vito 2015-11-22 14:11:38 UTC
Hello,

I am experiencing the same problem (dolphin freeze), when opening the '/dev'  folder.
It does not happen, if I try to open sub-folder - for example '/dev/block', or any other folder on the file system.

OS: Arch Linux
Installed packages:  dolphin 15.08.3-2, qt5-base 5.5.1-3, baloo-widgets 15.08.3-1, knewstuff 5.16.0-1, kio-extras 15.08.3-1, ktexteditor 5.16.0-1, kactivities-frameworks 5.16.0-1, kde-templates 15.08.3-1

The problem is present on my laptop and the desktop PC, from the first day I upgraded to plasma 5 (September 2015) till now. 

Two weeks ago I did a fresh install of the Arch linux on the new PC. The problem was not present there, even though it had the same package versions.

Then I thought that Dolphin configuration files in the user home folder has something to do with the problem, so I have created a new user 'Test'.
After log in, as the new user 'Test', the problem has gone.

I don't know which configuration file in the user home folder could cause this problem.

Deleting files (find . -name "*dolphin*") does not help:
./.local/share/kxmlgui5/dolphin
./.local/share/dolphin
./.config/dolphinrc

Where are the other dolphin configuration files, which could cause this problem?

Stack trace using gdb:

Starting program: /usr/bin/dolphin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffdeea9700 (LWP 1967)]
[New Thread 0x7fffd4147700 (LWP 1968)]
"Trying to convert empty KLocalizedString to QString."
We got some errors while running testparm "Load smb config files from /etc/samba/smb.conf\nError loading services.\n"
KSambaShare: Could not find smb.conf!
We got some errors while running 'net usershare info'
"Can't load /etc/samba/smb.conf - run testparm to debug it\n"
doesn't know "/dev"
[New Thread 0x7fffd339e700 (LWP 1983)]
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPainter::begin: Paint device returned engine == 0, type: 2
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
Comment 10 Frank Reininghaus 2015-11-22 18:17:10 UTC
Looks like the same QMimeDatabase issue that causes bug 352828. This has been reported to Qt: https://bugreports.qt.io/browse/QTBUG-48529

*** This bug has been marked as a duplicate of bug 352828 ***
Comment 11 Vito 2015-11-23 10:25:52 UTC
I would like to fix this problem on my existing system. 
If deleting whole user home directory fixes this problem, I would like to know which file exactly is responsible for this, so I could delete only that file(s) and solve the problem.

Thank you in advance.
Comment 12 Frank Reininghaus 2015-11-23 20:19:21 UTC
(In reply to Vito from comment #11)
> I would like to fix this problem on my existing system. 
> If deleting whole user home directory fixes this problem

This will not help. I don't think that there is anything you can do to work around the problem. Until https://bugreports.qt.io/browse/QTBUG-48529 is fixed in Qt, you will always get the freeze if you open /dev, or you do anything else that triggers a mime type lookup for anything that is not a real file. Sorry about that.