Bug 257964 - Konqueror/Dolphin crash on copying/hovering files (Strigi 0.7.3 and OpenSuse) [std::*, Strigi::FieldPropertiesDb::addField, Strigi::FieldRegister::registerField]
Summary: Konqueror/Dolphin crash on copying/hovering files (Strigi 0.7.3 and OpenSuse)...
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 16.12.2
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Peter Penz
URL:
Keywords:
: 259231 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-11-26 12:54 UTC by glen herron
Modified: 2011-02-27 20:11 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.7.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description glen herron 2010-11-26 12:54:39 UTC
Application: konqueror (4.5.80 (4.6 Beta1))
KDE Platform Version: 4.5.80 (4.6 Beta1) (Compiled from sources)
Qt Version: 4.7.1
Operating System: Linux 2.6.34.7-0.5-desktop i686
Distribution: "openSUSE 11.3 (i586)"

-- Information about the crash:
- What I was doing when the application crashed:

i opened myconputer and used the split window function in konqueror and was copying a file from my /windows/D partition to my home/username/bin folder and konqueror crashed i am using kde4.5.80 prior to this release i did not have this problem. Before i upgraded sql packages which were missed when i upgraded to kde4.5.80 i could not open sysinfo:/ something about nepomuk came up after i upgrade sql packages i could  open sysinfo:/ and the above problem started.

-- Backtrace:
Application: Konqueror (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0xb57f5710 (LWP 5005))]

