Bug 258715

Summary: Dolphin crashes on mouse hover over specific JAR files
Product: [Applications] dolphin Reporter: Luis Fernando Planella Gonzalez <lfpg.dev>
Component: generalAssignee: Peter Penz <peter.penz19>
Status: RESOLVED FIXED    
Severity: crash CC: amichai2, andresbajotierra, assis.sv, bmorris591, brian, diego.ml, egon.willighagen, Enygma2002_ro, jos, pandemorra, pratim.skgc
Priority: NOR    
Version: 16.12.2   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.7.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
console output when running dolphin in gdb and crashing it
better backtrace
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
jar file that makes crash

Description Luis Fernando Planella Gonzalez 2010-12-03 18:07:36 UTC
Version:           unspecified (using KDE 4.5.4) 
OS:                Linux

There are some JAR files (not all) which makes Dolphin crashes if the mouse pointer is moved over them.
By the output of running it on a console, it has something to do with Strigi.
I have Strigi disabled, and the crash happens both with Nepomuk enabled or disabled.

Reproducible: Always

Steps to Reproduce:
To get a sample JAR file (which is just a ZIP file) which makes Dolphin crash, download http://source.mysema.com/static/querydsl/2.0.5/querydsl-jpa-2.0.5-full-deps.zip and extract it. 
Under querydsl-jpa-2.0.5/lib/apt, hover over the jar files, and Dolphin crashes

Actual Results:  
Dolphin crashes

Expected Results:  
No crash ;-)

Here is the output when running dolphin from the command line:

luis@luis-desktop:~$ dolphin
QMetaObject::invokeMethod: No such method DolphinApplication::loadCommandLineOptionsForNewInstance()
luis@luis-desktop:~$ QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: Arquivo ou diretório não encontrado
QFileSystemWatcher: failed to add paths: /home/luis/.config/ibus/bus
Bus::open: Can not get ibus-daemon's address. 
IBusInputContext::createInputContext: no connection to ibus-daemon 
dolphin(1788)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing  "/usr/share/mime/magic"
dolphin: /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:134: Strigi::AnalysisResult::Private::Private(const std::string&, const char*, time_t, Strigi::AnalysisResult&, Strigi::AnalysisResult&): Assertiva `m_path.size() > m_parent->p->m_path.size()+1' falhou.
dolphin: Fatal IO error: client killed
Comment 1 Dario Andres 2010-12-04 15:52:50 UTC
[Comment from a bug triager]
This seems to be related to Strigi.
I can reproduce the crash with the mentioned JAR files, using KDE SC 4.5.4 and Strigi 0.7.2 (on ArchLinux). Both Strigi and Nepomuk are disabled here.
- Do you get the Crash Handler dialog to try to fetch a backtrace ?
Thanks
Comment 2 Luis Fernando Planella Gonzalez 2010-12-06 11:41:30 UTC
No, I have no crash handler dialog...
The only info I could get was the output when running through command line.
Comment 3 Dario Andres 2010-12-06 23:18:40 UTC
[Comment from a bug triager]
Comment 1 should say: "I can't reproduce". In fact, I couldn't reproduce the crash with the mentioned steps.
Note: the crash seems to be related to bug 251462, (same/similar assert in Strigi code)

@Luis Fernando: if you can repeat the crash but you don't get the KDE Crash Handler dialog to retrieve the backtrace, can you please follow the steps at http://techbase.kde.org/User:DarioAndres/CreateUsefulReports#Retrieving_a_backtrace_with_GDB and paste here a backtrace (you have more related information at the top of that page)

Thanks
Comment 4 Luis Fernando Planella Gonzalez 2010-12-07 12:18:21 UTC
Thanks for the pointer. Here is the backtrace using gdb:

luis@luis-desktop:~$ gdb dolphin
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Lendo símbolos de /usr/bin/dolphin...Lendo símbolos de /usr/lib/debug/usr/bin/dolphin...concluído.
concluído.
(gdb) run --nofork
Starting program: /usr/bin/dolphin --nofork
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffe47f4700 (LWP 3235)]
[Thread 0x7fffe47f4700 (LWP 3235) exited]
QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: Arquivo ou diretório não encontrado
[New Thread 0x7fffe47f4700 (LWP 3239)]
QFileSystemWatcher: failed to add paths: /home/luis/.config/ibus/bus
Bus::open: Can not get ibus-daemon's address. 
IBusInputContext::createInputContext: no connection to ibus-daemon 
dolphin(3231)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing  "/usr/share/mime/magic"
[New Thread 0x7fffe14f7700 (LWP 3241)]
[Thread 0x7fffe14f7700 (LWP 3241) exited]
[New Thread 0x7fffe14f7700 (LWP 3244)]
[Thread 0x7fffe14f7700 (LWP 3244) exited]
[New Thread 0x7fffe14f7700 (LWP 3246)]
[Thread 0x7fffe14f7700 (LWP 3246) exited]
[New Thread 0x7fffe14f7700 (LWP 3248)]
[Thread 0x7fffe14f7700 (LWP 3248) exited]
[New Thread 0x7fffe14f7700 (LWP 3250)]
[Thread 0x7fffe14f7700 (LWP 3250) exited]
[New Thread 0x7fffe14f7700 (LWP 3252)]
[Thread 0x7fffe14f7700 (LWP 3252) exited]
[New Thread 0x7fffe14f7700 (LWP 3254)]
[Thread 0x7fffe14f7700 (LWP 3254) exited]
[New Thread 0x7fffe14f7700 (LWP 3258)]
[Thread 0x7fffe14f7700 (LWP 3258) exited]
[New Thread 0x7fffe14f7700 (LWP 3260)]
[Thread 0x7fffe14f7700 (LWP 3260) exited]
[New Thread 0x7fffe14f7700 (LWP 3262)]
[Thread 0x7fffe14f7700 (LWP 3262) exited]
[New Thread 0x7fffe14f7700 (LWP 3264)]
dolphin: /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:134: Strigi::AnalysisResult::Private::Private(const std::string&, const char*, time_t, Strigi::AnalysisResult&, Strigi::AnalysisResult&): Assertiva `m_path.size() > m_parent->p->m_path.size()+1' falhou.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe14f7700 (LWP 3264)]
0x00007ffff77efba5 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64      ../nptl/sysdeps/unix/sysv/linux/raise.c: Arquivo ou diretório não encontrado.
        in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) thread apply all backtrace

