Bug 276249 - Crashed while importing from iphone with DDS file
Summary: Crashed while importing from iphone with DDS file
Status: RESOLVED UPSTREAM
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kimgio (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
: 272491 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-06-22 13:53 UTC by rfl
Modified: 2018-08-26 12:26 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (15.14 KB, text/plain)
2011-06-23 14:50 UTC, rfl
Details

Note You need to log in before you can comment on or make changes to this bug.
Description rfl 2011-06-22 13:53:49 UTC
Application: digikam (1.4.0)
KDE Platform Version: 4.5.5 (KDE 4.5.5)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-28-generic i686
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:
I opened digikam, and it loaded my laptop photo folder. 

Then I asked to import photos from the iPhone4. Digikam recognized it, and started to import the thumbnails. 

But it crashed  - and crashes again if I try again - while at 30% of importing them. There are around 300 photos into the iPhone. 

Note that also F-Spot crashes. 

What happens?

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0xb658d740 (LWP 7469))]

Thread 18 (Thread 0xb6322b70 (LWP 7473)):
#0  0x005263f4 in pthread_mutex_lock () from /lib/libpthread.so.0
#1  0x06ae84a4 in ?? () from /lib/libglib-2.0.so.0
#2  0x06ae8ba7 in g_main_loop_run () from /lib/libglib-2.0.so.0
#3  0x01b0f9c4 in ?? () from /usr/lib/libgio-2.0.so.0
#4  0x06b0f48f in ?? () from /lib/libglib-2.0.so.0
#5  0x00523cc9 in start_thread () from /lib/libpthread.so.0
#6  0x0687f69e in clone () from /lib/libc.so.6

Thread 17 (Thread 0xb3cdbb70 (LWP 7474)):
#0  0x00815416 in __kernel_vsyscall ()
#1  0x005284dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0255f9c7 in wait (this=0xa518908, mutex=0xa518904, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#3  QWaitCondition::wait (this=0xa518908, mutex=0xa518904, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#4  0x083310a4 in ?? ()
#5  0x0255edf9 in QThreadPrivate::start (arg=0xa4dc800) at thread/qthread_unix.cpp:266
#6  0x00523cc9 in start_thread () from /lib/libpthread.so.0
#7  0x0687f69e in clone () from /lib/libc.so.6

Thread 16 (Thread 0xb34dab70 (LWP 7476)):
#0  0x016d6e36 in clock_gettime () from /lib/librt.so.1
#1  0x025ba50b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x026916e5 in QTimerInfoList::updateCurrentTime (this=0xa62be84) at kernel/qeventdispatcher_unix.cpp:339
#4  0x0269172a in QTimerInfoList::timerWait (this=0xa62be84, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x0268f7a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb34da0cc) at kernel/qeventdispatcher_glib.cpp:136
#6  0x0268f83d in timerSourcePrepare (source=0x0, timeout=0x16daff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x06ae7e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x06ae8279 in ?? () from /lib/libglib-2.0.so.0
#9  0x06ae8848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x0268f59f in QEventDispatcherGlib::processEvents (this=0xa635418, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x0265f609 in QEventLoop::processEvents (this=0xb34da2a0, flags=) at kernel/qeventloop.cpp:149
#12 0x0265fa8a in QEventLoop::exec (this=0xb34da2a0, flags=...) at kernel/qeventloop.cpp:201
#13 0x0255bb7e in QThread::exec (this=0xa63cc58) at thread/qthread.cpp:490
#14 0x088c859d in ?? () from /usr/lib/libdigikamdatabase.so.1
#15 0x0255edf9 in QThreadPrivate::start (arg=0xa63cc58) at thread/qthread_unix.cpp:266
#16 0x00523cc9 in start_thread () from /lib/libpthread.so.0
#17 0x0687f69e in clone () from /lib/libc.so.6

Thread 15 (Thread 0xb2a70b70 (LWP 7477)):
#0  0x016d6e36 in clock_gettime () from /lib/librt.so.1
#1  0x025ba50b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x026916e5 in QTimerInfoList::updateCurrentTime (this=0xb2b15354) at kernel/qeventdispatcher_unix.cpp:339
#4  0x0269172a in QTimerInfoList::timerWait (this=0xb2b15354, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x0268f7a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb2a700cc) at kernel/qeventdispatcher_glib.cpp:136
#6  0x0268f83d in timerSourcePrepare (source=0x0, timeout=0x16daff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x06ae7e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x06ae8279 in ?? () from /lib/libglib-2.0.so.0
#9  0x06ae8848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x0268f59f in QEventDispatcherGlib::processEvents (this=0xb2b073a8, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x0265f609 in QEventLoop::processEvents (this=0xb2a702a0, flags=) at kernel/qeventloop.cpp:149
#12 0x0265fa8a in QEventLoop::exec (this=0xb2a702a0, flags=...) at kernel/qeventloop.cpp:201
#13 0x0255bb7e in QThread::exec (this=0xa672bc0) at thread/qthread.cpp:490
#14 0x088c859d in ?? () from /usr/lib/libdigikamdatabase.so.1
#15 0x0255edf9 in QThreadPrivate::start (arg=0xa672bc0) at thread/qthread_unix.cpp:266
#16 0x00523cc9 in start_thread () from /lib/libpthread.so.0
#17 0x0687f69e in clone () from /lib/libc.so.6

