[KPhotoAlbum] 3.1.1 crashes on reading in new photos
Martin Jost
lists at majo.name
Sun May 4 20:01:08 BST 2008
Martin Jost schrieb:
> I have 3.1.1 crashing on reading in new photos.
> (see backtrace below)
> This doesn't happen, if I move my photos taken in 2008 away, before
> starting KPA. (So one of these is triggering the bug, while the rest of
> 7881 photos don't trigger it - or just the fact, that it is parsing
> *new* photos, as opposed to the ones already seen by KPA)
>
> Seems to be a exiv2 problem. Any recommendations on this ?
> I have:
> > exiv2 -V
> exiv2 0.15
>
>
> [?1034hUsing host libthread_db library "/lib64/libthread_db.so.1".
> [Thread debugging using libthread_db enabled]
> [New Thread 0x2b89dc2ae4b0 (LWP 4167)]
> [KCrash handler]
> #5 0x00002b89dbfde340 in memcpy () from /lib64/libc.so.6
> #6 0x00002b89d501852b in Exiv2::ExifData::operator= ()
> from /usr/lib64/libexiv2.so.0
> #7 0x000000000057f5ed in Exif::Info::metadata ()
> #8 0x0000000000533a58 in DB::FileInfo::parseEXIV2 ()
>
Hello,
follow up on my own mail...
I think I found (at least part of) the culprit, but I'm not sure about
how to clean up.
Background:
I recently updated my HW to a 64 Bit system. I also updated my
SuSE-Linux to 10.3, which choose the 64 bit version on update.
OTOH my "old" kphotoalbum-3.1.0 had been compiled on the "old" (32 bit)
system, also all the supporting libs.
In the first step I just copied those over from the 32 bit system. These
just worked as expected.
When I compiled 3.1.1 (on the 64 Bit system) it seems the following
happened:
- The dependencies - among them libexiv2-0.16 - are installed in /pd/foto
(./configure --prefix=/pd/foto)
- I pointed KPA during configure to this:
pd at godot:/pd-sw/foto/kphotoalbum/kphotoalbum-3.1.1> less conf
export PATH=/pd/sqlite2.8.16/bin:$PATH
export CPPFLAGS="-I/pd/foto/include -I/pd/sqlite2.8.16/include"
export LDFLAGS="-L/pd/foto/lib -L/pd/sqlite/2.8.16/lib"
./configure
(BTW: I got a error message during the configure run:
configure: creating ./config.status
wrong input (flag != 4) at admin/conf.change.pl line 117, <> line 1395.
)
- And configure most probably found it:
checking whether support for EXIV2 should be compiled in... yes
checking for exiv2 >= 0.15... yes
checking EXIV2_CFLAGS...
checking EXIV2_LIBS... -lexiv2
- But the resulting executable uses the lib /usr/lib64/libexiv2.so.0,
which is probably too old, probably resulting in the crash:
root at godot:/home/pd/pd-sw/foto/kphotoalbum/kphotoalbum-3.1.1> ldd
./src/kphotoalbum
...
libexiv2.so.0 => /usr/lib64/libexiv2.so.0 (0x00002b76355c1000)
Questions: (All probably slightly off topic.... All info and pointers
welcome)
1. I reconfigured and recompiled both libexiv2 and KPA from scratch
(make distclean, configure, make, make install)
Still I got the "wrong" lib. How can I fix this ? (Besides fiddling
with LD_LIBRARY_PATH and some such)
2.
Fiddling with LD_LIBRARY_PATH unfortunately doesn't seem to fix it:
godot:/pd/foto/lib> echo $LD_LIBRARY_PATH
/pd/foto/lib
godot:/pd/foto/lib> ldd /opt/kde3/bin/kphotoalbum
libexiv2.so.0 => /pd/foto/lib/libexiv2.so.0 (0x00002aefd81e1000)
KPA still crashes:
Überprüfung der Systemkonfiguration beim Start deaktiviert.
[?1034hUsing host libthread_db library "/lib64/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0x2ba61b3f14a0 (LWP 21702)]
[KCrash handler]
#5 0x00002ba61b121340 in memcpy () from /lib64/libc.so.6
#6 0x00002ba61415b12b in Exiv2::ExifData::operator= ()
from /pd/foto/lib/libexiv2.so.0
#7 0x000000000057f5ed in Exif::Info::metadata ()
#8 0x0000000000533a58 in DB::FileInfo::parseEXIV2 ()
#9 0x000000000053a0a7 in DB::FileInfo::FileInfo ()
#10 0x000000000053a1e9 in DB::FileInfo::read ()
#11 0x000000000051b75a in DB::ImageInfo::readExif ()
#12 0x000000000051c1a7 in DB::ImageInfo::ImageInfo ()
#13 0x000000000053b0fc in DB::NewImageFinder::loadExtraFile ()
#14 0x000000000053b678 in DB::NewImageFinder::loadExtraFiles ()
#15 0x000000000053c42e in DB::NewImageFinder::findImages ()
#16 0x0000000000531607 in DB::ImageDB::slotRescan ()
#17 0x0000000000450501 in MainWindow::Window::delayedInit ()
#18 0x00000000004576a8 in MainWindow::Window::qt_invoke ()
#19 0x00002ba617546e9c in QObject::activate_signal ()
from /usr/lib/qt3/lib64/libqt-mt.so.3
#20 0x00002ba61782c482 in QSignal::signal ()
from /usr/lib/qt3/lib64/libqt-mt.so.3
#21 0x00002ba61755f21d in QSignal::activate ()
from /usr/lib/qt3/lib64/libqt-mt.so.3
#22 0x00002ba617565758 in QSingleShotTimer::event ()
from /usr/lib/qt3/lib64/libqt-mt.so.3
#23 0x00002ba6174f070d in QApplication::internalNotify ()
from /usr/lib/qt3/lib64/libqt-mt.so.3
#24 0x00002ba6174f1428 in QApplication::notify ()
from /usr/lib/qt3/lib64/libqt-mt.so.3
#25 0x00002ba6162493dd in KApplication::notify ()
from /opt/kde3/lib64/libkdecore.so.4
#26 0x00002ba6174e6da7 in QEventLoop::activateTimers ()
from /usr/lib/qt3/lib64/libqt-mt.so.3
#27 0x00002ba6174a69e5 in QEventLoop::processEvents ()
from /usr/lib/qt3/lib64/libqt-mt.so.3
#28 0x00002ba617504f83 in QEventLoop::enterLoop ()
from /usr/lib/qt3/lib64/libqt-mt.so.3
#29 0x00002ba617504e32 in QEventLoop::exec ()
from /usr/lib/qt3/lib64/libqt-mt.so.3
#30 0x0000000000448e69 in main ()
3. Is there a way to get the version string of an installed .so-file
(e.g. /usr/lib64/libexiv2.so.0) so I know for sure, which version this is ?
Martin
More information about the Kphotoalbum
mailing list