Bug 271047

Summary: digiKam Crashes on Imports from PTP Device (iPhone)
Product: [Applications] digikam Reporter: onigino <onigino>
Component: Import-Gphoto2Assignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles, onigino, silencemessiah, veaceslav.munteanu90
Priority: NOR    
Version: 1.9.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 7.6.0
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description onigino 2011-04-15 18:10:11 UTC
Application: digikam (1.9.0)
KDE Platform Version: 4.6.2 (4.6.2) (Compiled from sources)
Qt Version: 4.7.0
Operating System: Linux 2.6.38.2custom x86_64
Distribution (Platform): Slackware Packages

-- Information about the crash:
- What I was doing when the application crashed:
Attempting to use the Import from Cameras feature...
- Unusual behavior I noticed:
System immidiately crashes when i click on my 3gs phone that is listed there..
- Custom settings of the application:
slackware64 - i built all of kde4.6.2 and digikam from source

The crash can be reproduced every time.

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

Thread 6 (Thread 0x7f4ca9f88700 (LWP 3910)):
#0  0x00007f4cba656b7c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f4cba8ecfab in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt/lib/libQtCore.so.4
#2  0x00000000005f0bfd in ?? ()
#3  0x00007f4cba8ec8be in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#4  0x00007f4cba651d6b in start_thread () from /lib64/libpthread.so.0
#5  0x00007f4cb967f75d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f4ca9787700 (LWP 3911)):
#0  0xffffffffff600137 in ?? ()
#1  0x00007fff85ba66e1 in ?? ()
#2  0x00007f4cb39211ab in clock_gettime () from /lib64/librt.so.1
#3  0x00007f4cba93d85f in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#4  0x00007f4cbaa00c3d in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#5  0x00007f4cbaa00fb5 in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#6  0x00007f4cba9ffa4c in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#7  0x00007f4cba9ffaf5 in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#8  0x00007f4cb92c4da7 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#9  0x00007f4cb92c5cc9 in ?? () from /usr/lib64/libglib-2.0.so.0
#10 0x00007f4cb92c636d in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#11 0x00007f4cbaa00256 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt/lib/libQtCore.so.4
#12 0x00007f4cba9d4562 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt/lib/libQtCore.so.4
#13 0x00007f4cba9d47ac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt/lib/libQtCore.so.4
#14 0x00007f4cba8ea0e4 in QThread::exec() () from /usr/lib64/qt/lib/libQtCore.so.4
#15 0x00007f4cba9b5d48 in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#16 0x00007f4cba8ec8be in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#17 0x00007f4cba651d6b in start_thread () from /lib64/libpthread.so.0
#18 0x00007f4cb967f75d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f4ca8f86700 (LWP 3919)):
#0  0x00007f4cba9ffa94 in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#1  0x00007f4cb92c4da7 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f4cb92c5cc9 in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f4cb92c636d in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f4cbaa00256 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt/lib/libQtCore.so.4
#5  0x00007f4cba9d4562 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt/lib/libQtCore.so.4
#6  0x00007f4cba9d47ac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt/lib/libQtCore.so.4
#7  0x00007f4cba8ea0e4 in QThread::exec() () from /usr/lib64/qt/lib/libQtCore.so.4
#8  0x00007f4cba8ec8be in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#9  0x00007f4cba651d6b in start_thread () from /lib64/libpthread.so.0
#10 0x00007f4cb967f75d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f4ca37ea700 (LWP 3920)):
#0  0xffffffffff600137 in ?? ()
#1  0x00007fff85ba66e1 in ?? ()
#2  0x00007f4cb39211ab in clock_gettime () from /lib64/librt.so.1
#3  0x00007f4cba93d85f in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#4  0x00007f4cbaa00c3d in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#5  0x00007f4cbaa00fb5 in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#6  0x00007f4cba9ffa4c in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#7  0x00007f4cba9ffaf5 in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#8  0x00007f4cb92c4da7 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#9  0x00007f4cb92c5cc9 in ?? () from /usr/lib64/libglib-2.0.so.0
#10 0x00007f4cb92c636d in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#11 0x00007f4cbaa00256 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt/lib/libQtCore.so.4
#12 0x00007f4cba9d4562 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt/lib/libQtCore.so.4
#13 0x00007f4cba9d47ac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt/lib/libQtCore.so.4
#14 0x00007f4cba8ea0e4 in QThread::exec() () from /usr/lib64/qt/lib/libQtCore.so.4
#15 0x00007f4cba8ec8be in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#16 0x00007f4cba651d6b in start_thread () from /lib64/libpthread.so.0
#17 0x00007f4cb967f75d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f4c7525a700 (LWP 3996)):
[KCrash Handler]
#6  0x00007f4cbf0e0491 in tre_free () from /usr/lib64/libdigikamcore.so.1
#7  0x00007f4cbe916966 in gp_port_info_list_lookup_path () from /usr/lib64/libgphoto2_port.so.0
#8  0x0000000000716331 in ?? ()
#9  0x000000000071f37c in ?? ()
#10 0x0000000000728fd9 in ?? ()
#11 0x00007f4cba8ec8be in ?? () from /usr/lib64/qt/lib/libQtCore.so.4
#12 0x00007f4cba651d6b in start_thread () from /lib64/libpthread.so.0
#13 0x00007f4cb967f75d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f4cc1cf37e0 (LWP 3908)):
#0  0x00007f4cba656b7c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f4cba8ecfab in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt/lib/libQtCore.so.4
#2  0x00007f4cba8ec0a0 in QThread::wait(unsigned long) () from /usr/lib64/qt/lib/libQtCore.so.4
#3  0x00007f4cba9a96e0 in QFileSystemWatcher::~QFileSystemWatcher() () from /usr/lib64/qt/lib/libQtCore.so.4
#4  0x00007f4cba9a97b9 in QFileSystemWatcher::~QFileSystemWatcher() () from /usr/lib64/qt/lib/libQtCore.so.4
#5  0x00007f4cba9e7b64 in QObjectPrivate::deleteChildren() () from /usr/lib64/qt/lib/libQtCore.so.4
#6  0x00007f4cba9ec692 in QObject::~QObject() () from /usr/lib64/qt/lib/libQtCore.so.4
#7  0x00007f4cc068f8f9 in ?? () from /usr/lib64/libsolid.so.4
#8  0x00007f4cb95d1971 in exit () from /lib64/libc.so.6
#9  0x00007f4cbb695088 in ?? () from /usr/lib64/qt/lib/libQtGui.so.4
#10 0x00007f4cbc350b08 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib64/libkdeui.so.5
#11 0x00007f4cb7c629fe in _XIOError () from /usr/lib64/libX11.so.6
#12 0x00007f4cb7c602fd in _XEventsQueued () from /usr/lib64/libX11.so.6
#13 0x00007f4cb7c50c6f in XEventsQueued () from /usr/lib64/libX11.so.6
#14 0x00007f4cbb6cd5ec in ?? () from /usr/lib64/qt/lib/libQtGui.so.4
#15 0x00007f4cb92c556c in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#16 0x00007f4cb92c5e52 in ?? () from /usr/lib64/libglib-2.0.so.0
#17 0x00007f4cb92c636d in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#18 0x00007f4cbaa001ff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt/lib/libQtCore.so.4
#19 0x00007f4cbb6cd79e in ?? () from /usr/lib64/qt/lib/libQtGui.so.4
#20 0x00007f4cba9d4562 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt/lib/libQtCore.so.4
#21 0x00007f4cba9d47ac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt/lib/libQtCore.so.4
#22 0x00007f4cba9d8c4b in QCoreApplication::exec() () from /usr/lib64/qt/lib/libQtCore.so.4
#23 0x00000000006343c4 in ?? ()
#24 0x00007f4cb95b8e5d in __libc_start_main () from /lib64/libc.so.6
#25 0x000000000047ddd9 in _start ()