Thread 14 (Thread 0x7fffe14f7700 (LWP 3264)):
#0  0x00007ffff77efba5 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff77f36b0 in abort () at abort.c:92
#2  0x00007ffff77e8a71 in __assert_fail (assertion=0x7ffff0a5da30 "m_path.size() > m_parent->p->m_path.size()+1", file=<value optimized out>, line=134, 
    function=0x7ffff0a5dd20 "Strigi::AnalysisResult::Private::Private(const std::string&, const char*, time_t, Strigi::AnalysisResult&, Strigi::AnalysisResult&)") at assert.c:81
#3  0x00007ffff0a1597f in Strigi::AnalysisResult::Private::Private (this=0x7fffdc158ff0, p=..., name=<value optimized out>, mt=<value optimized out>, t=..., parent=...)
    at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:134
#4  0x00007ffff0a15a55 in Strigi::AnalysisResult::AnalysisResult (this=0x7fffdc103d70, path=..., name=0x7fffdc103df6 "", mt=1268190232, parent=...)
    at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:140
#5  0x00007ffff0a1658f in Strigi::AnalysisResult::indexChild (this=0x7fffe14f6940, name=<value optimized out>, mt=1268190232, file=0x7fffdc101d20)
    at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:249
#6  0x00007ffff0a4fdc5 in ZipEndAnalyzer::analyze (this=0x7fffdc0b7600, idx=..., in=0x7fffdc0e2330) at /build/buildd/strigi-0.7.2/src/streamanalyzer/endanalyzers/zipendanalyzer.cpp:62
#7  0x00007ffff0a36f7a in Strigi::StreamAnalyzerPrivate::analyze (this=0x7fffdc01a790, idx=..., input=0x7fffdc0e2330) at /build/buildd/strigi-0.7.2/src/streamanalyzer/streamanalyzer.cpp:421
#8  0x00007ffff5b7e6a5 in KFileMetaInfoPrivate::init (this=<value optimized out>, stream=<value optimized out>, url=<value optimized out>, mtime=1290455486, w=<value optimized out>)
    at ../../kio/kio/kfilemetainfo.cpp:271