Thread 4 (Thread 0xade66b70 (LWP 5012)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5fd175e in poll () from /lib/libc.so.6
#2  0xb5a591db in g_poll () from /usr/lib/libglib-2.0.so.0
#3  0xb5a49286 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb5a4960e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb6dd5cf7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0xb6da67ed in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0xb6da6a19 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0xb6ca56f9 in QThread::exec() () from /usr/lib/libQtCore.so.4
#9  0xb6d863fd in ?? () from /usr/lib/libQtCore.so.4
#10 0xb6ca82ea in ?? () from /usr/lib/libQtCore.so.4
#11 0xb6c2cb25 in start_thread () from /lib/libpthread.so.0
#12 0xb5fdc46e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xad5b6b70 (LWP 5029)):
[KCrash Handler]
#7  0xb52832af in std::_Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Strigi::FieldProperties>, std::_Select1st<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Strigi::FieldProperties> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Strigi::FieldProperties> > >::_M_insert_unique_(std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Strigi::FieldProperties> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Strigi::FieldProperties> const&) () from /usr/lib/libstreamanalyzer.so.0.7
#8  0xb5283687 in std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Strigi::FieldProperties, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Strigi::FieldProperties> > >::operator[](std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib/libstreamanalyzer.so.0.7
#9  0xb5276295 in Strigi::FieldPropertiesDb::addField (this=0xb52e23f8, key="TODO_audio.albumartist") at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/fieldpropertiesdb.cpp:776
#10 0xb5285cad in Strigi::FieldRegister::registerField (this=0x85dc2e4, fieldname="TODO_audio.albumartist") at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/fieldtypes.cpp:111
#11 0xb5285d33 in Strigi::FieldRegister::registerField (this=0x85dc2e4, fieldname="TODO_audio.albumartist", type="string", maxoccurs=1, parent=0x0)
    at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/fieldtypes.cpp:94
#12 0xac57af70 in Mp4ThroughAnalyzerFactory::registerFields (this=0x852cdd0, reg=...) at /usr/src/debug/amarok-2.3.2/src/strigi/mp4/mp4throughanalyzer.cpp:690
#13 0xb52969b4 in addFactory (this=0x8396098) at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/streamanalyzer.cpp:217
#14 Strigi::StreamAnalyzerPrivate::initializeThroughFactories (this=0x8396098) at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/streamanalyzer.cpp:262
#15 0xb52986e0 in Strigi::StreamAnalyzerPrivate::StreamAnalyzerPrivate (this=0x8396098, c=...) at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/streamanalyzer.cpp:127
#16 0xb5298864 in Strigi::StreamAnalyzer::StreamAnalyzer (this=0xad5b60d4, c=...) at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/streamanalyzer.cpp:174
#17 0xb54b48dd in ?? () from /usr/lib/libkio.so.5
#18 0xb5557d18 in KFileMetaInfo::KFileMetaInfo(QString const&, QString const&, QFlags<KFileMetaInfo::What>) () from /usr/lib/libkio.so.5
#19 0xb5579af4 in ?? () from /usr/lib/libkio.so.5
#20 0xb6ca82ea in ?? () from /usr/lib/libQtCore.so.4
#21 0xb6c2cb25 in start_thread () from /lib/libpthread.so.0
#22 0xb5fdc46e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xacdb5b70 (LWP 5030)):
[KCrash Handler]
#7  0xb52832af in std::_Rb_tree<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Strigi::FieldProperties>, std::_Select1st<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Strigi::FieldProperties> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Strigi::FieldProperties> > >::_M_insert_unique_(std::_Rb_tree_const_iterator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Strigi::FieldProperties> >, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Strigi::FieldProperties> const&) () from /usr/lib/libstreamanalyzer.so.0.7
#8  0xb5283687 in std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Strigi::FieldProperties, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Strigi::FieldProperties> > >::operator[](std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib/libstreamanalyzer.so.0.7
#9  0xb5276295 in Strigi::FieldPropertiesDb::addField (this=0xb52e23f8, key="TODO_audio.albumartist") at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/fieldpropertiesdb.cpp:776
#10 0xb5285cad in Strigi::FieldRegister::registerField (this=0x85dd8a4, fieldname="TODO_audio.albumartist") at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/fieldtypes.cpp:111
#11 0xb5285d33 in Strigi::FieldRegister::registerField (this=0x85dd8a4, fieldname="TODO_audio.albumartist", type="string", maxoccurs=1, parent=0x0)
    at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/fieldtypes.cpp:94
#12 0xac57af70 in Mp4ThroughAnalyzerFactory::registerFields (this=0x8674be8, reg=...) at /usr/src/debug/amarok-2.3.2/src/strigi/mp4/mp4throughanalyzer.cpp:690
#13 0xb52969b4 in addFactory (this=0x85de988) at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/streamanalyzer.cpp:217
#14 Strigi::StreamAnalyzerPrivate::initializeThroughFactories (this=0x85de988) at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/streamanalyzer.cpp:262
#15 0xb52986e0 in Strigi::StreamAnalyzerPrivate::StreamAnalyzerPrivate (this=0x85de988, c=...) at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/streamanalyzer.cpp:127
#16 0xb5298864 in Strigi::StreamAnalyzer::StreamAnalyzer (this=0xacdb50d4, c=...) at /usr/src/debug/strigi-0.7.3/libstreamanalyzer/lib/streamanalyzer.cpp:174
#17 0xb54b48dd in ?? () from /usr/lib/libkio.so.5
#18 0xb5557d18 in KFileMetaInfo::KFileMetaInfo(QString const&, QString const&, QFlags<KFileMetaInfo::What>) () from /usr/lib/libkio.so.5
#19 0xb5579af4 in ?? () from /usr/lib/libkio.so.5
#20 0xb6ca82ea in ?? () from /usr/lib/libQtCore.so.4
#21 0xb6c2cb25 in start_thread () from /lib/libpthread.so.0
#22 0xb5fdc46e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb57f5710 (LWP 5005)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5fd175e in poll () from /lib/libc.so.6
#2  0xb5b62470 in ?? () from /usr/lib/libxcb.so.1
#3  0xb5b62a82 in ?? () from /usr/lib/libxcb.so.1
#4  0xb5b62b31 in xcb_writev () from /usr/lib/libxcb.so.1
#5  0xb71e4490 in _XSend () from /usr/lib/libX11.so.6
#6  0xb71e4738 in _XEventsQueued () from /usr/lib/libX11.so.6
#7  0xb71cd2e8 in XEventsQueued () from /usr/lib/libX11.so.6
#8  0xb6359863 in ?? () from /usr/lib/libQtGui.so.4
#9  0xb5a480c0 in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#10 0xb5a48f22 in ?? () from /usr/lib/libglib-2.0.so.0
#11 0xb5a4960e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#12 0xb6dd5cab in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#13 0xb63599aa in ?? () from /usr/lib/libQtGui.so.4
#14 0xb6da67ed in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#15 0xb6da6a19 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#16 0xb67eebcd in QDialog::exec() () from /usr/lib/libQtGui.so.4
#17 0xb55dd9e2 in KIO::JobUiDelegate::askFileRename(KJob*, QString const&, QString const&, QString const&, KIO::RenameDialog_Mode, QString&, unsigned long long, unsigned long long, long, long, long, long) () from /usr/lib/libkio.so.5
#18 0xb55c1ea8 in ?? () from /usr/lib/libkio.so.5
#19 0xb55bc6ae in KIO::CopyJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
#20 0xb6daddad in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#21 0xb6dbdf4c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#22 0xb6f841f5 in KJob::result(KJob*) () from /usr/lib/libkdecore.so.5
#23 0xb6f84248 in KJob::emitResult() () from /usr/lib/libkdecore.so.5
#24 0xb55d214c in KIO::SimpleJob::slotFinished() () from /usr/lib/libkio.so.5
#25 0xb55d360f in KIO::StatJob::slotFinished() () from /usr/lib/libkio.so.5
#26 0xb54c1484 in KIO::StatJob::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
#27 0xb6daddad in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#28 0xb6dbdf4c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#29 0xb54bf995 in KIO::SlaveInterface::finished() () from /usr/lib/libkio.so.5
#30 0xb55ed641 in KIO::SlaveInterface::dispatch(int, QByteArray const&) () from /usr/lib/libkio.so.5
#31 0xb558081a in KIO::SlaveInterface::dispatch() () from /usr/lib/libkio.so.5
#32 0xb557f788 in KIO::Slave::gotInput() () from /usr/lib/libkio.so.5
#33 0xb5584fdc in KIO::Slave::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
#34 0xb6daddad in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#35 0xb6dbdf4c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#36 0xb54a0815 in KIO::Connection::readyRead() () from /usr/lib/libkio.so.5
#37 0xb5584d4a in ?? () from /usr/lib/libkio.so.5
#38 0xb5584e1f in KIO::Connection::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkio.so.5
#39 0xb6daddad in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#40 0xb6db8895 in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/lib/libQtCore.so.4
#41 0xb6dbcacf in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#42 0xb62a3414 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#43 0xb62ac137 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#44 0xb7413471 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#45 0xb6da750e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#46 0xb6dab29c in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#47 0xb6dab3ec in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#48 0xb6dd5b24 in ?? () from /usr/lib/libQtCore.so.4
#49 0xb5a48b49 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#50 0xb5a49350 in ?? () from /usr/lib/libglib-2.0.so.0
#51 0xb5a4960e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#52 0xb6dd5cab in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#53 0xb63599aa in ?? () from /usr/lib/libQtGui.so.4
#54 0xb6da67ed in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#55 0xb6da6a19 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#56 0xb6dab4c0 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#57 0xb62a1114 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#58 0xb0f18fbf in kdemain () from /usr/lib/libkdeinit4_konqueror.so
#59 0x0804e521 in _start ()

Possible duplicates by query: bug 235648.

Reported using DrKonqi
Comment 1 Dario Andres 2010-12-14 16:13:16 UTC
[Comment from a bug triager]
This could be related to the crashes on bug 235648; or to some other weird errors happening in OpenSuse using Strigi 0.7.3 (like bug 257944)
Regards

From bug 259231:
- What I was doing when the application crashed:
I was navigating a folder in my home that contains several documents and the
crash handler appeared when the mouse "hit" a PDF in this folder.
Comment 2 Dario Andres 2010-12-14 16:13:27 UTC
*** Bug 259231 has been marked as a duplicate of this bug. ***
Comment 3 Karsten König 2011-02-08 17:33:38 UTC
Hi, could you please provide the crashing pdf file?
Also any other updates would be nice (like it suddenly works! :-) )
Comment 4 Peter Penz 2011-02-27 20:11:33 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