[KPhotoAlbum] KPA 5.2 crashes after reading new photos

Martin Jost lists at majo.name
Wed Jul 26 20:10:49 BST 2017


Hello,

thanks for the info !

> Am 25.07.2017 um 22:59 schrieb Robert Krawitz:
> On Tue, 25 Jul 2017 21:51:39 +0200, Martin Jost wrote:
>> Hello,
>> 
>> I've compiled KPA 5.2 from sources on OpenSuse 42.2 (64 Bit) But
>> unfortunately it crashes (segmentation fault) after reading in the
>> new images.  (See output on console at the end of the mail)
> 
> I'm running on that combination without any problems.  

Me too - on two out of three machines...

 >
Can you run it
> under gdb to get a stack trace (and preferably compile it as a debug
> build)

What do I need to do, to get this debug-build ?

Without this I've got:
#0  0x000000000055f84a in 
ImageManager::ThumbnailBuilder::scheduleThumbnailBuild(DB::FileNameList 
const&, ImageManager::ThumbnailBuildStart) ()
#1  0x0000000000578ec1 in DB::NewImageFinder::findImages() ()
#2  0x0000000000576c2f in DB::ImageDB::slotRescan() ()
#3  0x0000000000530513 in MainWindow::Window::delayedInit() ()
#4  0x0000000000621afb in 
MainWindow::Window::qt_static_metacall(QObject*, QMetaObject::Call, int, 
void**) ()
#5  0x00007ffff1b7f176 in QObject::event(QEvent*) () at 
/usr/lib64/libQt5Core.so.5
#6  0x00007ffff33b26cb in QWidget::event(QEvent*) () at 
/usr/lib64/libQt5Widgets.so.5
#7  0x00007ffff34c30cb in QMainWindow::event(QEvent*) () at 
/usr/lib64/libQt5Widgets.so.5
#8  0x00007ffff65324f7 in KMainWindow::event(QEvent*) () at 
/usr/lib64/libKF5XmlGui.so.5
#9  0x00007ffff656e865 in KXmlGuiWindow::event(QEvent*) () at 
/usr/lib64/libKF5XmlGui.so.5
#10 0x00007ffff3370e3c in QApplicationPrivate::notify_helper(QObject*, 
QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#11 0x00007ffff337549a in QApplication::notify(QObject*, QEvent*) () at 
/usr/lib64/libQt5Widgets.so.5
#12 0x00007ffff1b53fd5 in QCoreApplication::notifyInternal2(QObject*, 
QEvent*) () at /usr/lib64/libQt5Core.so.5
#13 0x00007ffff1b55dba in 
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) 
() at /usr/lib64/libQt5Core.so.5
#14 0x00007ffff1ba4c93 in  () at /usr/lib64/libQt5Core.so.5
#15 0x00007fffecedd134 in g_main_context_dispatch () at 
/usr/lib64/libglib-2.0.so.0
#16 0x00007fffecedd388 in  () at /usr/lib64/libglib-2.0.so.0
#17 0x00007fffecedd42c in g_main_context_iteration () at 
/usr/lib64/libglib-2.0.so.0
#18 0x00007ffff1ba431c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 
() at /usr/lib64/libQt5Core.so.5
#19 0x00007ffff1b51feb in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at 
/usr/lib64/libQt5Core.so.5
#20 0x00007ffff3561f3c in QDialog::exec() () at 
/usr/lib64/libQt5Widgets.so.5
#21 0x00007ffff529bfd7 in KMessageBox::createKMessageBox(QDialog*, 
QDialogButtonBox*, QIcon const&, QString const&, QStringList const&, 
QString const&, bool*, QFlags<KMessageBox::Option>, QString const&, 
QMessageBox::Icon) () at /usr/lib64/libKF5WidgetsAddons.so.5
#22 0x00007ffff529c794 in KMessageBox::createKMessageBox(QDialog*, 
QDialogButtonBox*, QMessageBox::Icon, QString const&, QStringList 
const&, QString const&, bool*, QFlags<KMessageBox::Option>, QString 
const&) () at /usr/lib64/libKF5WidgetsAddons.so.5
#23 0x00007ffff52a0155 in  () at /usr/lib64/libKF5WidgetsAddons.so.5
#24 0x00007ffff52a0331 in KMessageBox::information(QWidget*, QString 
const&, QString const&, QString const&, QFlags<KMessageBox::Option>) ()
     at /usr/lib64/libKF5WidgetsAddons.so.5