#9  0x00007ffff5b803e3 in KFileMetaInfo::KFileMetaInfo (this=0x7fffe14f6cf0, path=..., w=<value optimized out>) at ../../kio/kio/kfilemetainfo.cpp:300
#10 0x00007ffff5c6b5c3 in KLoadFileMetaDataThread::run (this=<value optimized out>) at ../../kio/kfile/kloadfilemetadatathread.cpp:130
#11 0x00007ffff3ba827e in QThreadPrivate::start (arg=0xe22a70) at thread/qthread_unix.cpp:266
#12 0x00007ffff1a0d971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#13 0x00007ffff78a292d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#14 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fffe47f4700 (LWP 3239)):
#0  0x00007ffff7896203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fffef485009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fffef48545c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007ffff3cc8193 in QEventDispatcherGlib::processEvents (this=0xa90570, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#4  0x00007ffff3c9aa02 in QEventLoop::processEvents (this=<value optimized out>, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece.
) at kernel/qeventloop.cpp:149
#5  0x00007ffff3c9adec in QEventLoop::exec (this=0x7fffe47f3db0, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece.
) at kernel/qeventloop.cpp:201
#6  0x00007ffff3ba52fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007ffff3c7a5f8 in QInotifyFileSystemWatcherEngine::run (this=0xbf8340) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007ffff3ba827e in QThreadPrivate::start (arg=0xbf8340) at thread/qthread_unix.cpp:266
#9  0x00007ffff1a0d971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#10 0x00007ffff78a292d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7fb9760 (LWP 3231)):
#0  0x00007ffff7896203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=111) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fffef485009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fffef48545c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007ffff3cc8193 in QEventDispatcherGlib::processEvents (this=0x607e60, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#4  0x00007ffff4980a4e in QGuiEventDispatcherGlib::processEvents (this=0xc4d2c0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#5  0x00007ffff3c9aa02 in QEventLoop::processEvents (this=<value optimized out>, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece.
) at kernel/qeventloop.cpp:149
#6  0x00007ffff3c9adec in QEventLoop::exec (this=0x7fffffffdc50, flags=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece or DW_OP_bit_piece.
) at kernel/qeventloop.cpp:201
#7  0x00007ffff3c9eebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#8  0x00007ffff7b8890f in kdemain (argc=<value optimized out>, argv=<value optimized out>) at ../../../../apps/dolphin/src/main.cpp:98
#9  0x00007ffff77dad8e in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, 
    rtld_fini=<value optimized out>, stack_end=0x7fffffffe228) at libc-start.c:226
#10 0x0000000000400659 in _start ()
Comment 5 Dario Andres 2010-12-13 15:06:32 UTC
[Comment from a bug triager]
Thanks for the backtrace
Comment 6 Diego 2010-12-22 15:27:00 UTC
Created attachment 55161 [details]
New crash information added by DrKonqi

dolphin (1.5) on KDE Platform 4.5.4 (KDE 4.5.4) using Qt 4.6.3

- What I was doing when the application crashed:

browsing a folder full of jars.
Dolphin crashes when hovering a jar. The backtrace is complete (KDE 4.5.4).

-- Backtrace (Reduced):
#8  0x00000034d302b935 in __assert_fail (assertion=0x37ee859038 "m_path.size() > m_parent->p->m_path.size()+1", file=<value optimized out>, line=134, function=<value optimized out>) at assert.c:81
#9  0x00000037ee81760f in Strigi::AnalysisResult::Private::Private (this=0x7ff498105660, p=
    "/home/diego/Kynetics/Progetti/Insiel/ws-adweb-broken/ADWEB4.0/WebContent/WEB-INF/lib/commons-discovery-0.2.jar/", name=<value optimized out>, mt=<value optimized out>, t=..., parent=...)
    at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:134