Reported using DrKonqi
Comment 1 caulier.gilles 2011-04-15 19:43:45 UTC
which libgphoto2 you use ? Go to Help/Components Info for details

Gilles Caulier
Comment 2 onigino 2011-04-15 20:25:52 UTC
libgphoto2-2.4.10.1-x86_64-1 is what i have listed in my slackware repo..
should i am running -current branch, should i recompile the source for this library??
Comment 3 onigino 2011-05-19 07:29:14 UTC
umm, is this dead now? gonna try to recompile i guess..
Comment 4 onigino 2011-05-19 12:27:12 UTC
Created attachment 60152 [details]
New crash information added by DrKonqi

digikam (1.9.0) on KDE Platform 4.6.3 (4.6.3) using Qt 4.7.0

- What I was doing when the application crashed:
attempt to import ptp images from iphone
- Unusual behavior I noticed:
consistant crashes from digikam.
also iphone ptp doesn't show up in dolphin.. isn't it supposed to?
- Custom settings of the application:
recompiled from source to double check, same error

-- Backtrace (Reduced):
#6  0x00007fdfc6bf1491 in tre_free () from /usr/lib64/libdigikamcore.so.1
#7  0x00007fdfc6427956 in gp_port_info_list_lookup_path () from /usr/lib64/libgphoto2_port.so.0
[...]
Comment 5 caulier.gilles 2011-05-19 13:15:20 UTC
Crash is in Gphoto driver, under a 64 bits computer.