Thread 14 (Thread 0xb21eeb70 (LWP 7478)):
#0  0x00815416 in __kernel_vsyscall ()
#1  0x005284dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0255f9c7 in wait (this=0xa677ef0, mutex=0xa677eec, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#3  QWaitCondition::wait (this=0xa677ef0, mutex=0xa677eec, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#4  0x093152d2 in ?? () from /usr/lib/libdigikamcore.so.1
#5  0x0255edf9 in QThreadPrivate::start (arg=0xa677ee0) at thread/qthread_unix.cpp:266
#6  0x00523cc9 in start_thread () from /lib/libpthread.so.0
#7  0x0687f69e in clone () from /lib/libc.so.6

Thread 13 (Thread 0xb19edb70 (LWP 7479)):
#0  0x06ab9397 in ?? () from /lib/libglib-2.0.so.0
#1  0x06ae8279 in ?? () from /lib/libglib-2.0.so.0
#2  0x06ae8848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x0268f59f in QEventDispatcherGlib::processEvents (this=0xa633750, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#4  0x0265f609 in QEventLoop::processEvents (this=0xb19ed2c0, flags=) at kernel/qeventloop.cpp:149
#5  0x0265fa8a in QEventLoop::exec (this=0xb19ed2c0, flags=...) at kernel/qeventloop.cpp:201
#6  0x0255bb7e in QThread::exec (this=0xa6772e0) at thread/qthread.cpp:490
#7  0x0255edf9 in QThreadPrivate::start (arg=0xa6772e0) at thread/qthread_unix.cpp:266
#8  0x00523cc9 in start_thread () from /lib/libpthread.so.0
#9  0x0687f69e in clone () from /lib/libc.so.6

Thread 12 (Thread 0xb11ecb70 (LWP 7480)):
#0  0x00815416 in __kernel_vsyscall ()
#1  0x06870df6 in poll () from /lib/libc.so.6
#2  0x06af5a1b in g_poll () from /lib/libglib-2.0.so.0
#3  0x06ae843c in ?? () from /lib/libglib-2.0.so.0
#4  0x06ae8848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x0268f59f in QEventDispatcherGlib::processEvents (this=0xa662190, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#6  0x0265f609 in QEventLoop::processEvents (this=0xb11ec2c0, flags=) at kernel/qeventloop.cpp:149
#7  0x0265fa8a in QEventLoop::exec (this=0xb11ec2c0, flags=...) at kernel/qeventloop.cpp:201
#8  0x0255bb7e in QThread::exec (this=0xa6333d8) at thread/qthread.cpp:490
#9  0x0255edf9 in QThreadPrivate::start (arg=0xa6333d8) at thread/qthread_unix.cpp:266
#10 0x00523cc9 in start_thread () from /lib/libpthread.so.0
#11 0x0687f69e in clone () from /lib/libc.so.6

Thread 11 (Thread 0xaa0ceb70 (LWP 7481)):
#0  0x00815416 in __kernel_vsyscall ()
#1  0x00528884 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x02946b3f in ?? () from /usr/lib/libxine.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 10 (Thread 0xa94c2b70 (LWP 7482)):
#0  0x00815416 in __kernel_vsyscall ()
#1  0x06878371 in select () from /lib/libc.so.6
#2  0x02972f1c in xine_usec_sleep () from /usr/lib/libxine.so.1
#3  0x00000000 in ?? ()

