Bug 175717

Summary: digikam crashes when configure is called
Product: [Applications] digikam Reporter: Michael <m.mickey>
Component: Setup-ColorManagementAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: crash CC: caulier.gilles, marcel.wiesweg
Priority: NOR    
Version: 0.10.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 0.10.0
Sentry Crash Report:
Attachments: Profile #1 causing crash
Profile #2 causing valgrind errors

Description Michael 2008-11-20 23:50:14 UTC
Version:           0.10 latest svn (using KDE 4.1.3)
OS:                Linux
Installed from:    Ubuntu Packages

Me again ;-)

digikam crashes, when I try to call the configure dialog.

greets, mike

(gdb) bt                                            
#0  0x00007fc5e7eb76ec in ?? () from /lib/libc.so.6 
#1  0x00007fc5e7eb9538 in malloc () from /lib/libc.so.6
#2  0x00007fc5f2da07e4 in QString::fromLatin1_helper () from /usr/lib/libQtCore.so.4
#3  0x00000000004617ee in QString (this=0x7ffffb34dc70,                             
    ch=0x7fc5ea328900 "�\230�\201��\224�\201��\220�\201\207�\235�\200��\210\200\200��\220�\201\211�\235�\201\203�\215\220\200�0") at /usr/include/qt4/QtCore/qstring.h:385                            
#4  0x0000000000491bc4 in Digikam::SetupICC::parseProfilesfromDir (this=0x4fb08a0,                 
    files=@0x7ffffb34e0e0) at /src/digikam/graphics/digikam/utilities/setup/setupicc.cpp:639       
#5  0x0000000000492b20 in Digikam::SetupICC::fillCombos (this=0x4fb08a0, path=@0x7ffffb34e280,     
    report=false) at /src/digikam/graphics/digikam/utilities/setup/setupicc.cpp:527                
#6  0x0000000000493c1c in Digikam::SetupICC::readSettings (this=0x4fb08a0, restore=false)          
    at /src/digikam/graphics/digikam/utilities/setup/setupicc.cpp:478                              
#7  0x0000000000499233 in SetupICC (this=0x4fb08a0, parent=0x0, dialog=0x7ffffb34f5d0)
    at /src/digikam/graphics/digikam/utilities/setup/setupicc.cpp:399
#8  0x00000000004b37a2 in Setup (this=0x7ffffb34f5d0, parent=0x25aec10, name=0x0,
    page=Digikam::Setup::LastPageUsed)
    at /src/digikam/graphics/digikam/utilities/setup/setup.cpp:205
#9  0x000000000063638a in Digikam::DigikamApp::setup (this=0x25aec10, iccSetupPage=false)
    at /src/digikam/graphics/digikam/digikam/digikamapp.cpp:1861
#10 0x00000000006364a0 in Digikam::DigikamApp::slotSetup (this=0x25aec10)
    at /src/digikam/graphics/digikam/digikam/digikamapp.cpp:1856
#11 0x0000000000650359 in Digikam::DigikamApp::qt_metacall (this=0x25aec10,
    _c=QMetaObject::InvokeMetaMethod, _id=23, _a=0x7ffffb34f7a0)
    at /src/digikam/graphics/digikam/digikam/digikamapp.moc:192