#25 0x000000000053f3de in MainWindow::Window::checkIfMplayerIsInstalled() ()
#26 0x000000000053009e in MainWindow::Window::Window(QWidget*) ()
#27 0x0000000000467dd8 in main ()

So scheduleThumbnailBuild() is the culprit ?
Any ideas ?
Where are the thumbnails stored ? Can I delete them, to start over ?
(Or won't this help, because it's just the scheduling, which already 
crashes ?)

>> During compile I had got:
>> ...
>> [100%] Linking CXX executable kphotoalbum
>> /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: warning: libjpeg.so.8, needed by /usr/lib64/libQt5WebKit.so.5, may conflict with libjpeg.so.62
>> [100%] Built target kphotoalbum
>> 
>> So I uninstalled the RPM for libjpeg.so.62 (keeping the .8).  When I
>> relinked, I didn't get the warning. I installed this one for the
>> test - same behaviour: crashes.
> 
> Do you have libjpeg62-devel installed?  If so, you may want to
> uninstall it (and just keep libjpeg8-devel).  These are the
> jpeg-related packages I have installed:

Yes, it had been installed. But yast/rpm had been smart enough to remove 
it as well, when I deinstalled the lib itself. So the second link was 
without it. And for KPA 5.1 the complete 
configure/compile/link/install/run was without it - still the crash.


> $ rpm -qa |grep -i jpeg |sort
> jpegoptim-1.4.4-1.1.x86_64
> libjpeg-turbo-1.5.1-106.1.x86_64
> libjpeg62-62.2.0-106.1.x86_64
> libjpeg62-turbo-1.5.1-106.1.x86_64
> libjpeg8-32bit-8.0.2-33.1.x86_64
> libjpeg8-8.1.2-106.1.x86_64
> libjpeg8-devel-8.1.2-106.1.x86_64
> libjpegxr0-1.1-4.36.x86_64
> libmjpegutils-2_0-0-2.0.0-18.3.x86_64
> libopenjpeg1-1.5.2-48.1.x86_64
> libturbojpeg0-8.1.2-106.1.x86_64
> mjpegtools-2.0.0-18.3.x86_64
> openjpeg-1.5.2-48.1.x86_64
> openjpeg-devel-1.5.2-48.1.x86_64
> openjpeg2-2.1.2-32.2.x86_64
> openjpeg2-devel-2.1.2-32.2.x86_64

Here is mine:
tonne:/usr/local/bin> rpm -qa |grep -i jpeg |sort
libjpeg8-32bit-8.0.2-33.1.x86_64
libjpeg8-8.0.2-33.1.x86_64
libjpeg8-devel-8.0.2-32.18.x86_64
libjpeg-turbo-1.3.1-33.1.x86_64
libmjpegutils-2_0-0-2.0.0-16.5.x86_64
libopenjpeg1-1.5.2-6.1.x86_64
libturbojpeg0-8.0.2-33.1.x86_64
mjpegtools-2.0.0-16.5.x86_64


Hmmm, interesting discovery:
By pure chance just now I cancelled the reading of the new images on KPA 
5.1 (pressing the cancel-button on the dialog).
Now KPA came up as expected and had been usable.
Note that a test with a (very small) part of the images present in this 
index.xml but no index.xml, made KPA crash in the same way.
So it seems that reading images per se is causing a problem, not the 
specific images.