Thread 9 (Thread 0xa8cc1b70 (LWP 7483)):
#0  0x016d6e36 in clock_gettime () from /lib/librt.so.1
#1  0x025ba50b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x026916e5 in QTimerInfoList::updateCurrentTime (this=0xabd2dbc) at kernel/qeventdispatcher_unix.cpp:339
#4  0x0269172a in QTimerInfoList::timerWait (this=0xabd2dbc, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x0268f7a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xa8cc107c) at kernel/qeventdispatcher_glib.cpp:136
#6  0x0268f83d in timerSourcePrepare (source=0x0, timeout=0x16daff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x06ae7e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x06ae8279 in ?? () from /lib/libglib-2.0.so.0
#9  0x06ae8848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x0268f59f in QEventDispatcherGlib::processEvents (this=0xabd17f0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x0265f609 in QEventLoop::processEvents (this=0xa8cc1250, flags=) at kernel/qeventloop.cpp:149
#12 0x0265fa8a in QEventLoop::exec (this=0xa8cc1250, flags=...) at kernel/qeventloop.cpp:201
#13 0x0255bb7e in QThread::exec (this=0xabd13f8) at thread/qthread.cpp:490
#14 0x028e381a in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#15 0x0255edf9 in QThreadPrivate::start (arg=0xabd13f8) at thread/qthread_unix.cpp:266
#16 0x00523cc9 in start_thread () from /lib/libpthread.so.0
#17 0x0687f69e in clone () from /lib/libc.so.6

Thread 8 (Thread 0xa84c0b70 (LWP 7484)):
#0  0x04188b11 in pa_mutex_lock () from /usr/lib/libpulsecommon-0.9.21.so
#1  0x0875e56c in ?? () from /usr/lib/libpulse.so.0
#2  0x0874aab9 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3  0x0874ca73 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#4  0x0874cb44 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#5  0x0875e303 in ?? () from /usr/lib/libpulse.so.0
#6  0x04189bd5 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#7  0x00523cc9 in start_thread () from /lib/libpthread.so.0
#8  0x0687f69e in clone () from /lib/libc.so.6

Thread 7 (Thread 0xa3affb70 (LWP 7485)):
#0  0x00815416 in __kernel_vsyscall ()
#1  0x005284dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x02958b54 in ?? () from /usr/lib/libxine.so.1
#3  0x00000000 in ?? ()

Thread 6 (Thread 0xa32feb70 (LWP 7486)):
#0  0x016d6e36 in clock_gettime () from /lib/librt.so.1
#1  0x025ba50b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x026916e5 in QTimerInfoList::updateCurrentTime (this=0xac7ec34) at kernel/qeventdispatcher_unix.cpp:339
#4  0x0269172a in QTimerInfoList::timerWait (this=0xac7ec34, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x0268f7a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xa32fe08c) at kernel/qeventdispatcher_glib.cpp:136
#6  0x0268f83d in timerSourcePrepare (source=0x0, timeout=0x16daff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x06ae7e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x06ae8279 in ?? () from /lib/libglib-2.0.so.0
#9  0x06ae8848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x0268f59f in QEventDispatcherGlib::processEvents (this=0xac74830, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x0265f609 in QEventLoop::processEvents (this=0xa32fe260, flags=) at kernel/qeventloop.cpp:149
#12 0x0265fa8a in QEventLoop::exec (this=0xa32fe260, flags=...) at kernel/qeventloop.cpp:201
#13 0x0255bb7e in QThread::exec (this=0xac73fb0) at thread/qthread.cpp:490
#14 0x0263e35b in QInotifyFileSystemWatcherEngine::run (this=0xac73fb0) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x0255edf9 in QThreadPrivate::start (arg=0xac73fb0) at thread/qthread_unix.cpp:266
#16 0x00523cc9 in start_thread () from /lib/libpthread.so.0
#17 0x0687f69e in clone () from /lib/libc.so.6

Thread 5 (Thread 0xa2a8db70 (LWP 7493)):
#0  0x00815416 in __kernel_vsyscall ()
#1  0x06870df6 in poll () from /lib/libc.so.6
#2  0x06af5a1b in g_poll () from /lib/libglib-2.0.so.0
#3  0x06ae843c in ?? () from /lib/libglib-2.0.so.0
#4  0x06ae8848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x0268f59f in QEventDispatcherGlib::processEvents (this=0xb05d598, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#6  0x0265f609 in QEventLoop::processEvents (this=0xa2a8d260, flags=) at kernel/qeventloop.cpp:149
#7  0x0265fa8a in QEventLoop::exec (this=0xa2a8d260, flags=...) at kernel/qeventloop.cpp:201
#8  0x0255bb7e in QThread::exec (this=0xb05c3f0) at thread/qthread.cpp:490
#9  0x0263e35b in QInotifyFileSystemWatcherEngine::run (this=0xb05c3f0) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x0255edf9 in QThreadPrivate::start (arg=0xb05c3f0) at thread/qthread_unix.cpp:266
#11 0x00523cc9 in start_thread () from /lib/libpthread.so.0
#12 0x0687f69e in clone () from /lib/libc.so.6