#10 0x00000037ee8176e5 in Strigi::AnalysisResult::AnalysisResult (this=0x7ff49802d0d0, path=
    "/home/diego/Kynetics/Progetti/Insiel/ws-adweb-broken/ADWEB4.0/WebContent/WEB-INF/lib/commons-discovery-0.2.jar/", name=0x7ff498102797 "", mt=1050311086, parent=...)
    at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:140
#11 0x00000037ee8182bf in Strigi::AnalysisResult::indexChild (this=0x7ff49deed890, name=<value optimized out>, mt=1050311086, file=0x7ff4981028e0)
    at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:249
#12 0x00000037ee84b938 in ZipEndAnalyzer::analyze (this=0x7ff4980440e0, idx=..., in=0x7ff498043d10) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/endanalyzers/zipendanalyzer.cpp:62
Comment 7 Amichai Rothman 2010-12-28 11:31:33 UTC
I'm not sure if it's indeed the same cause or not, but I've found a similar symptom - hovering over a specific jar file (with mouse, or selection using keyboard to highlight it) causes Dolphin to crash every time.

The file causing the crash is the Squirrel SQL 3.01 installer jar file from sourceforge: http://garr.dl.sourceforge.net/project/squirrel-sql/1-stable/3.0.1%20%28Installer%29/squirrel-sql-3.0.1-install.jar

Running on Kubuntu 10.10 with KDE 4.5.4 (from kubuntu PPA) and Dolphin 1.5.

The crash report handler did pop up the first time the crash occurred (not subsequent times), but couldn't get a stack trace even after installing debug symbols - this may be a quirk on my system though, dunno.

I have nepomuk/strigi disabled - just mentioning this because it's mentioned above, though my first intuition was that it might be related to tooltip or previews, due to the timing. But I know nothing about either.
Comment 8 Dario Andres 2010-12-30 18:32:40 UTC
[Comment from a bug triager]
The file mentioned at comment 7 doesn't crash my Dolphin on KDE SC 4.5.4 + Strigi 0.7.2 on ArchLinux.
Regards
Comment 9 Diego 2010-12-30 22:40:43 UTC
(In reply to comment #8)
> [Comment from a bug triager]
> The file mentioned at comment 7 doesn't crash my Dolphin on KDE SC 4.5.4 +
> Strigi 0.7.2 on ArchLinux.
> Regards

I can confirm: though I experienced the crash myself several times that file doesn't crash Dolphin. Not sure, but it looks like this bug is not always reproducible...
Comment 10 Amichai Rothman 2010-12-31 00:40:00 UTC
Created attachment 55396 [details]
console output when running dolphin in gdb and crashing it

On my system, it's always reproducible (I just re-tried it, and Dolphin vanished...) If there's any info I can provide to help, please let me know exactly what it is and how to get at it.

I ran dolphin in gdb in case it helps (I see someone up the thread did it), selected the evil file and it crashed - the result trace is attached.
Comment 11 Diego 2010-12-31 17:07:34 UTC
(In reply to comment #10)
> Created an attachment (id=55396) [details]
> console output when running dolphin in gdb and crashing it
> 
> On my system, it's always reproducible (I just re-tried it, and Dolphin
> vanished...) If there's any info I can provide to help, please let me know
> exactly what it is and how to get at it.
> 
> I ran dolphin in gdb in case it helps (I see someone up the thread did it),
> selected the evil file and it crashed - the result trace is attached.

Try using the "bt" (stands for "backtrace") in gdb after Dolphin crashed. To see if you have all the required debug packages check out this page:
http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports
Comment 12 Amichai Rothman 2011-01-01 11:50:08 UTC
Created attachment 55436 [details]
better backtrace

I hope this one is better.
Comment 13 Amichai Rothman 2011-01-01 11:57:49 UTC
Hmmmm.... I think that was premature - it's after gdb breaking in following the assertion failed. I continued running and only then the dolphin window disappeared, and trying to get a further backtrace, it looks like there's an infinite loop or something like that (couldn't reach the bottom of the stack trace after hitting return to continue hundreds of times). It looks something like this:

.... with tons of the same above
#15871 0x00007ffff3ba7c6b in QThreadData::current () at thread/qthread_unix.cpp:164
#15872 0x00007ffff3caf5a3 in QObject::QObject (this=0x7fffe04b9970, dd=..., parent=0x0)
    at kernel/qobject.cpp:772
#15873 0x00007ffff3ba4e79 in QThread::QThread (this=0x7ffff7b3ae40, dd=..., parent=0x90)
    at thread/qthread.cpp:385
#15874 0x00007ffff3ba5ade in QAdoptedThread::QAdoptedThread (this=0x7fffe04b9970, 
    data=0x7fffe04b9800) at thread/qthread.cpp:137
#15875 0x00007ffff3ba7c6b in QThreadData::current () at thread/qthread_unix.cpp:164
#15876 0x00007ffff3caf5a3 in QObject::QObject (this=0x7fffe04b9620, dd=..., parent=0x0)
    at kernel/qobject.cpp:772
#15877 0x00007ffff3ba4e79 in QThread::QThread (this=0x7ffff7b3ae40, dd=..., parent=0x90)
    at thread/qthread.cpp:385
#15878 0x00007ffff3ba5ade in QAdoptedThread::QAdoptedThread (this=0x7fffe04b9620, 
    data=0x7fffe04b94b0) at thread/qthread.cpp:137