It miss debug symbols. Please install relevant digiKam debug package and try to get a better backtrace.

Gilles Caulier
Comment 6 onigino 2011-06-02 04:10:00 UTC
*** Bug 274344 has been marked as a duplicate of this bug. ***
Comment 7 onigino 2011-06-08 07:54:41 UTC
OK I did recompile with debug symbols its in  Bug 274344 
please look it over for me!!
PLEASE PLEASE!!
Comment 8 caulier.gilles 2011-06-08 08:51:04 UTC
I recommend to take a look in this file :

https://bugs.kde.org/show_bug.cgi?id=268267

... but only if you use 2.0.0. 1.x is not affected by this issue.

Gilles Caulier
Comment 9 onigino 2011-06-08 20:28:10 UTC
Ohh! I'm 99% positive this is an opencv issue, I've Been having allot
of stability issues with that package.. So.

Thanks again!!

Gino

On Jun 7, 2011, at 11:51 PM, Gilles Caulier <caulier.gilles@gmail.com> wrote:

> https://bugs.kde.org/show_bug.cgi?id=271047
>
>
>
>
>
> --- Comment #8 from Gilles Caulier <caulier gilles gmail com>  2011-06-08 08:51:04 ---
> I recommend to take a look in this file :
>
> https://bugs.kde.org/show_bug.cgi?id=268267
>
> ... but only if you use 2.0.0. 1.x is not affected by this issue.
>
> Gilles Caulier
>
> --
> Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug.
> You reported the bug.
Comment 10 caulier.gilles 2011-07-06 11:09:49 UTC
We need feedback using a recent version. 2.0.0 RC is out, please test...

Thanks in advance

Gilles Caulier
Comment 11 onigino 2011-07-15 02:36:16 UTC
well digikam seems great except I still cannot use the photo import feature

(unrelated?) I also get a DB conversion error on startup.. from 5 - 6...
Comment 12 caulier.gilles 2011-07-15 05:55:30 UTC
do yo u use 2.0.0 RC version instead 1.9.0 ?

Gilles Caulier
Comment 13 caulier.gilles 2011-08-04 13:37:50 UTC
What's news here. Can you test with 2.0.0 ?
Gilles Caulier
Comment 14 Veaceslav Munteanu 2011-09-14 08:36:45 UTC
I confirm this bug in latest 2.2 from git.

it also crash if I try to import from my ipod, or externat hard-drive

my backtrace:

http://pastebin.com/qBzcRby8
Comment 15 Veaceslav Munteanu 2011-09-14 08:48:49 UTC
I don't know i see .mp3 files in preview

+ this backtrace is obtained from terminal using GDB, maybe it's useful.

