Bug 191864 - Crash upon invoking certain files' Properties
Summary: Crash upon invoking certain files' Properties
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 16.12.2
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Peter Penz
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-05-07 01:12 UTC by Martin Girard
Modified: 2011-02-27 20:11 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Girard 2009-05-07 01:12:08 UTC
Version:           1.2.1 (using 4.2.2 (KDE 4.2.2) "release 114", KDE:KDE4:Factory:Desktop / openSUSE_11.1)
Compiler:          gcc
OS:                Linux (x86_64) release 2.6.27.21-0.1-default

Right-clicking on H.264 movie files to invoke the Properties dialog invariably results in a crash--at least those from abbywinters.com do. The behavior remains the same even if the file is renamed or the extension changed.
Comment 1 Jonas Vejlin 2009-05-07 12:48:26 UTC
Can you make a backtrace of the crash?
Comment 2 Peter Penz 2009-05-07 13:16:40 UTC
Thanks for the report! As Jonas said: a backtrace would be important to get a hint about the root cause. http://techbase.kde.org/index.php?title=Development/Tutorials/Debugging/How_to_create_useful_crash_reports has some informations how to provide such information.
Comment 3 Martin Girard 2009-05-07 22:11:42 UTC
Application: Dolphin (dolphin), signal SIGSEGV
[?1034h[Thread debugging using libthread_db enabled]
0x00007ff70a540ce1 in nanosleep () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7ff70ea42750 (LWP 15341))]

Thread 2 (Thread 0x7ff701c54950 (LWP 15342)):
#0  0x00007ff70a56b662 in select () from /lib64/libc.so.6
#1  0x00007ff70b2b5366 in ?? () from /usr/lib64/libQtCore.so.4
#2  0x00007ff70b1ecf72 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007ff70af79070 in start_thread () from /lib64/libpthread.so.0
#4  0x00007ff70a57210d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ff70ea42750 (LWP 15341)):
[KCrash Handler]
#5  Strigi::readBigEndianUInt32 (c=0xeb1930ef <Address 0xeb1930ef out of bounds>) at /usr/src/debug/strigi-0.6.4/src/streams/textutils.cpp:218
#6  0x00007ff6f28ecdff in Mp4ThroughAnalyzer::connectInputStream(Strigi::StreamBase<char>*) () from /usr/lib64/strigi/strigita_mp4.so
#7  0x00007ff70a04e96b in Strigi::StreamAnalyzerPrivate::analyze (this=0x1ac3fe0, idx=@0x7fff16a914f0, input=0x7fff16a91450) at /usr/src/debug/strigi-0.6.4/src/streamanalyzer/streamanalyzer.cpp:394
#8  0x00007ff70e516a40 in ?? () from /usr/lib64/libkio.so.5
#9  0x00007ff70e518272 in KFileMetaInfo::KFileMetaInfo(KUrl const&) () from /usr/lib64/libkio.so.5
#10 0x00007ff70e507e70 in KFileItem::metaInfo(bool, int) const () from /usr/lib64/libkio.so.5
#11 0x00007ff70e5ba8b8 in KFileMetaPropsPlugin::KFileMetaPropsPlugin(KPropertiesDialog*) () from /usr/lib64/libkio.so.5
#12 0x00007ff70e5dc841 in KPropertiesDialog::KPropertiesDialogPrivate::insertPages() () from /usr/lib64/libkio.so.5
#13 0x00007ff70e5dca93 in KPropertiesDialog::KPropertiesDialogPrivate::init() () from /usr/lib64/libkio.so.5
#14 0x00007ff70e5dccbf in KPropertiesDialog::KPropertiesDialog(KFileItemList const&, QWidget*) () from /usr/lib64/libkio.so.5
#15 0x00007ff70dcef2fc in DolphinViewActionHandler::slotProperties (this=0x73b550) at /usr/src/debug/kdebase-4.2.3/apps/dolphin/src/dolphinviewactionhandler.cpp:535
#16 0x00007ff70dcd7b1a in DolphinViewActionHandler::qt_metacall (this=0x73b550, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff16a91bc0)
    at /usr/src/debug/kdebase-4.2.3/build/apps/dolphin/src/moc_dolphinviewactionhandler.cpp:134
#17 0x00007ff70b2e9454 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#18 0x00007ff70b74c527 in QAction::triggered(bool) () from /usr/lib64/libQtGui.so.4
#19 0x00007ff70b74ccf0 in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQtGui.so.4
#20 0x00007ff70bae431d in ?? () from /usr/lib64/libQtGui.so.4
#21 0x00007ff70ccac421 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libkdeui.so.5
#22 0x00007ff70b7a47a9 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#23 0x00007ff70bae6afb in QMenu::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#24 0x00007ff70b7521bd in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#25 0x00007ff70b75a7fa in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#26 0x00007ff70cbe161b in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#27 0x00007ff70b2d5091 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#28 0x00007ff70b759b98 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) () from /usr/lib64/libQtGui.so.4
#29 0x00007ff70b7be214 in ?? () from /usr/lib64/libQtGui.so.4
#30 0x00007ff70b7bca77 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#31 0x00007ff70b7e3214 in ?? () from /usr/lib64/libQtGui.so.4
#32 0x00007ff70767e0fb in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#33 0x00007ff7076818cd in ?? () from /usr/lib64/libglib-2.0.so.0
#34 0x00007ff707681a8b in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#35 0x00007ff70b2fd4ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#36 0x00007ff70b7e29bf in ?? () from /usr/lib64/libQtGui.so.4
#37 0x00007ff70b2d39a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#38 0x00007ff70b2d3b2d in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#39 0x00007ff70bae6955 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib64/libQtGui.so.4
#40 0x0000000000435d12 in DolphinContextMenu::openItemContextMenu (this=0x7fff16a93630) at /usr/src/debug/kdebase-4.2.3/apps/dolphin/src/dolphincontextmenu.cpp:233
#41 0x00000000004362d0 in DolphinContextMenu::open (this=0x7fff16a93630) at /usr/src/debug/kdebase-4.2.3/apps/dolphin/src/dolphincontextmenu.cpp:99
#42 0x0000000000430ad2 in DolphinViewContainer::openContextMenu (this=<value optimized out>, item=<value optimized out>, url=<value optimized out>)
    at /usr/src/debug/kdebase-4.2.3/apps/dolphin/src/dolphinviewcontainer.cpp:351