#15879 0x00007ffff3ba7c6b in QThreadData::current () at thread/qthread_unix.cpp:164
#15880 0x00007ffff3caf5a3 in QObject::QObject (this=0x7fffe04b92d0, dd=..., parent=0x0)
    at kernel/qobject.cpp:772
#15881 0x00007ffff3ba4e79 in QThread::QThread (this=0x7ffff7b3ae40, dd=..., parent=0x90)
    at thread/qthread.cpp:385
#15882 0x00007ffff3ba5ade in QAdoptedThread::QAdoptedThread (this=0x7fffe04b92d0, 
    data=0x7fffe04b9160) at thread/qthread.cpp:137
#15883 0x00007ffff3ba7c6b in QThreadData::current () at thread/qthread_unix.cpp:164
#15884 0x00007ffff3caf5a3 in QObject::QObject (this=0x7fffe04b8f80, dd=..., parent=0x0)
    at kernel/qobject.cpp:772
#15885 0x00007ffff3ba4e79 in QThread::QThread (this=0x7ffff7b3ae40, dd=..., parent=0x90)
    at thread/qthread.cpp:385
#15886 0x00007ffff3ba5ade in QAdoptedThread::QAdoptedThread (this=0x7fffe04b8f80, 
    data=0x7fffe04b8e10) at thread/qthread.cpp:137
#15887 0x00007ffff3ba7c6b in QThreadData::current () at thread/qthread_unix.cpp:164
#15888 0x00007ffff3caf5a3 in QObject::QObject (this=0x7fffe04b8c30, dd=..., parent=0x0)
    at kernel/qobject.cpp:772
#15889 0x00007ffff3ba4e79 in QThread::QThread (this=0x7ffff7b3ae40, dd=..., parent=0x90)
    at thread/qthread.cpp:385
#15890 0x00007ffff3ba5ade in QAdoptedThread::QAdoptedThread (this=0x7fffe04b8c30, 
    data=0x7fffe04b8ac0) at thread/qthread.cpp:137
#15891 0x00007ffff3ba7c6b in QThreadData::current () at thread/qthread_unix.cpp:164
#15892 0x00007ffff3caf5a3 in QObject::QObject (this=0x7fffe04b88e0, dd=..., parent=0x0)
    at kernel/qobject.cpp:772
