Bug 167026 - crash on startup Directory ImageSubIfd0 not valid
Summary: crash on startup Directory ImageSubIfd0 not valid
Status: RESOLVED WORKSFORME
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Engine (show other bugs)
Version: 0.9.4
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-19 21:38 UTC by Simon Oosthoek
Modified: 2017-08-10 19:46 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 0.9.5


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Oosthoek 2008-07-19 21:38:20 UTC
Version:           0.9.4 (using KDE 3.5.9)
Installed from:    Compiled From Sources
Compiler:          gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7) 
OS:                Linux

I just tried compiling the latest digikam, but I first tried the make_all.sh script for the subversion thingy. So I may have bad library versions installed...

Digikam crashed during startup around here:

digikam: ImagePluginLoader: Loaded plugin ImagePlugin_ChannelMixer
 digikam: ImagePlugin_Charcoal plugin loaded
 digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Charcoal
 digikam: Theme file loaded: /usr/share/apps/digikam/themes/Dessert
 Error: Directory ImageSubIfd0 with 57952 entries considered invalid; not read.
 terminate called after throwing an instance of 'std::length_error'
 what(): basic_string::_S_create
 KCrash: Application 'digikam' crashing...
[1]+ Exit 253 digikam

This was the same with the svn and sourceforge 0.9.4 tarball...

I tried again with full debug on and the backtrace is here:

[Thread debugging using libthread_db enabled]
[New Thread 0xb58a26c0 (LWP 26534)]
[KCrash handler]
#6  0xb7f8f410 in __kernel_vsyscall ()
#7  0xb5905085 in raise () from /lib/tls/i686/cmov/libc.so.6
#8  0xb5906a01 in abort () from /lib/tls/i686/cmov/libc.so.6
#9  0xb5b09480 in __gnu_cxx::__verbose_terminate_handler ()
   from /usr/lib/libstdc++.so.6
#10 0xb5b06d05 in ?? () from /usr/lib/libstdc++.so.6
#11 0xb5b06d42 in std::terminate () from /usr/lib/libstdc++.so.6
#12 0xb5b06e6a in __cxa_throw () from /usr/lib/libstdc++.so.6
#13 0xb5a9d1bf in std::__throw_length_error () from /usr/lib/libstdc++.so.6
#14 0xb5ae1777 in std::string::_Rep::_S_create () from /usr/lib/libstdc++.so.6
#15 0xb5ae2368 in std::string::_Rep::_M_clone () from /usr/lib/libstdc++.so.6
#16 0xb5ae2e8e in std::string::assign () from /usr/lib/libstdc++.so.6
#17 0xb7378808 in KExiv2Iface::KExiv2::load () from /usr/lib/libkexiv2.so.5
#18 0xb7d9daae in Digikam::DMetadata::load (this=0xbfdd5704,
    filePath=@0xbfdd571c) at dmetadata.cpp:65
#19 0xb7d9dbf7 in DMetadata (this=0xbfdd5704, filePath=@0xbfdd571c)
    at dmetadata.cpp:53
#20 0xb7dace1a in Digikam::ImagePropertiesMetaDataTab::setCurrentURL (
    this=0x82184f8, url=@0x8215740) at imagepropertiesmetadatatab.cpp:167
#21 0xb7da8a93 in Digikam::ImagePropertiesSideBarDB::slotChangedTab (
    this=0x8215680, tab=0x82184f8) at imagepropertiessidebardb.cpp:268
#22 0xb7da8f66 in Digikam::ImagePropertiesSideBarDB::itemChanged (
    this=0x8215680, infos=@0xbfdd5894, rect=@0xbfdd58b4, img=0x0)
    at imagepropertiessidebardb.cpp:178
#23 0xb7da9061 in Digikam::ImagePropertiesSideBarDB::itemChanged (
    this=0x8215680, infos=@0xbfdd58f0) at imagepropertiessidebardb.cpp:148