#43 0x00000000004326c8 in DolphinViewContainer::qt_metacall (this=0x75a400, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff16a937a0)
    at /usr/src/debug/kdebase-4.2.3/build/apps/dolphin/src/dolphinviewcontainer.moc:118
#44 0x00007ff70b2e9454 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#45 0x00007ff70dce909a in DolphinView::requestContextMenu (this=0xeb1930ef, _t1=<value optimized out>, _t2=<value optimized out>)
    at /usr/src/debug/kdebase-4.2.3/build/apps/dolphin/src/dolphinview.moc:322
#46 0x00007ff70dcea209 in DolphinView::openContextMenu (this=0x797e60, pos=@0x7fff16a94508) at /usr/src/debug/kdebase-4.2.3/apps/dolphin/src/dolphinview.cpp:921
#47 0x00007ff70dcee185 in DolphinView::qt_metacall (this=0x797e60, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff16a93970)
    at /usr/src/debug/kdebase-4.2.3/build/apps/dolphin/src/dolphinview.moc:194
#48 0x00007ff70b2e9454 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#49 0x00007ff70dcd9e35 in DolphinController::requestContextMenu (this=0xeb1930ef, _t1=<value optimized out>) at /usr/src/debug/kdebase-4.2.3/build/apps/dolphin/src/dolphincontroller.moc:145
#50 0x00007ff70b7a4a3d in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#51 0x00007ff70bbc835d in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib64/libQtGui.so.4
#52 0x00007ff70bbfcb60 in QTreeView::viewportEvent(QEvent*) () from /usr/lib64/libQtGui.so.4
#53 0x00007ff70b2d4358 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#54 0x00007ff70b75218c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#55 0x00007ff70b75a41a in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#56 0x00007ff70cbe161b in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#57 0x00007ff70b2d5091 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#58 0x00007ff70b7be69a in ?? () from /usr/lib64/libQtGui.so.4
#59 0x00007ff70b7bca77 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#60 0x00007ff70b7e3214 in ?? () from /usr/lib64/libQtGui.so.4
#61 0x00007ff70767e0fb in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#62 0x00007ff7076818cd in ?? () from /usr/lib64/libglib-2.0.so.0
#63 0x00007ff707681a8b in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#64 0x00007ff70b2fd4ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#65 0x00007ff70b7e29bf in ?? () from /usr/lib64/libQtGui.so.4
#66 0x00007ff70b2d39a2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#67 0x00007ff70b2d3b2d in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#68 0x00007ff70b2d5ffd in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#69 0x000000000044222d in main (argc=5, argv=0x7fff16a95838) at /usr/src/debug/kdebase-4.2.3/apps/dolphin/src/main.cpp:94
Comment 4 Peter Penz 2009-05-07 23:35:44 UTC
Thanks, this is an issue in Strigi. I've reported the bug at http://sourceforge.net/tracker/index.php?func=detail&atid=856302&aid=2788650&group_id=171000

In Dolphin for KDE 4.3 this kind of crash cannot occur anymore, as Nepomuk is used for getting the meta data.
Comment 5 Peter Penz 2011-02-27 20:11:36 UTC
Git commit d1254968eac95f4d9d8c47552e27f0cc40e6aed9 by Peter Penz.
Committed on 27/02/2011 at 20:01.
Pushed by ppenz into branch 'master'.

KFileMetaDataProvider: Don't crash if a Strigi analyzer crashes

Some Strigi analyzers are still unstable and crash under certain circumstances. This patch moves the reading of the meta-data into a custom process instead of doing it in a thread, which assures that a crashing Strigi analyzer does not result in crashing Dolphin or Konqueror when hovering some items.

FIXED-IN: 4.7.0
BUG: 257964
BUG: 258715
BUG: 262299
BUG: 263468
BUG: 263502
BUG: 264254
BUG: 234799
BUG: 251462
BUG: 251701
BUG: 258918
BUG: 192377
BUG: 195564
BUG: 199368
BUG: 210841
BUG: 245376
BUG: 246461
BUG: 246901
BUG: 249150
BUG: 261952
BUG: 249876
BUG: 179376
BUG: 179417
BUG: 179420
BUG: 181591
BUG: 183269
BUG: 183722
BUG: 185667
BUG: 188596
BUG: 191864
BUG: 193112
BUG: 205813
BUG: 244621
BUG: 245451
BUG: 248214
BUG: 249655
BUG: 249876
BUG: 265549
BUG: 267079

M  +11   -1    kio/CMakeLists.txt     
M  +68   -38   kio/kfile/kfilemetadataprovider.cpp     
M  +2    -1    kio/kfile/kfilemetadataprovider_p.h     
A  +174  -0    kio/kfile/kfilemetadatareader.cpp         [License: LGPL (v2+)]
M  +0    -2    kio/kfile/kfilemetadatawidget.cpp     
D  +0    -178  kio/kfile/kloadfilemetadatathread.cpp     
D  +0    -96   kio/kfile/kloadfilemetadatathread_p.h     

http://commits.kde.org/kdelibs/d1254968eac95f4d9d8c47552e27f0cc40e6aed9