Bug 279624 - Gwenview crashes when changing sort order to date
Summary: Gwenview crashes when changing sort order to date
Status: RESOLVED UPSTREAM
Alias: None
Product: gwenview
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Gwenview Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-08 01:20 UTC by Wonko
Modified: 2012-10-19 13:26 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
The crash happens wiht this file (57.00 KB, application/octet-stream)
2011-08-08 01:22 UTC, Wonko
Details
New crash information added by DrKonqi (9.12 KB, text/plain)
2011-08-20 14:42 UTC, René Serral
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Wonko 2011-08-08 01:20:12 UTC
Application: gwenview (2.7.0)
KDE Platform Version: 4.7.00 (4.7.0) (Compiled from sources)
Qt Version: 4.7.3
Operating System: Linux 2.6.38-pf8 x86_64
Distribution: "Gentoo Base System release 2.0.3"

-- Information about the crash:
Gwenview crashes when I set View -> Sort By -> Date, or when I activate View -> Thumbnail Details -> Date. This happens with a specific file only. When I move the mouse over it in Dolphin, I get a crash of kfilemetadatareader, but there is no useful backtrace, so I report here.

The crash can be reproduced some of the time.

-- Backtrace:
Application: Gwenview (gwenview), signal: Segmentation fault
[Current thread is 1 (Thread 0x7faadcb07760 (LWP 6451))]