#12 0x00007fc5f2e5e134 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#13 0x00007fc5ed28df57 in QAction::triggered () from /usr/lib/libQtGui.so.4
#14 0x00007fc5ed28e720 in QAction::activate () from /usr/lib/libQtGui.so.4
#15 0x00007fc5ed6271ad in ?? () from /usr/lib/libQtGui.so.4
#16 0x00007fc5f2585aa1 in KMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.5
#17 0x00007fc5ed2e6329 in QWidget::event () from /usr/lib/libQtGui.so.4
#18 0x00007fc5ed62998b in QMenu::event () from /usr/lib/libQtGui.so.4
#19 0x00007fc5ed293c3d in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#20 0x00007fc5ed29c22a in QApplication::notify () from /usr/lib/libQtGui.so.4
#21 0x00007fc5f24c5fcb in KApplication::notify () from /usr/lib/libkdeui.so.5
#22 0x00007fc5f2e49d61 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#23 0x00007fc5ed29b5c8 in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4
#24 0x00007fc5ed2ffda4 in ?? () from /usr/lib/libQtGui.so.4
#25 0x00007fc5ed2fe607 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#26 0x00007fc5ed3262c4 in ?? () from /usr/lib/libQtGui.so.4
#27 0x00007fc5e77a1d3b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#28 0x00007fc5e77a550d in ?? () from /usr/lib/libglib-2.0.so.0
#29 0x00007fc5e77a56cb in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#30 0x00007fc5f2e7215f in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#31 0x00007fc5ed325a6f in ?? () from /usr/lib/libQtGui.so.4
#32 0x00007fc5f2e48682 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#33 0x00007fc5f2e4880d in QEventLoop::exec () from /usr/lib/libQtCore.so.4
---Type <return> to continue, or q <return> to quit---
#34 0x00007fc5f2e4acbd in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#35 0x000000000068ca0c in main (argc=1, argv=0x7ffffb351768)
    at /src/digikam/graphics/digikam/digikam/main.cpp:180
(gdb) continue
Continuing.
KCrash: Application 'digikam' crashing...
sock_file=/home/m/.kde/socket-ubuntu/kdeinit4__0

Program exited with code 0375.
Comment 1 Andi Clemens 2008-11-22 10:04:04 UTC
Looks like you are reading a ICC profile file with strange encoding... can you post the names of your profile files?

Since you seem to be a German:
Eventuell hast du Umlaute (ä,ö,ü) oder so in diesen Namen?

Normally this shouldn't be a problem, but QString::fromLatin1_helper () seems to have "translating" problems with one of the files.

Andi
Comment 2 Michael 2008-11-23 16:50:47 UTC
Hi

you're right, I'm german, is my English that bad :-(
I've checked my color-profiles... it seems digikam has problems with one (or more) file in the directory, cause I copied only the ones I use to a new directory and now it works fine... 
I leave the bug open, cause for me thats just a workaround...

greets, mike
Comment 3 Andi Clemens 2008-11-23 16:56:05 UTC
No :-)

I just asked because German filenames might contain Umlaute...

Andi
Comment 4 Marcel Wiesweg 2008-12-02 17:31:52 UTC
Can you provide us with the file that you identified as causing the crash?
Comment 5 Michael 2008-12-02 17:57:49 UTC
actually no, since I don't know which one it was...
If I remember correctly I only had the collection of http://digikam3rdparty.free.fr/ICCPROFILES/CameraProfiles/BBP.4.9.5/ in this folder, but it seems they changed the profiles you find there... I mean, if you give me an email adress I could send you all the profiles from my folder...

greets, mike
Comment 6 caulier.gilles 2008-12-03 16:45:05 UTC
Mike, 

Can you start digiKAm from a console and reproduce the crash. Normally, list of ICC profile files parsed by configure dialog are printed to the console. 

