[KPhotoAlbum] 3.1.1 crashes on reading in new photos

Reimar Imhof Reimar.Imhof at netcologne.de
Fri May 9 21:53:07 BST 2008


Hi Martin,

I've build my own rpm on suse 10.2 64bit.
But I didn't try suse 10.3...

I took the original suse kphotoalbum-3.0....src.rpm.
I installed it as normal user(!), adjusted the spec file including new version 
number and did a
rpmbuild -ba kphotoalbum.spec.
Then I got my own kphotoalbum-3.1.1-0.1.x86_64.rpm and installed it (as 
root ;-) )

There is one strange thing I put in the spec file.
I don't understand why it's nessecerry but it's working:
...
%build
. /etc/opt/kde3/common_options
# das folgende export .... -ljpeg scheint noetig zu sein...
export CXXFLAGS=' -ljpeg'
./configure $configkde --disable-final
make %{?jobs:-j %jobs}
...

I hope this could help you!

Reimar


Am Sonntag, 4. Mai 2008 21:01 schrieb Martin Jost:
> 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
>
>
> _______________________________________________
> KPhotoAlbum mailing list
> KPhotoAlbum at kdab.net
> http://mail.kdab.net/mailman/listinfo/kphotoalbum



More information about the Kphotoalbum mailing list