Thread 4 (Thread 0xa0a89b70 (LWP 7548)):
#0  0x016d6e36 in clock_gettime () from /lib/librt.so.1
#1  0x025ba50b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x026916e5 in QTimerInfoList::updateCurrentTime (this=0xa0dd22cc) at kernel/qeventdispatcher_unix.cpp:339
#4  0x0269172a in QTimerInfoList::timerWait (this=0xa0dd22cc, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x0268f7a8 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xa0a8908c) at kernel/qeventdispatcher_glib.cpp:136
#6  0x0268f83d in timerSourcePrepare (source=0x0, timeout=0x16daff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x06ae7e6a in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x06ae8279 in ?? () from /lib/libglib-2.0.so.0
#9  0x06ae8848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x0268f59f in QEventDispatcherGlib::processEvents (this=0xa5cb258, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x0265f609 in QEventLoop::processEvents (this=0xa0a89260, flags=) at kernel/qeventloop.cpp:149
#12 0x0265fa8a in QEventLoop::exec (this=0xa0a89260, flags=...) at kernel/qeventloop.cpp:201
#13 0x0255bb7e in QThread::exec (this=0xa5cae60) at thread/qthread.cpp:490
#14 0x0263e35b in QInotifyFileSystemWatcherEngine::run (this=0xa5cae60) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x0255edf9 in QThreadPrivate::start (arg=0xa5cae60) at thread/qthread_unix.cpp:266
#16 0x00523cc9 in start_thread () from /lib/libpthread.so.0
#17 0x0687f69e in clone () from /lib/libc.so.6

Thread 3 (Thread 0x9ce30b70 (LWP 7555)):
[KCrash Handler]
#7  0x068c33bb in ?? () from /lib/libc.so.6
#8  0x025d8da8 in QBuffer::readData (this=0x9ce2fda8, data=0x9bf22f48 "\377\330\377\340", len=16384) at /usr/include/bits/string3.h:52
#9  0x025f195d in QIODevice::read (this=0x9ce2fda8, data=0x9ce2faad "x\016\003\330\372\342\234", maxSize=3) at io/qiodevice.cpp:826
#10 0x03c17de5 in DDSHandler::canRead (device=0x9ce2fda8) at ../../kimgio/dds.cpp:1018
#11 0x03c17fc3 in DDSPlugin::capabilities (this=0xa4f7a60, device=0x9ce2fda8, format=...) at ../../kimgio/dds.cpp:1062
#12 0x030e8427 in createReadHandlerHelper (device=<value optimized out>, format=<value optimized out>, autoDetectImageFormat=true, ignoresFormatAndExtension=false) at image/qimagereader.cpp:393
#13 0x030e9d51 in QImageReaderPrivate::initHandler (this=0x9bf22678) at image/qimagereader.cpp:618
#14 0x030eb5f0 in QImageReader::read (this=0x9ce2fdb0, image=0x9ce2fd54) at image/qimagereader.cpp:1185
#15 0x030eb877 in QImageReader::read (this=0x9ce2fdb0) at image/qimagereader.cpp:1155
#16 0x030d5d98 in QImage::fromData (data=0x9bbd1618 "\377\330\377\340", size=16384, format=0x0) at image/qimage.cpp:5032
#17 0x030d9eaa in QImage::loadFromData (this=0x9ce30038, data=0x9bbd1618 "\377\330\377\340", len=16384, format=0x0) at image/qimage.cpp:4990
#18 0x0815b4d9 in _start ()

Thread 2 (Thread 0x9f6ffb70 (LWP 7556)):
#0  0x00815416 in __kernel_vsyscall ()
#1  0x005284dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x0255f9c7 in wait (this=0xce2cce0, mutex=0xce2ccdc, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#3  QWaitCondition::wait (this=0xce2cce0, mutex=0xce2ccdc, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#4  0x08128461 in _start ()

Thread 1 (Thread 0xb658d740 (LWP 7469)):
#0  0x00815416 in __kernel_vsyscall ()
#1  0x06870df6 in poll () from /lib/libc.so.6
#2  0x015c6d90 in ?? () from /usr/lib/libxcb.so.1
#3  0x015c731b in ?? () from /usr/lib/libxcb.so.1
#4  0x015c76b7 in xcb_writev () from /usr/lib/libxcb.so.1
#5  0x0a27fdec in _XSend () from /usr/lib/libX11.so.6
#6  0x0a26c145 in ?? () from /usr/lib/libX11.so.6
#7  0x0a26c34c in XPutImage () from /usr/lib/libX11.so.6
#8  0x03113419 in QX11PixmapData::fromImage (this=0xd479c30, img=..., flags=...) at image/qpixmap_x11.cpp:1124
#9  0x030fc82c in QPixmap::fromImage (image=..., flags=...) at image/qpixmap.cpp:2031
#10 0x0812e437 in _start ()