Gilles Caulier
Comment 7 Marcel Wiesweg 2008-12-14 21:39:34 UTC
Created attachment 29338 [details]
Profile #1 causing crash
Comment 8 Marcel Wiesweg 2008-12-14 21:40:44 UTC
Created attachment 29339 [details]
Profile #2 causing valgrind errors
Comment 9 Marcel Wiesweg 2008-12-14 21:45:10 UTC
Michael sent me his profiles and I could isolate the two attached profiles that cause valgrind errors and subsequent crashes. Sometimes crashes can occur later or not at all because of memory corruption ("invalid write" in valgrind). valgrind log follows. The method cmsTakeProductDesc causes the problem.
It seems to me this is a lcms problem, dont know if digikam does anything wrong. Gilles?


 Invalid write of size 4
    at 0x547F98A: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
    by 0x4B90C22: KUrlRequester::urlSelected(KUrl const&) (in /usr/lib/libkio.so.5.1.0)
    by 0x4B92A73: KUrlRequester::KUrlRequesterPrivate::_k_slotOpenDialog() (in /usr/lib/libkio.so.5.1.0)
    by 0x4B92EC5: KUrlRequester::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkio.so.5.1.0)
  Address 0x1031f8fc is not stack'd, malloc'd or (recently) free'd

 Conditional jump or move depends on uninitialised value(s)
    at 0x6AFC010: wcsnlen (in /lib/libc-2.8.so)
    by 0x6AFB646: wcsrtombs (in /lib/libc-2.8.so)
    by 0x6AAF08F: wcstombs (in /lib/libc-2.8.so)
    by 0x547F9A0: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)

 Invalid read of size 4
    at 0x6AFC01A: wcsnlen (in /lib/libc-2.8.so)
    by 0x6AFB646: wcsrtombs (in /lib/libc-2.8.so)
    by 0x6AAF08F: wcstombs (in /lib/libc-2.8.so)
    by 0x547F9A0: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
  Address 0x1031f8e0 is 0 bytes after a block of size 32 alloc'd
    at 0x4024D5E: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
    by 0x547E225: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547F940: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
    by 0x4B90C22: KUrlRequester::urlSelected(KUrl const&) (in /usr/lib/libkio.so.5.1.0)

 Invalid read of size 4
    at 0x6AFC029: wcsnlen (in /lib/libc-2.8.so)
    by 0x6AFB646: wcsrtombs (in /lib/libc-2.8.so)
    by 0x6AAF08F: wcstombs (in /lib/libc-2.8.so)
    by 0x547F9A0: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
  Address 0x1031f8e4 is 4 bytes after a block of size 32 alloc'd
    at 0x4024D5E: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
    by 0x547E225: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547F940: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
    by 0x4B90C22: KUrlRequester::urlSelected(KUrl const&) (in /usr/lib/libkio.so.5.1.0)

 Invalid read of size 4
    at 0x6AFC038: wcsnlen (in /lib/libc-2.8.so)
    by 0x6AFB646: wcsrtombs (in /lib/libc-2.8.so)
    by 0x6AAF08F: wcstombs (in /lib/libc-2.8.so)
    by 0x547F9A0: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
  Address 0x1031f8e8 is 8 bytes after a block of size 32 alloc'd
    at 0x4024D5E: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
    by 0x547E225: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547F940: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
    by 0x4B90C22: KUrlRequester::urlSelected(KUrl const&) (in /usr/lib/libkio.so.5.1.0)

 Invalid read of size 4
    at 0x6AFC00A: wcsnlen (in /lib/libc-2.8.so)
    by 0x6AFB646: wcsrtombs (in /lib/libc-2.8.so)
    by 0x6AAF08F: wcstombs (in /lib/libc-2.8.so)
    by 0x547F9A0: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
  Address 0x1031f8ec is 12 bytes after a block of size 32 alloc'd
    at 0x4024D5E: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
    by 0x547E225: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547F940: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
    by 0x4B90C22: KUrlRequester::urlSelected(KUrl const&) (in /usr/lib/libkio.so.5.1.0)

 Conditional jump or move depends on uninitialised value(s)
    at 0x6A9CB04: (within /lib/libc-2.8.so)
    by 0x6AFB6A6: wcsrtombs (in /lib/libc-2.8.so)
    by 0x6AAF08F: wcstombs (in /lib/libc-2.8.so)
    by 0x547F9A0: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)

 Invalid read of size 4
    at 0x6A9CAFF: (within /lib/libc-2.8.so)
    by 0x6AFB6A6: wcsrtombs (in /lib/libc-2.8.so)
    by 0x6AAF08F: wcstombs (in /lib/libc-2.8.so)
    by 0x547F9A0: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
  Address 0x1031f8e0 is 0 bytes after a block of size 32 alloc'd
    at 0x4024D5E: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
    by 0x547E225: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547F940: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
    by 0x4B90C22: KUrlRequester::urlSelected(KUrl const&) (in /usr/lib/libkio.so.5.1.0)

 Invalid write of size 4
    at 0x547F98A: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BB11D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:637)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
    by 0x4B90C22: KUrlRequester::urlSelected(KUrl const&) (in /usr/lib/libkio.so.5.1.0)
    by 0x4B92A73: KUrlRequester::KUrlRequesterPrivate::_k_slotOpenDialog() (in /usr/lib/libkio.so.5.1.0)
    by 0x4B92EC5: KUrlRequester::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkio.so.5.1.0)
  Address 0x8ded4a4 is not stack'd, malloc'd or (recently) free'd





 Conditional jump or move depends on uninitialised value(s)
    at 0x6AFC03D: wcsnlen (in /lib/libc-2.8.so)
    by 0x6AFB646: wcsrtombs (in /lib/libc-2.8.so)
    by 0x6AAF08F: wcstombs (in /lib/libc-2.8.so)
    by 0x547F9A0: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAB5D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:619)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)

 Invalid write of size 4
    at 0x547F98A: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BAE73: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:667)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
    by 0x4B90C22: KUrlRequester::urlSelected(KUrl const&) (in /usr/lib/libkio.so.5.1.0)
    by 0x4B92A73: KUrlRequester::KUrlRequesterPrivate::_k_slotOpenDialog() (in /usr/lib/libkio.so.5.1.0)
    by 0x4B92EC5: KUrlRequester::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkio.so.5.1.0)
  Address 0xc41a00c is not stack'd, malloc'd or (recently) free'd

 Invalid write of size 4
    at 0x547F98A: (within /usr/lib/liblcms.so.1.0.16)
    by 0x547FE82: cmsReadICCText (in /usr/lib/liblcms.so.1.0.16)
    by 0x5480486: cmsTakeProductDesc (in /usr/lib/liblcms.so.1.0.16)
    by 0x80BB68D: Digikam::SetupICC::parseProfilesfromDir(QList<QFileInfo> const&) (setupicc.cpp:674)
    by 0x80BE0F3: Digikam::SetupICC::fillCombos(QString const&, bool) (setupicc.cpp:525)
    by 0x80BEAFF: Digikam::SetupICC::slotFillCombos(KUrl const&) (setupicc.cpp:486)
    by 0x80BF761: Digikam::SetupICC::qt_metacall(QMetaObject::Call, int, void**) (setupicc.moc:80)
    by 0x4EE673F: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3031)
    by 0x4EE74C1: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3101)
    by 0x4B90C22: KUrlRequester::urlSelected(KUrl const&) (in /usr/lib/libkio.so.5.1.0)
    by 0x4B92A73: KUrlRequester::KUrlRequesterPrivate::_k_slotOpenDialog() (in /usr/lib/libkio.so.5.1.0)
    by 0x4B92EC5: KUrlRequester::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkio.so.5.1.0)
  Address 0x1396948c is not stack'd, malloc'd or (recently) free'd
Comment 10 caulier.gilles 2008-12-15 11:53:27 UTC
Marcel,

It sound definitively a problem in liblcms where crash appears. Sound like something in ICC profile text metadata is badly interpreted by liblcms.

For me this report must be moved to liblcms bugzilla. We cannot do anything here.

Gilles
Comment 11 Marcel Wiesweg 2008-12-23 14:59:08 UTC
As this is most likely a bug in lcms, we cannot do anything about that.
Remove the two profiles from your directory.
Maybe they can be sent to the littlecms mailing list at https://lists.sourceforge.net/lists/listinfo/lcms-user . I did not find any bug reports form.
Marking as UPSTREAM.