Next try:
I brought my GIT verswion up to date (git pull) and build that one from 
scratch - same behaviour - unfortunately.
#0  0x000000000056790c in 
ImageManager::ThumbnailBuilder::scheduleThumbnailBuild(DB::FileNameList 
const&, ImageManager::ThumbnailBuildStart) ()
#1  0x00000000005819a5 in DB::NewImageFinder::findImages() ()
#2  0x000000000057f561 in DB::ImageDB::slotRescan() ()
#3  0x0000000000538150 in MainWindow::Window::delayedInit() ()
#4  0x000000000062eb4f in 
MainWindow::Window::qt_static_metacall(QObject*, QMetaObject::Call, int, 
void**) ()
#5  0x00007ffff1b7f176 in QObject::event(QEvent*) () at 
/usr/lib64/libQt5Core.so.5
#6  0x00007ffff33b26cb in QWidget::event(QEvent*) () at 
/usr/lib64/libQt5Widgets.so.5
#7  0x00007ffff34c30cb in QMainWindow::event(QEvent*) () at 
/usr/lib64/libQt5Widgets.so.5
#8  0x00007ffff65324f7 in KMainWindow::event(QEvent*) () at 
/usr/lib64/libKF5XmlGui.so.5
#9  0x00007ffff656e865 in KXmlGuiWindow::event(QEvent*) () at 
/usr/lib64/libKF5XmlGui.so.5
#10 0x00007ffff3370e3c in QApplicationPrivate::notify_helper(QObject*, 
QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#11 0x00007ffff337549a in QApplication::notify(QObject*, QEvent*) () at 
/usr/lib64/libQt5Widgets.so.5
#12 0x00007ffff1b53fd5 in QCoreApplication::notifyInternal2(QObject*, 
QEvent*) () at /usr/lib64/libQt5Core.so.5
#13 0x00007ffff1b55dba in 
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) 
() at /usr/lib64/libQt5Core.so.5
#14 0x00007ffff1ba4c93 in  () at /usr/lib64/libQt5Core.so.5
#15 0x00007fffecedd134 in g_main_context_dispatch () at 
/usr/lib64/libglib-2.0.so.0
#16 0x00007fffecedd388 in  () at /usr/lib64/libglib-2.0.so.0
#17 0x00007fffecedd42c in g_main_context_iteration () at 
/usr/lib64/libglib-2.0.so.0
#18 0x00007ffff1ba431c in 
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 
() at /usr/lib64/libQt5Core.so.5
#19 0x00007ffff1b51feb in 
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at 
/usr/lib64/libQt5Core.so.5
#20 0x00007ffff3561f3c in QDialog::exec() () at 
/usr/lib64/libQt5Widgets.so.5
#21 0x00007ffff529bfd7 in KMessageBox::createKMessageBox(QDialog*, 
QDialogButtonBox*, QIcon const&, QString const&, QStringList const&, 
QString const&, bool*, QFlags<KMessageBox::Option>, QString const&, 
QMessageBox::Icon) () at /usr/lib64/libKF5WidgetsAddons.so.5
#22 0x00007ffff529c794 in KMessageBox::createKMessageBox(QDialog*, 
QDialogButtonBox*, QMessageBox::Icon, QString const&, QStringList 
const&, QString const&, bool*, QFlags<KMessageBox::Option>, QString 
const&) () at /usr/lib64/libKF5WidgetsAddons.so.5
#23 0x00007ffff52a0155 in  () at /usr/lib64/libKF5WidgetsAddons.so.5
#24 0x00007ffff52a0331 in KMessageBox::information(QWidget*, QString 
const&, QString const&, QString const&, QFlags<KMessageBox::Option>) ()
     at /usr/lib64/libKF5WidgetsAddons.so.5
#25 0x000000000054701a in MainWindow::Window::checkIfMplayerIsInstalled() ()
#26 0x0000000000537cba in MainWindow::Window::Window(QWidget*) ()
#27 0x0000000000468fd8 in main ()
(gdb)

Any further ideas for me ?

Regards

Martin



More information about the Kphotoalbum mailing list