Thread 2 (Thread 0x7faacb412700 (LWP 6455)):
#0  0x00007faad80a92c4 in pthread_mutex_lock () from /lib64/libpthread.so.0
#1  0x00007faad613c230 in g_main_context_query () from /usr/lib64/libglib-2.0.so.0
#2  0x00007faad613cdbb in g_main_context_iterate.clone.6 () from /usr/lib64/libglib-2.0.so.0
#3  0x00007faad613d3cd in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007faadb9aeb06 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007faadb9838a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007faadb983ae4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007faadb89c33c in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007faadb9659b8 in QInotifyFileSystemWatcherEngine::run() () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007faadb89eb15 in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#10 0x00007faad80a6d1c in start_thread () from /lib64/libpthread.so.0
#11 0x00007faad959f89d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7faadcb07760 (LWP 6451)):
[KCrash Handler]
#6  0x00007faaaf4da857 in av_open_input_stream () from /usr/lib64/libavformat.so.52
#7  0x00007faab03bd3a6 in FFMPEGEndAnalyzer::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /usr/lib64/strigi/strigiea_ffmpeg.so
#8  0x00007faad735556a in Strigi::StreamAnalyzerPrivate::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /usr/lib64/libstreamanalyzer.so.0
#9  0x00007faadc040765 in KFileMetaInfoPrivate::init(QIODevice&, KUrl const&, long, QFlags<KFileMetaInfo::What>) () from /usr/lib64/libkio.so.5
#10 0x00007faadc040fd7 in KFileMetaInfo::KFileMetaInfo(QString const&, QString const&, QFlags<KFileMetaInfo::What>) () from /usr/lib64/libkio.so.5
#11 0x00007faadc02c70a in KFileItem::metaInfo(bool, int) const () from /usr/lib64/libkio.so.5
#12 0x00007faadc460c95 in Gwenview::TimeUtils::dateTimeForFileItem(KFileItem const&) () from /usr/lib64/libgwenviewlib.so.4
#13 0x00007faadc43e040 in Gwenview::SortedDirModel::lessThan(QModelIndex const&, QModelIndex const&) const () from /usr/lib64/libgwenviewlib.so.4
#14 0x00007faada774c7c in void QAlgorithmsPrivate::qMerge<int*, int const, QSortFilterProxyModelLessThan>(int*, int*, int*, int const&, QSortFilterProxyModelLessThan) () from /usr/lib64/qt4/libQtGui.so.4
#15 0x00007faada774df2 in void QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan>(int*, int*, int const&, QSortFilterProxyModelLessThan) () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007faada774d32 in void QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan>(int*, int*, int const&, QSortFilterProxyModelLessThan) () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007faada774d92 in void QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan>(int*, int*, int const&, QSortFilterProxyModelLessThan) () from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007faada774d92 in void QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan>(int*, int*, int const&, QSortFilterProxyModelLessThan) () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007faada774d32 in void QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan>(int*, int*, int const&, QSortFilterProxyModelLessThan) () from /usr/lib64/qt4/libQtGui.so.4
#20 0x00007faada774d32 in void QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan>(int*, int*, int const&, QSortFilterProxyModelLessThan) () from /usr/lib64/qt4/libQtGui.so.4
#21 0x00007faada774d32 in void QAlgorithmsPrivate::qStableSortHelper<int*, int, QSortFilterProxyModelLessThan>(int*, int*, int const&, QSortFilterProxyModelLessThan) () from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007faada76de01 in QSortFilterProxyModelPrivate::sort_source_rows(QVector<int>&, QModelIndex const&) const () from /usr/lib64/qt4/libQtGui.so.4
#23 0x00007faada76fa81 in QSortFilterProxyModelPrivate::sort() () from /usr/lib64/qt4/libQtGui.so.4
#24 0x000000000045c70b in Gwenview::ThumbnailViewPanel::updateSortOrder() ()
#25 0x000000000045cf9c in Gwenview::ThumbnailViewPanel::qt_metacall(QMetaObject::Call, int, void**) ()
#26 0x00007faadb998897 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#27 0x00007faadae2ba1f in KSelectAction::triggered(QAction*) () from /usr/lib64/libkdeui.so.5
#28 0x00007faadae2c2bb in KSelectAction::actionTriggered(QAction*) () from /usr/lib64/libkdeui.so.5
#29 0x00007faadae2dc25 in KSelectAction::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkdeui.so.5
#30 0x00007faadb998897 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#31 0x00007faada1ff80f in QActionGroup::triggered(QAction*) () from /usr/lib64/qt4/libQtGui.so.4
#32 0x00007faada1ff897 in QActionGroupPrivate::_q_actionTriggered() () from /usr/lib64/qt4/libQtGui.so.4
#33 0x00007faada1ffe01 in QActionGroup::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt4/libQtGui.so.4
#34 0x00007faadb998897 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#35 0x00007faada1fcbd2 in QAction::triggered(bool) () from /usr/lib64/qt4/libQtGui.so.4
#36 0x00007faada1fcdca in QAction::activate(QAction::ActionEvent) () from /usr/lib64/qt4/libQtGui.so.4
#37 0x00007faada612433 in QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) () from /usr/lib64/qt4/libQtGui.so.4
#38 0x00007faada6182f2 in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) () from /usr/lib64/qt4/libQtGui.so.4
#39 0x00007faadafc256d in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libkdeui.so.5
#40 0x00007faada253ce3 in QWidget::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#41 0x00007faada6194bb in QMenu::event(QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#42 0x00007faada203104 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#43 0x00007faada208464 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#44 0x00007faadaf02166 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#45 0x00007faadb984483 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#46 0x00007faada2040c6 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4
#47 0x00007faada281894 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib64/qt4/libQtGui.so.4
#48 0x00007faada27fd29 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#49 0x00007faada2a7aaa in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtGui.so.4
#50 0x00007faad613c982 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#51 0x00007faad613d130 in g_main_context_iterate.clone.6 () from /usr/lib64/libglib-2.0.so.0
#52 0x00007faad613d3cd in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#53 0x00007faadb9aeaaf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#54 0x00007faada2a775e in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#55 0x00007faadb9838a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#56 0x00007faadb983ae4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#57 0x00007faadb987e63 in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#58 0x000000000044608e in main ()

Reported using DrKonqi
Comment 1 Wonko 2011-08-08 01:22:40 UTC
Created attachment 62650 [details]
The crash happens wiht this file

I stripped the original file to the minimal size that still triggers the problem.
Comment 2 Wonko 2011-08-17 20:16:49 UTC
BTW, this is not the only file the problem happens with. Most of my folders of video clips have one or more of these problematic files, so Gwenview is not usable at all here for browsing videos. 
Folders with images are not a problem, it's only videos.
Comment 3 René Serral 2011-08-20 14:42:15 UTC
Created attachment 63001 [details]
New crash information added by DrKonqi