#24 0xb7bcf1b4 in Digikam::DigikamView::slotDispatchImageSelected (
    this=0x814cc60) at digikamview.cpp:1008
#25 0xb7bcfdfb in Digikam::DigikamView::qt_invoke (this=0x814cc60, _id=108,
    _o=0xbfdd59e8) at digikamview.moc:547
#26 0xb61fb704 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#27 0xb61fc1e9 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#28 0xb658d320 in QTimer::timeout () from /usr/lib/libqt-mt.so.3
#29 0xb6222d0e in QTimer::event () from /usr/lib/libqt-mt.so.3
#30 0xb618fc36 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#31 0xb6191a5f in QApplication::notify () from /usr/lib/libqt-mt.so.3
#32 0xb6970672 in KApplication::notify () from /usr/lib/libkdecore.so.4
#33 0xb612028d in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3
#34 0xb6182b19 in QEventLoop::activateTimers () from /usr/lib/libqt-mt.so.3
#35 0xb613564b in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#36 0xb61aaf90 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#37 0xb61aac8e in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#38 0xb61917df in QApplication::exec () from /usr/lib/libqt-mt.so.3
#39 0x0804b4a1 in main (argc=-1208623732, argv=0xbfdd6234) at main.cpp:339


Cheers

Simon
Comment 1 caulier.gilles 2008-07-19 22:56:54 UTC
Not reproductible here. Check if just one Exiv2 is installed in your computer and recompile libkexiv2 + digiKam

Gilles Caulier
Comment 2 Simon Oosthoek 2008-07-20 12:54:10 UTC
Just a quick note, I tried removing the svn libs, reinstalled libkexiv2 0.1.7 and libkdcraw 0.1.4. Still the same. Then I removed my digikam db and photo dir (the symlink, not the actual files ;-) and I didn't get a crash.

So something is wrong with my files/db or with the reading of it...

Any tips/ideas

/Simon
Comment 3 caulier.gilles 2008-07-20 13:38:54 UTC
Which Exiv2 library you have (not libkexiv2)

Gilles Caulier
Comment 4 Simon Oosthoek 2008-07-20 13:42:15 UTC
Gilles, you were right, I found another exiv2 in /usr/local, after removing, recompiling, the crash doesn't happen. (I have a nagging feeling that I've had this before...)

sorry for the misleading bugreport...

/Simon

PS, I now have exiv2 version 0.1.6 (I don't know which version I removed)
Comment 5 caulier.gilles 2008-07-20 13:49:04 UTC
Andreas,

Why using both versions of Exiv2 on the same computer make problems ? There a severals reports in digikam-users mailing list about this problem. The issue is to let only the most recent version on the computer.

What you can recommend here ? Which version can be hosted at the same time ?

Perhaps the problem come from old libkexiv2 which do not include my last changes in private internal class to remove Exiv2 visibility from exported API (look like it's urgent to release a new libkexiv2)

Thanks in advance

Gilles Caulier
Comment 6 Simon Oosthoek 2008-07-20 23:56:03 UTC
Gilles, some small comments on this...

The bug is hard to pinpoint because of the double indirection: digikam crashes, but libkexiv2 has a problem with which exiv2 is installed. (am I right?)

It might be useful to test both the current version(s) of exiv2 and libkexiv2 and print warnings or errors if they are known to cause problems (I don't know how though).

And off-topic; are libkdcraw and/or libkexiv2 compiled for specific versions of kde? I tried to compile darkroom from Cyrille, but I couldn't under my kde3 session and after installing the kde4-devel packages (kubuntu hardy, kde 4.0.5) I still couldn't get it to compile. I still can't even though I recompiled libkdcraw and libkexiv2 under the kde4 account. Please , don't bother to spend time on this bit, unless it is on your path anyway ;-)

Cheers
/Simon
Comment 7 caulier.gilles 2016-06-22 14:33:27 UTC
*** Bug 364635 has been marked as a duplicate of this bug. ***