Bug 341826 - Dolphin crashed when opening file properties of non UTF8 file.
Summary: Dolphin crashed when opening file properties of non UTF8 file.
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kio
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 4.14.1
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2014-12-12 20:29 UTC by andrepontes
Modified: 2018-05-03 21:49 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
file for testing (2 bytes, text/plain)
2014-12-12 20:31 UTC, andrepontes
Details
valgrind output (7.34 KB, text/plain)
2014-12-13 15:59 UTC, andrepontes
Details
valgrind again.. (7.34 KB, text/plain)
2014-12-13 19:04 UTC, andrepontes
Details
valgrind (11.24 KB, text/plain)
2014-12-15 17:28 UTC, andrepontes
Details

Note You need to log in before you can comment on or make changes to this bug.
Description andrepontes 2014-12-12 20:29:29 UTC
Application: dolphin (4.14.3)
KDE Platform Version: 4.14.3
Qt Version: 4.8.6
Operating System: Linux 3.16.6-2-desktop x86_64
Distribution: "openSUSE 13.2 (Harlequin) (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
It always crashes. 
How to reproduce: create a file using encoding "ANSI Latin 1" or text/plain; charset=us-
ascii.  Then, right click on it (dolphin), then go to last option... file properties.

thats it. it crashes.

The crash can be reproduced every time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f78aa92a780 (LWP 4123))]