#15893 0x00007ffff3ba4e79 in QThread::QThread (this=0x7ffff7b3ae40, dd=..., parent=0x90)
    at thread/qthread.cpp:385
.... with tons of the same below


I'm not sure how to get at the more useful part at the bottom of the trace.
Comment 14 Edward Nygma 2011-01-31 14:21:42 UTC
Created attachment 56693 [details]
New crash information added by DrKonqi

dolphin (1.5) on KDE Platform 4.5.5 (KDE 4.5.5) using Qt 4.7.1

- What I was doing when the application crashed:
Hovering some jar files, specifically eclipse plugins.

-- Backtrace (Reduced):
#11 0x03c4ed33 in Strigi::AnalysisResult::Private::Private (this=0xaa9ea8a0, p="/home/Enygma/Work/Scribo/releases/workbench/scribo.workbench_0.3.0.20110131-563/eclipse/plugins/org.eclipse.jface_3.6.1.M20100825-0800.jar/", name=0xaa9ea80f "", mt=1282716158, t=@0xaa965a68, parent=@0xb0e8f074) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:134
#12 0x03c4ee14 in Strigi::AnalysisResult::AnalysisResult (this=0xaa965a68, path="/home/Enygma/Work/Scribo/releases/workbench/scribo.workbench_0.3.0.20110131-563/eclipse/plugins/org.eclipse.jface_3.6.1.M20100825-0800.jar/", name=0xaa9ea80f "", mt=1282716158, parent=@0xb0e8f074) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:140
#13 0x03c4f13e in Strigi::AnalysisResult::indexChild (this=0xb0e8f074, name="", mt=1282716158, file=0xaa9ea740) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:249
#14 0x03c9113e in ZipEndAnalyzer::analyze (this=0xaa9f46e8, idx=..., in=0xaa9f50a0) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/endanalyzers/zipendanalyzer.cpp:62
#15 0x03c74bca in Strigi::StreamAnalyzerPrivate::analyze (this=0xaa9f6470, idx=..., input=0xaa9f50a0) at /usr/src/debug/strigi-0.7.2/src/streamanalyzer/streamanalyzer.cpp:421
Comment 15 Egon Willighagen 2011-02-25 20:41:36 UTC
I ran Strigi on the mentioned .zip file (it will go into the .zip, and thus still test the jars) using xmlindexer, and get no crash:

$ xmlindexer querydsl-jpa-2.0.5-full-deps.zip

Tons of XML output and an undefined symbol ("xmlindexer: symbol lookup error: /usr/lib/libldap_r-2.4.so.2: undefined symbol: ldap_int_tls_destroy, version OPENLDAP_2.4_2"), but no crash.

As such, I wonder if it is really the streamanalyzers that are buggy, because then I would have gotten the crash too. KDE 4.4.5, Strigi 0.7.2 on Debian Squeeze 32 bit.

I also tried it in threaded mode, again without crash:

$ xmlindexer querydsl-jpa-2.0.5-full-deps.zip

Can those who do get the crash, perhaps try to run Strigi on those files with xmlindexer too?
Comment 16 Luis Fernando Planella Gonzalez 2011-02-25 20:52:58 UTC
I tried the xmlindexer querydsl-jpa-2.0.5-full-deps.zip and got no crash.
Dolphin crashes when hovering over one of the files in that zip (jar files under lib/apt), but xmlindexer didn't crash on them either.
It must be something else. Anyway, I have strigi (and nepomuk) disabled
Comment 17 Peter Penz 2011-02-25 21:16:07 UTC
@Egon: Is it possible to tell the xmlindexer to limit the stream to 64 KB? This is what KFileMetaInfo requests from Strigi and I guess this is where a lot of analyzers fail...
Comment 18 Egon Willighagen 2011-02-25 21:35:39 UTC
Yes, we can simply use split for that:

$ split -b64K querydsl-jpa-2.0.5-full-deps.zip

and then run xmlindexer on the xaa that is created:

$ xmlindexer xaa

which gives me:


substream too short.
substream too short.
substream too short.
########### m_position -2 newpos 0
Error: Premature end of stream