http://pastebin.com/HhanFiZN
Comment 16 Veaceslav Munteanu 2011-09-14 09:01:45 UTC
sorry, the last backtrace was incomplete.

Here is the good one:

http://pastebin.com/9eL3Pqci
Comment 17 caulier.gilles 2011-09-16 20:35:27 UTC
Copied from your pastebin :

digikam(4628)/digikam (core) Digikam::QImageLoader::load: Can not load " "/media/525505E888563CD5/music/Muzik//The_Morphoders_-_Everybody__Original_Mix__by_www.Muzica123.Org.mp3" " using DImg::QImageLoader!
digikam(4628)/digikam (core) Digikam::CameraThumbsCtrl::procressKDEPreview: Failed thumb from KDE Preview :  KUrl("file:///media/525505E888563CD5/music/Muzik/Usher_feat._Pitbull_-_DJ_Got_Us_Fallin_In_Love_Again__Hyper_Crush_Remix__by_www.Muzica123.Org.mp3")
 
Program received signal SIGSEGV, Segmentation fault.
0xb4e4f93c in QString::endsWith(QString const&, Qt::CaseSensitivity) const ()
   from /usr/lib/libQtCore.so.4
(gdb) bt
#0  0xb4e4f93c in QString::endsWith(QString const&, Qt::CaseSensitivity) const ()
   from /usr/lib/libQtCore.so.4
#1  0x08360753 in Digikam::CameraIconView::findItem (this=0x9ec9b80, folder=...,
    filename=...)
    at /home/slavik/digikam-sc/core/utilities/cameragui/views/cameraiconview.cpp:290
#2  0x08360271 in Digikam::CameraIconView::slotThumbInfoReady (this=0x9ec9b80, info=...)
    at /home/slavik/digikam-sc/core/utilities/cameragui/views/cameraiconview.cpp:229
#3  0x0835fa0e in Digikam::CameraIconView::qt_metacall (this=0x9ec9b80,
    _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0xbfffe588)
    at /home/slavik/digikam-sc/build/core/utilities/cameragui/cameraiconview.moc:145
#4  0xb4f07eed in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) ()
   from /usr/lib/libQtCore.so.4
#5  0xb4f16dda in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
   from /usr/lib/libQtCore.so.4
#6  0x0835455e in Digikam::CameraThumbsCtrl::signalThumbInfoReady (this=0xa5c43c78, _t1=...)
    at /home/slavik/digikam-sc/build/core/utilities/cameragui/camerathumbsctrl.moc:99
#7  0x0835541e in Digikam::CameraThumbsCtrl::procressKDEPreview (this=0xa5c43c78, item=...,
    pix=...)
    at /home/slavik/digikam-sc/core/utilities/cameragui/controller/camerathumbsctrl.cpp:180
Comment 18 caulier.gilles 2011-09-16 20:35:55 UTC
*** Bug 282163 has been marked as a duplicate of this bug. ***
Comment 19 Marcel Wiesweg 2011-09-24 12:14:03 UTC
While the original backtraces here are crashes in gphoto2 (maybe the libdc1394 bug), Veaceslav's is new, different and clearly in digikam code.

The crash happens in QString, so probably the relevant QString is invalid.
Tracing back, the place where a pointer is turned to a reference is in CameraThumbsCtrl::procressKDEPreview:

    const CachedItem* cit = retrieveItemFromCache(item.url());
    putItemToCache(item.url(), cit->first, thumb);
    d->pendingItems.removeAll(item.url());
    emit signalThumbInfoReady(cit->first);

Can we be sure that cit and cit->first are valid?
Comment 20 Marcel Wiesweg 2011-09-24 12:19:23 UTC
Original post is duplicate of libdc1394 problem.

Veaceslav: please continue discussing your reported problem in #282194
I will post my comment there again.

*** This bug has been marked as a duplicate of bug 268267 ***
Comment 21 caulier.gilles 2022-01-28 04:07:54 UTC
Fixed with https://bugs.kde.org/show_bug.cgi?id=268267