Thread 3 (Thread 0x7f788c9e7700 (LWP 4124)):
#0  0x00007f78a95a847b in  () at /usr/lib64/libQtCore.so.4
#1  0x00007f78a5059661 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f78a5059b7b in  () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f78a5059cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#4  0x00007f78a95a80de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#5  0x00007f78a9579e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#6  0x00007f78a957a165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#7  0x00007f78a94770bf in QThread::exec() () at /usr/lib64/libQtCore.so.4
#8  0x00007f78a955b783 in  () at /usr/lib64/libQtCore.so.4
#9  0x00007f78a947979f in  () at /usr/lib64/libQtCore.so.4
#10 0x00007f78a91e30a4 in start_thread () at /lib64/libpthread.so.0
#11 0x00007f78a7f4f7fd in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f7887f0c700 (LWP 4125)):
#0  0x00007f78a91e9a9d in read () at /lib64/libpthread.so.0
#1  0x00007f78a509a750 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f78a5059714 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f78a5059b7b in  () at /usr/lib64/libglib-2.0.so.0
#4  0x00007f78a5059cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007f78a95a80de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#6  0x00007f78a9579e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#7  0x00007f78a957a165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#8  0x00007f78a94770bf in QThread::exec() () at /usr/lib64/libQtCore.so.4
#9  0x00007f78a947979f in  () at /usr/lib64/libQtCore.so.4
#10 0x00007f78a91e30a4 in start_thread () at /lib64/libpthread.so.0
#11 0x00007f78a7f4f7fd in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f78aa92a780 (LWP 4123)):
[KCrash Handler]
#5  0x00007f78a9ad4c81 in KSycocaEntry::name() const () at /usr/lib64/libkdecore.so.5
#6  0x00007f78a05f0c95 in  () at /usr/lib64/libkio.so.5
#7  0x00007f78a05f9e4c in KPropertiesDialog::KPropertiesDialogPrivate::insertPages() () at /usr/lib64/libkio.so.5
#8  0x00007f78a05fa49d in KPropertiesDialog::KPropertiesDialogPrivate::init() () at /usr/lib64/libkio.so.5
#9  0x00007f78a05faa32 in KPropertiesDialog::KPropertiesDialog(KFileItemList const&, QWidget*) () at /usr/lib64/libkio.so.5
#10 0x00007f78937cbcd9 in DolphinViewActionHandler::slotProperties() () at /usr/lib64/libdolphinprivate.so.4
#11 0x00007f7893772295 in  () at /usr/lib64/libdolphinprivate.so.4
#12 0x00007f78a958f1fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#13 0x00007f78a86f1622 in QAction::triggered(bool) () at /usr/lib64/libQtGui.so.4
#14 0x00007f78a86f2fd3 in QAction::activate(QAction::ActionEvent) () at /usr/lib64/libQtGui.so.4
#15 0x00007f78a8b1bb79 in  () at /usr/lib64/libQtGui.so.4
#16 0x00007f78a8b200c9 in  () at /usr/lib64/libQtGui.so.4
#17 0x00007f78aa3d4cb5 in KMenu::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libkdeui.so.5
#18 0x00007f78a8746c0a in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#19 0x00007f78a8b23f2b in QMenu::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#20 0x00007f78a86f776c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#21 0x00007f78a86fddea in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#22 0x00007f78aa31ebaa in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5
#23 0x00007f78a957b2ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#24 0x00007f78a86fd5e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQtGui.so.4
#25 0x00007f78a876efcc in  () at /usr/lib64/libQtGui.so.4
#26 0x00007f78a876d70c in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4
#27 0x00007f78a87945c2 in  () at /usr/lib64/libQtGui.so.4
#28 0x00007f78a5059a04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#29 0x00007f78a5059c48 in  () at /usr/lib64/libglib-2.0.so.0
#30 0x00007f78a5059cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#31 0x00007f78a95a80be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#32 0x00007f78a8794676 in  () at /usr/lib64/libQtGui.so.4
#33 0x00007f78a9579e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#34 0x00007f78a957a165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#35 0x00007f78a8b22c97 in QMenu::exec(QPoint const&, QAction*) () at /usr/lib64/libQtGui.so.4
#36 0x00007f7893f3ef6a in  () at /usr/lib64/libkdeinit4_dolphin.so
#37 0x00007f7893f3fced in  () at /usr/lib64/libkdeinit4_dolphin.so
#38 0x00007f7893f33fa6 in  () at /usr/lib64/libkdeinit4_dolphin.so
#39 0x00007f7893f39c18 in  () at /usr/lib64/libkdeinit4_dolphin.so
#40 0x00007f78a958f1fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#41 0x00007f78937c4254 in DolphinView::requestContextMenu(QPoint const&, KFileItem const&, KUrl const&, QList<QAction*> const&) () at /usr/lib64/libdolphinprivate.so.4
#42 0x00007f78937c5315 in DolphinView::slotItemContextMenuRequested(int, QPointF const&) () at /usr/lib64/libdolphinprivate.so.4
#43 0x00007f78937ca5af in  () at /usr/lib64/libdolphinprivate.so.4
#44 0x00007f78a958f1fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#45 0x00007f7893790866 in KItemListController::itemContextMenuRequested(int, QPointF const&) () at /usr/lib64/libdolphinprivate.so.4
#46 0x00007f78937917ca in KItemListController::mousePressEvent(QGraphicsSceneMouseEvent*, QTransform const&) () at /usr/lib64/libdolphinprivate.so.4
#47 0x00007f789378fdbb in KItemListController::processEvent(QEvent*, QTransform const&) () at /usr/lib64/libdolphinprivate.so.4
#48 0x00007f78937a09d2 in KItemListView::event(QEvent*) () at /usr/lib64/libdolphinprivate.so.4
#49 0x00007f78a86f776c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#50 0x00007f78a86fdcad in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#51 0x00007f78aa31ebaa in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5
#52 0x00007f78a957b2ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#53 0x00007f78a8cc26e1 in  () at /usr/lib64/libQtGui.so.4
#54 0x00007f78a8cc2b9f in  () at /usr/lib64/libQtGui.so.4
#55 0x00007f78a8cceab6 in  () at /usr/lib64/libQtGui.so.4
#56 0x00007f78a8ccef49 in QGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent*) () at /usr/lib64/libQtGui.so.4
#57 0x00007f78a8cd7d90 in QGraphicsScene::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#58 0x00007f78a86f776c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#59 0x00007f78a86fdcad in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#60 0x00007f78aa31ebaa in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5
#61 0x00007f78a957b2ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#62 0x00007f78a8cee6cf in QGraphicsView::mousePressEvent(QMouseEvent*) () at /usr/lib64/libQtGui.so.4
#63 0x00007f78a8746a7b in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#64 0x00007f78a8ae35ee in QFrame::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#65 0x00007f78a8cef429 in QGraphicsView::viewportEvent(QEvent*) () at /usr/lib64/libQtGui.so.4
#66 0x00007f78a957b416 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#67 0x00007f78a86f774c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#68 0x00007f78a86fddea in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#69 0x00007f78aa31ebaa in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5
#70 0x00007f78a957b2ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#71 0x00007f78a86fd5e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQtGui.so.4
#72 0x00007f78a876ec9b in  () at /usr/lib64/libQtGui.so.4
#73 0x00007f78a876d70c in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4
#74 0x00007f78a87945c2 in  () at /usr/lib64/libQtGui.so.4
#75 0x00007f78a5059a04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#76 0x00007f78a5059c48 in  () at /usr/lib64/libglib-2.0.so.0
#77 0x00007f78a5059cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#78 0x00007f78a95a80be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#79 0x00007f78a8794676 in  () at /usr/lib64/libQtGui.so.4
#80 0x00007f78a9579e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#81 0x00007f78a957a165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#82 0x00007f78a957f5b9 in QCoreApplication::exec() () at /usr/lib64/libQtCore.so.4
#83 0x00007f7893f42cfe in kdemain () at /usr/lib64/libkdeinit4_dolphin.so
#84 0x0000000000408815 in _start ()