substream too short.
substream too short.
Error reading zip header:  premature end of file.
########### m_position -2 newpos 0
could not reset stream of xaa/querydsl-jpa-2.0.5/lib/all/querydsl-jpa-2.0.5.jar from pos -2 to 0 after reading with ZipEndAnalyzer: Error reading zip header:  premature end of file.
Error: Premature end of stream

xmlindexer: symbol lookup error: /usr/lib/libldap_r-2.4.so.2: undefined symbol: ldap_int_tls_destroy, version OPENLDAP_2.4_2

So, for this .zip file it seems to fail safely in the version I have, but (see my reply on the strigi-devel ML) I could reproduce a crash for another file...
Comment 19 Peter Penz 2011-02-27 20:11:32 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
Comment 20 Diego 2011-02-28 09:32:06 UTC
Thanks Peter, a solution like this is needed seeing the slow developement of Strigi nowadays. Thank you for fixing these.
Comment 21 Assis Vieira 2011-05-19 03:20:08 UTC
Created attachment 60141 [details]
New crash information added by DrKonqi

dolphin (1.6.1) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2

- What I was doing when the application crashed:

o Dolphin quebrou quando eu estava passando o mouse sobre arquivos .JAR.

-- Backtrace (Reduced):
#8  0x00007f32b94327c5 in __assert_fail (assertion=0x7f32b391fc20 "m_path.size() > m_parent->p->m_path.size()+1", file=<value optimized out>, line=134, function=<value optimized out>) at assert.c:81
#9  0x00007f32b38d4ecf in Strigi::AnalysisResult::Private::Private (this=0x7f32a016ead0, p=..., name=<value optimized out>, mt=<value optimized out>, t=..., parent=...) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:134
#10 0x00007f32b38d4f95 in Strigi::AnalysisResult::AnalysisResult (this=0x7f32a00f7090, path=..., name=0x7f32a016e617 "", mt=1236265662, parent=...) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:140
#11 0x00007f32b38d52c2 in Strigi::AnalysisResult::indexChild (this=0x7f32993e19d0, name=<value optimized out>, mt=1236265662, file=0x7f32a00f6fd0) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:249
#12 0x00007f32b39125a8 in ZipEndAnalyzer::analyze (this=0x245efa0, idx=..., in=0x25150b0) at /build/buildd/strigi-0.7.2/src/streamanalyzer/endanalyzers/zipendanalyzer.cpp:62
Comment 22 Boris 2011-05-22 18:53:47 UTC
Created attachment 60217 [details]
New crash information added by DrKonqi

dolphin (1.6.1) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2

A specific JAR file (the ehcache core jar in the current distribution) causes dolphin to consistently crash after the mouse hovers over the icon.

-- Backtrace (Reduced):
#8  0x00007f831f64d7c5 in __assert_fail (assertion=0x7f8319b3ac20 "m_path.size() > m_parent->p->m_path.size()+1", file=<value optimized out>, line=134, function=<value optimized out>) at assert.c:81
#9  0x00007f8319aefecf in Strigi::AnalysisResult::Private::Private (this=0x7f82f813f3c0, p=..., name=<value optimized out>, mt=<value optimized out>, t=..., parent=...) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:134
#10 0x00007f8319aeff95 in Strigi::AnalysisResult::AnalysisResult (this=0x7f82f80e8830, path=..., name=0x7f82f8144078 "", mt=1302482978, parent=...) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:140
#11 0x00007f8319af02c2 in Strigi::AnalysisResult::indexChild (this=0x7f8307c699d0, name=<value optimized out>, mt=1302482978, file=0x7f82f80e8730) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:249
#12 0x00007f8319b2d5a8 in ZipEndAnalyzer::analyze (this=0x7f82f80a1900, idx=..., in=0x7f82f80a1b80) at /build/buildd/strigi-0.7.2/src/streamanalyzer/endanalyzers/zipendanalyzer.cpp:62
Comment 23 Pratim SC 2011-06-20 20:36:52 UTC
Created attachment 61175 [details]
New crash information added by DrKonqi