gwenview (2.7.0) on KDE Platform 4.7.41 (4.7.41 (KDE 4.8 >= 20110807) using Qt 4.7.3

Gwenview crashed while changing the sort order in my pictures folder. I observed the following:
- When video (.MOV) files are on the folder the crash always happens.
- If no video is on the folder sorting by date works but sorting by size does not change the last sorting, i.e., the sorting is left as before even if the check box changes.

Best

-- Backtrace (Reduced):
#7  0xaf4edac9 in av_open_input_stream () from /usr/lib/i386-linux-gnu/i686/cmov/libavformat.so.53
#8  0xb271c078 in FFMPEGEndAnalyzer::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /home/kde4/kde/lib/strigi/strigiea_ffmpeg.so
#9  0xb51197c3 in Strigi::StreamAnalyzerPrivate::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /home/kde4/kde/lib/libstreamanalyzer.so.0
#10 0xb5119317 in Strigi::StreamAnalyzer::analyze(Strigi::AnalysisResult&, Strigi::StreamBase<char>*) () from /home/kde4/kde/lib/libstreamanalyzer.so.0
#11 0xb74fb91c in KFileMetaInfoPrivate::init (this=0xa1bdd30, stream=..., url=..., mtime=1311781260, w=...) at /media/kdesvn/kde4svn/src/kdelibs/kio/kio/kfilemetainfo.cpp:259
Comment 4 Wonko 2011-08-21 21:00:22 UTC
Looking closely at the error message myself, I see it happens in /usr/lib64/libavformat.so.52, which belongs to the ffmpeg package. I downgraded from version 0.7.3 to the previous 0.7.2, and the error no longer happens.

I reported this upstream: https://ffmpeg.org/trac/ffmpeg/ticket/410
Comment 5 Wonko 2011-08-21 21:12:24 UTC
Sorry, I just see that I downgraded to 0.7_rc1, not to 0.7.2. I had 0.7.2 installed, and the error also happened then. I think I did not see this with 0.7.1.
Comment 6 oracle2b 2011-12-21 08:40:03 UTC
I'm using kde 4.6.5 on pclinuxos and I'm constantly experiencing crashes when I play video files contained in one folder , I'll switch to sub-folder or another folder with videos and once I seek on a video file it crashes.
Comment 7 oracle2b 2011-12-21 22:50:54 UTC
My system crashes under the same conditions.. sort by date .. browse with thumbnails, select a video & seek. select another video in a different folder and seek causes it to crash immediately. 

Application: Gwenview (gwenview), signal: Segmentation fault
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib/libgobject-2.0.so.0.2800.6-gdb.py", line 9, in <module>
    from gobject import register
  File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module>
    import gdb.backtrace
ImportError: No module named backtrace
[Current thread is 1 (Thread 0xb773d6d0 (LWP 23667))]

Thread 4 (Thread 0xaffd7b70 (LWP 23687)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0x43ad702c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libpthread.so.0
#2  0xb34b76a3 in vlc_cond_wait () from /usr/lib/libvlccore.so.4
#3  0xb34336f0 in ?? () from /usr/lib/libvlccore.so.4
#4  0x43ad2e89 in start_thread () from /lib/i686/libpthread.so.0
#5  0x43a3340e in clone () from /lib/i686/libc.so.6

Thread 3 (Thread 0xafe25b70 (LWP 23785)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0x43a26f56 in poll () from /lib/i686/libc.so.6
#2  0x43b223f0 in ?? () from /usr/lib/libxcb.so.1
#3  0x43b22a04 in ?? () from /usr/lib/libxcb.so.1
#4  0x43b23330 in ?? () from /usr/lib/libxcb.so.1
#5  0x43b23ee8 in xcb_wait_for_reply () from /usr/lib/libxcb.so.1
#6  0x43b2a5bb in xcb_get_input_focus_reply () from /usr/lib/libxcb.so.1
#7  0x43b23f73 in xcb_request_check () from /usr/lib/libxcb.so.1
#8  0xb1531b37 in ?? () from /usr/lib/vlc/plugins/video_output/libxcb_xv_plugin.so
#9  0xb153a988 in ?? () from /usr/lib/vlc/plugins/video_output/libvout_wrapper_plugin.so
#10 0xb347175b in ?? () from /usr/lib/libvlccore.so.4
#11 0x43ad2e89 in start_thread () from /lib/i686/libpthread.so.0
#12 0x43a3340e in clone () from /lib/i686/libc.so.6

Thread 2 (Thread 0xaff56b70 (LWP 23787)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0x43ad702c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/libpthread.so.0
#2  0xb34b76a3 in vlc_cond_wait () from /usr/lib/libvlccore.so.4
#3  0xb0dd7027 in ?? () from /usr/lib/vlc/plugins/misc/libxdg_screensaver_plugin.so
#4  0x43ad2e89 in start_thread () from /lib/i686/libpthread.so.0
#5  0x43a3340e in clone () from /lib/i686/libc.so.6

Thread 1 (Thread 0xb773d6d0 (LWP 23667)):
[KCrash Handler]
#5  0x463f77c1 in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) () from /usr/lib/libQtCore.so.4
#6  0xb3eb9234 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_vlc.so
#7  0xb3eb1a6d in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_vlc.so
#8  0x42d5cb10 in Phonon::MediaObject::seek(long long) () from /usr/lib/libphonon.so.4
#9  0x42d76489 in ?? () from /usr/lib/libphonon.so.4
#10 0x42d77398 in Phonon::SeekSlider::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libphonon.so.4
#11 0x463e704d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#12 0x463f670c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#13 0x45d0df05 in QAbstractSlider::valueChanged(int) () from /usr/lib/libQtGui.so.4
#14 0x45a0c56b in QAbstractSlider::setValue(int) () from /usr/lib/libQtGui.so.4
#15 0x45a0c855 in QAbstractSlider::triggerAction(QAbstractSlider::SliderAction) () from /usr/lib/libQtGui.so.4
#16 0x42d780f4 in ?? () from /usr/lib/libphonon.so.4
#17 0x45643e54 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#18 0x45a0d0c3 in QAbstractSlider::event(QEvent*) () from /usr/lib/libQtGui.so.4
#19 0x45ab1eb0 in QSlider::event(QEvent*) () from /usr/lib/libQtGui.so.4
#20 0x455e8e44 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#21 0x455ee950 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#22 0x41e2a881 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#23 0x463e084e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#24 0x455e9eec in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#25 0x45676653 in ?? () from /usr/lib/libQtGui.so.4
#26 0x45675781 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#27 0x4569fd30 in ?? () from /usr/lib/libQtGui.so.4
#28 0x43cef369 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#29 0x43cefb70 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0x43cefe2a in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#31 0x4640f18b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#32 0x4569f94a in ?? () from /usr/lib/libQtGui.so.4
#33 0x463dfa5d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#34 0x463dfcd9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#35 0x463e47e0 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#36 0x455e6bc4 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#37 0x08080bb1 in _start ()
Comment 8 oracle2b 2011-12-22 08:22:37 UTC
I removed vlc and repeated the steps which caused gwenview to crash, it didn't crash. I didn't have any sound at all and I think that it has something to do with the phonon backend. It may be the cause of the crashes in gwenview while when I attempt to seek on several videos.
Comment 9 Wonko 2011-12-22 12:47:41 UTC
Sorry guys, I had forgotten about this bug I filed here. The problem was with ffmpeg, so I reported upstream (https://ffmpeg.org/trac/ffmpeg/ticket/410), and was able to help fixing it. But I forgot to update this report here.

The problem is solved in ffmpeg-0.7.4. If ffmpeg -version shows a version number greater or equal 0.7.4, you ran into another bug, and I suggest filing a new bug report. If it is still 0.7.3 or 0.7.2, you probably have to wait until your distro updates ffmpeg. Or you could try to do this manually. There is even a patch for 0.7.3 (maybe also working for 0.7.2) mentioned in the bug report on ffmpeg.org.

I will close this bug as REVOLVED UPSTEAM now, as the problem is not KDE's fault.