Reported using DrKonqi
Comment 1 andrepontes 2014-12-12 20:31:22 UTC
Created attachment 89944 [details]
file for testing

this file has encoding "ANSI Latin 1" encoding - it crashes with this file.
Comment 2 Frank Reininghaus 2014-12-13 14:48:46 UTC
Thanks for the bug report, but I cannot reproduce the problem. I'm not sure if the encoding is preserved when you attach the file here. Maybe putting the file into an archive and uploading that would be better? I'm not sure.

In any case, you might want to install debugging packages to get a more detailed backtrace, and ideally use Valgrind to obtan additional information which might be useful. See https://community.kde.org/Dolphin/FAQ/Crashes for details. Thanks for your help!

I'll reassign to KIO - according to the backtrace, the problem might be there, or in kdecore.
Comment 3 andrepontes 2014-12-13 15:59:09 UTC
Created attachment 89955 [details]
valgrind output
Comment 4 Frank Reininghaus 2014-12-13 16:42:53 UTC
Thanks for the quick response, but could you please try to install debugging packages and then create a new Valgrind log? See

https://community.kde.org/Dolphin/FAQ/Crashes
https://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports

Thanks.
Comment 5 andrepontes 2014-12-13 19:04:51 UTC
Created attachment 89957 [details]
valgrind again..

I've already installed all kdelib*debug*,  and dolphin*debug*, what are the packages that I am missing ?
(using opensuse 13.2)
Comment 6 Frank Reininghaus 2014-12-14 16:17:18 UTC
Opensuse has some info about the repositories which have debugging packages: https://en.opensuse.org/Package_repositories#Debug

Maybe you have to enable some of these in the package manager. It seems that at least some parts of kdelibs do not have debugging info yet in your Valgrind log. In particular KIO would be interesting. I don't know if there is a separate debuginfo package for that, or if it is part of a kdelibs-debuginfo package.
Comment 7 andrepontes 2014-12-15 17:28:19 UTC
Created attachment 89984 [details]
valgrind

debug info after installing kio*debug* packages.
Comment 8 Christoph Feck 2015-01-14 19:07:34 UTC
This could be related to bug 340657, if ksycoca uses memory mappings.

Were you using BTRFS filesystem?
Comment 9 andrepontes 2015-01-17 17:06:44 UTC
Yes - I'm using btrfs.
Comment 10 Arjun AK 2015-02-07 04:35:55 UTC
*** Bug 343887 has been marked as a duplicate of this bug. ***
Comment 11 Mark Haferkamp 2015-02-07 06:33:32 UTC
I'm also on 64-bit openSUSE 13.2 with btrfs and I had Dolphin crash on right-click -> Properties on another file type. That bug (bug 343887) was closed as a duplicate of this bug, but I can't reproduce this bug.

Can you please describe how, in Kwrite or another text editor, to make the file that causes this crash? I tried saving as encoding "cp 1252" per somewhat confusing search results for "ANSI Latin 1", but Dolphin happily displays the properties without error or crash.

As for bug 340657, the openSUSE bug report it mentions says that it should be fixed as of kernel 3.16.7, which my machine is running. However, bug 343571 (the most recent duplicate of 340657, and yet another related bug which I can't reproduce) still recommends updating to kernel 3.17.3 or above.

I can try updating to a newer kernel to see if it fixes things, but first I need to be able to reproduce an open bug.
Comment 12 andrepontes 2015-02-07 22:11:18 UTC
I don't have the machine where the problem was occuring. but I also could not reproduce it locally, currently using  3.16.7-7-desktop.thx.
Comment 13 Mark Haferkamp 2015-02-08 00:03:28 UTC
(In reply to andrepontes from comment #12)
> I don't have the machine where the problem was occuring. but I also could
> not reproduce it locally, currently using  3.16.7-7-desktop.thx.

Hmm. Can you try downloading the .amr file attached to bug 343887 and see if right-click -> properties on that file causes a crash in Dolphin? If so, then maybe that would provide some insight on how to reproduce this bug.
Comment 14 Mark Haferkamp 2015-02-08 00:49:56 UTC
(In reply to Mark Haferkamp from comment #13)
> Hmm. Can you try downloading the .amr file attached to bug 343887 and see if
> right-click -> properties on that file causes a crash in Dolphin?
Never mind. It turns out the first 6 bytes of that file are sufficient to crash Dolphin when opening Properties, and those bytes are in the ASCII range of UTF-8 (representing "#!AMR\n"), so that bug is almost certainly different from this one.
Comment 15 Nate Graham 2018-05-03 21:49:03 UTC
Crash in old unmaintained KF4 software with no duplicates from any Qt5/KF5 versions. If anyone can still reproduce using recent KF5 versions of KIO and Dolphin, please file a new bug. Thanks!