dolphin (1.6.1) on KDE Platform 4.6.2 (4.6.2) using Qt 4.7.2

- What I was doing when the application crashed:

I was hovering the mouse over Apacher Wicket jar file wicket-extensions-1.4.17.jar.

-- Backtrace (Reduced):
#8  0x00007febcc6a77c5 in __assert_fail (assertion=0x7febc6b94c20 "m_path.size() > m_parent->p->m_path.size()+1", file=<value optimized out>, line=134, function=<value optimized out>) at assert.c:81
#9  0x00007febc6b49ecf in Strigi::AnalysisResult::Private::Private (this=0x7febb4005ab0, p=..., name=<value optimized out>, mt=<value optimized out>, t=..., parent=...) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:134
#10 0x00007febc6b49f95 in Strigi::AnalysisResult::AnalysisResult (this=0x7febb400d3c0, path=..., name=0x7febb400d22d "", mt=1301207916, parent=...) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:140
#11 0x00007febc6b4a2c2 in Strigi::AnalysisResult::indexChild (this=0x7febb247d9d0, name=<value optimized out>, mt=1301207916, file=0x7febb400bf70) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:249
#12 0x00007febc6b875a8 in ZipEndAnalyzer::analyze (this=0x160d7c0, idx=..., in=0x1763cc0) at /build/buildd/strigi-0.7.2/src/streamanalyzer/endanalyzers/zipendanalyzer.cpp:62
Comment 24 Dario Andres 2011-07-10 22:46:36 UTC
*** Bug 277492 has been marked as a duplicate of this bug. ***
Comment 25 brian 2011-07-20 03:47:46 UTC
Created attachment 62005 [details]
New crash information added by DrKonqi

dolphin (1.6.1) on KDE Platform 4.6.5 (4.6.5) using Qt 4.7.2

- What I was doing when the application crashed:

I had just created a decompiled JAR file and had my mouse over it to cut and paste it somewhere else when Dolphin spontaneously crashed. I repeated it three more times and happened exactly the same way.

-- Backtrace (Reduced):
#11 0xb57e7ef1 in Strigi::AnalysisResult::Private::Private (this=0xaf305078, p=..., name=0xaf306ddd "", mt=1311075474, t=..., parent=...) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:134
#12 0xb57e7fd3 in Strigi::AnalysisResult::AnalysisResult (this=0xaf30c338, path=..., name=0xaf306ddd "", mt=1311075474, parent=...) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:140
#13 0xb57e82fd in Strigi::AnalysisResult::indexChild (this=0xb03bf0f4, name=..., mt=1311075474, file=0xaf3050d8) at /build/buildd/strigi-0.7.2/src/streamanalyzer/analysisresult.cpp:249
#14 0xb5829baf in ZipEndAnalyzer::analyze (this=0xb1e780b0, idx=..., in=0xb1e3b9b0) at /build/buildd/strigi-0.7.2/src/streamanalyzer/endanalyzers/zipendanalyzer.cpp:62
#15 0xb580d5ba in Strigi::StreamAnalyzerPrivate::analyze (this=0xb1e1c288, idx=..., input=0xb1e3b9b0) at /build/buildd/strigi-0.7.2/src/streamanalyzer/streamanalyzer.cpp:421
Comment 26 Jos van den Oever 2011-07-20 05:51:45 UTC
brian@aerodroid: please attach the jarfile in question.
Comment 27 pandemorra 2011-07-20 10:47:51 UTC
Created attachment 62014 [details]
jar file that makes crash

dolphin crashs on hover
Comment 28 pandemorra 2011-07-20 10:50:15 UTC
On 20 July 2011 08:51:47 Jos van den Oever wrote:
> https://bugs.kde.org/show_bug.cgi?id=258715
> 
> 
> 
> 
> 
> --- Comment #26 from Jos van den Oever <jos vandenoever info>  2011-07-20
> 05:51:45 --- brian@aerodroid: please attach the jarfile in question.

file attached

https://bugs.kde.org/attachment.cgi?id=62014