Bug 252666

Summary: Dolphin crashed on startup
Product: [Applications] dolphin Reporter: Christopher Yeleighton <giecrilj>
Component: generalAssignee: Peter Penz <peter.penz19>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: 16.12.2   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 4.5.0
Sentry Crash Report:

Description Christopher Yeleighton 2010-09-28 17:48:26 UTC
Application: dolphin (1.4)
KDE Platform Version: 4.4.4 (KDE 4.4.4) "release 2"
Qt Version: 4.6.3
Operating System: Linux 2.6.34.7-0.3-desktop x86_64
Distribution: "openSUSE 11.3 (x86_64)"

-- Information about the crash:
I tried to start Dolphin by clicking on the Plasma widget.

The crash can be reproduced every time.

 -- Backtrace:
Application: Dolphin (dolphin), signal: Aborted
82	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[KCrash Handler]
#5  0x00007f8dacf939e5 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007f8dacf94ee6 in abort () at abort.c:92
#7  0x00007f8dad380cdd in __gnu_cxx::__verbose_terminate_handler () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:93
#8  0x00007f8dad37eef6 in __cxxabiv1::__terminate (handler=<value optimized out>) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:39
#9  0x00007f8dad37ef23 in std::terminate () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:49
#10 0x00007f8dad37f076 in __cxxabiv1::__cxa_rethrow () at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:116
#11 0x00007f8dae399563 in QEventLoop::exec (this=0x7fff37d85200, flags=...) at kernel/qeventloop.cpp:214
#12 0x00007f8dae39d88b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#13 0x0000000000436c3d in _start ()

This bug may be a duplicate of or related to bug 252657.

Possible duplicates by query: bug 252657, bug 247579, bug 242840, bug 240373, bug 234694.

Reported using DrKonqi
Comment 1 Christopher Yeleighton 2010-09-28 18:46:16 UTC
The bug occurs when loading the icon "user-home"; it looks like the expected decompressed size is completely bogus.

Please, it is not a fatal error to be unable to load an icon!

gdb dolphin
catch throw
run --nofork
f 3
at tools/qbytearray.cpp:554
554                     d.reset(q_check_ptr(static_cast<QByteArray::Data *>(qRealloc(d.take(), sizeof(QByteArray::Data) + len))))
p len
$11 = 2023531987
b 548 if nbytes = 1024
f 8
at /usr/src/debug/kdelibs-4.4.4/kdeui/icons/kiconloader.cpp:1092
p/c name->d->array@9
$9 = {{117 'u'}, {115 's'}, {101 'e'}, {114 'r'}, {45 '-'}, {104 'h'}, {111 'o'}, {109 'm'}, {
    101 'e'}}
Comment 2 Christopher Yeleighton 2010-09-28 18:54:57 UTC
strace shows that the icon cache in /var/tmp/kdecache-krzysztof/kpc/ has been damaged and Dolphin is unable to detect and handle this abnormal condition.

Dirty fix:

cd "/var/tmp/kdecache-$USERNAME"
mv kpc kpc-

and suddenly Dolphin starts normally.

Shame on you!
Comment 3 Christopher Yeleighton 2010-09-28 19:24:33 UTC
This is not a Dolphin bug, this is a kdelibs4 bug.

I would use the following logic:

try { load pixmap } 
catch (...) 
{ 
log; rebuild cache; 
try { load pixmap } catch (...) { log failure; use missing pixmap instead; }}
Comment 4 Christopher Yeleighton 2010-09-28 19:25:38 UTC
*** Bug 252657 has been marked as a duplicate of this bug. ***
Comment 5 Christopher Yeleighton 2010-09-28 19:41:02 UTC
I have archived the damaged kpc, in case you are interested in repro.  I cannot attach it because it takes 12 MB compressed.
Comment 6 Peter Penz 2010-11-21 11:28:34 UTC
Thanks for the report, since KDE SC 4.5 a new iconloader code is used in kdelibs which fixes this issue.