Reported using DrKonqi
Comment 1 caulier.gilles 2011-06-22 13:59:12 UTC
I crash into DSS plugin from KIMageIO:

#11 0x03c17fc3 in DDSPlugin::capabilities (this=0xa4f7a60, device=0x9ce2fda8,
format=...) at ../../kimgio/dds.cpp:1062

Gilles Caulier
Comment 2 Christoph Feck 2011-06-22 15:36:57 UTC
Can you attach the DDS file that causes the crash?
Comment 3 rfl 2011-06-22 15:42:22 UTC
What is a DDS file, and where (or how) do I find it?
Comment 4 Christoph Feck 2011-06-22 15:50:09 UTC
Gilles, where in digiKam is the code for thread #3? Looking at the backtrace, the problem isn't in the DDS loader, but in the passed QBuffer.
Comment 5 Christoph Feck 2011-06-22 15:53:57 UTC
Bug 272491 also suggests there is a bug in ICO loader, but it crashes at the same place inside QBuffer. Additionally, bug 272491 comment #3 says there is a similar crash in GIF loader (backtrace?).

I very much doubt that suddenly all such loaders are buggy, and I am pretty sure the bug is in digiKam where the QBuffer is setup.
Comment 6 caulier.gilles 2011-06-22 17:18:16 UTC
Christoph,

This crash come from digiKam camera interface. I suspect that Iphone store video or audio files. DigiKam delegate this type mime to KDE image IO to diplay thumbs in icon view.

the code relevant is there :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/cameragui/main/cameraui.cpp#L1326

As you can see in this function, and in relevant slots connected to KIO::filePreview job, there is no QBuffer instance here...

Gilles Caulier
Comment 7 caulier.gilles 2011-06-22 17:19:55 UTC
To Rfl,

Please try to use last digiKam stable 1.9.0

Gilles Caulier
Comment 8 Christoph Feck 2011-06-22 19:40:58 UTC
Okey, checked the code in gpcamera.cpp and it only uses loadFromData() without using any QBuffer or QByteArray. Possibly the data pointer returned by gphoto is bogus. If not, it would be a Qt bug.

In either case, nothing we can do in kdelibs.

If F-Spot crashes, too, I guess it really is a gphoto bug. It looks a bit suspicious that the file size is exactly 16384 bytes big. If you can identify the file which causes the crash, please attach it to the gphoto bug report. You probably need to mount the camera device so that it is accessible via the file system.
Comment 9 Christoph Feck 2011-06-22 19:41:35 UTC
*** Bug 272491 has been marked as a duplicate of this bug. ***
Comment 10 rfl 2011-06-23 14:50:40 UTC
Created attachment 61274 [details]
New crash information added by DrKonqi

digikam (1.4.0) on KDE Platform 4.5.5 (KDE 4.5.5) using Qt 4.7.0

- What I was doing when the application crashed:
I was loading the thumbnails from the iphone (importing photos). 
However previously I could load all the thumbnails completely witout problem. 

It crashes on different photos each time, so apparently its not related to a particular photo.

-- Backtrace (Reduced):
#8  0x09010da8 in QBuffer::readData (this=0xa23feda8, data=0x9dfc6458 "\377\330\377\340", len=16384) at /usr/include/bits/string3.h:52
#9  0x0902995d in QIODevice::read (this=0xa23feda8, data=0xa23feaad "\330?\004\330\352?\242", maxSize=3) at io/qiodevice.cpp:826
#10 0x03a80de5 in DDSHandler::canRead (device=0xa23feda8) at ../../kimgio/dds.cpp:1018
#11 0x03a80fc3 in DDSPlugin::capabilities (this=0xa18f9b0, device=0xa23feda8, format=...) at ../../kimgio/dds.cpp:1062
#12 0x043fe427 in createReadHandlerHelper (device=<value optimized out>, format=<value optimized out>, autoDetectImageFormat=true, ignoresFormatAndExtension=false) at image/qimagereader.cpp:393
Comment 11 rfl 2011-06-23 14:52:44 UTC
As you can see, I did other tests. I hope this can help.
Comment 12 Christoph Feck 2011-08-12 00:01:30 UTC
*** Bug 279909 has been marked as a duplicate of this bug. ***