Digikam 7.2-RC Segfault, no bt

Gilles Caulier caulier.gilles at gmail.com
Wed Feb 24 13:55:07 GMT 2021


Hi,

As I can see you run the AppImage version.

You need to use the heavy debug version of appimage, which include all
debug symbols. Run the bundle in gdb with the debug argument as usual.
Now when it crash you will see a debug backtrace if GDB can capture
this.

Best

Gilles Caulier

Le mer. 24 févr. 2021 à 14:51, Michael Moore <stuporglue at gmail.com> a écrit :
>
> Hello,
>
> I'm running the 7.2-RC appimage on Debian Bullseye, with an external MySQL database. The external MySQL database is hosted on the same machine, and is version 5.6.30-1, installed from the Debian repositories.
>
> I'm doing a lot of face recognition (200,000+ photos) and am getting intermittent crashes. But it seems that there's no backtrace.
>
> I haven't been able to nail down a specific workflow that is guaranteed to generate a crash yet.
>
> Tasks I'm usually doing when it crashes are: Running "Recognize Faces", Selecting images in the People pages, Accepting or Rejecting selections. Crashes usually happen when there are many tasks in the Active Process list.
>
> For example, if I have selected 100-300 images and click "Confirm that the selected person is shown here", it sometimes crashes while processing them. Or sometimes it crashes when running Recognize Faces. Or when switching to a Person tag with many (1000s) of images.
>
> I have Digikam writing tags to sidecar files.
>
> I ran it inside GDB this last time, and the final few lines were
>
>
> Digikam::ItemQueryBuilder::buildQueryFromXml: " ( ( (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id FROM TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) OR ( (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id FROM TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) OR ( (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id FROM TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) OR ( (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id FROM TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) ) "
> Digikam::ItemLister::listImageTagPropertySearch: Search query:
>  "SELECT DISTINCT Images.id, Images.name, Images.album,        Albums.albumRoot,        ImageInformation.rating, Images.category,        ImageInformation.format, ImageInformation.creationDate,        Images.modificationDate, Images.fileSize,        ImageInformation.width,  ImageInformation.height,        ImageTagProperties.value, ImageTagProperties.property, ImageTagProperties.tagid  FROM Images        INNER JOIN ImageTagProperties ON ImageTagProperties.imageid=Images.id        LEFT JOIN ImageInformation ON Images.id=ImageInformation.imageid        INNER JOIN Albums           ON Albums.id=Images.album WHERE Images.status=1 AND (  ( ( (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id FROM TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) OR ( (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id FROM TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) OR ( (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id FROM TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) OR ( (ImageTagProperties.tagid=? OR ImageTagProperties.tagid IN (SELECT id FROM TagsTree WHERE pid=?)) AND ImageTagProperties.property=?  ) )  );"
>  (QVariant(int, 160), QVariant(int, 160), QVariant(QString, "autodetectedPerson"), QVariant(int, 160), QVariant(int, 160), QVariant(QString, "autodetectedFace"), QVariant(int, 160), QVariant(int, 160), QVariant(QString, "ignoredFace"), QVariant(int, 160), QVariant(int, 160), QVariant(QString, "tagRegion"))
> Digikam::ItemLister::listImageTagPropertySearch: Search result: 3
> Digikam::ActionThreadBase::cancel: Cancel Main Thread
> Digikam::ActionThreadBase::slotJobFinished: One job is done
> Digikam::ActionThreadBase::cancel: Cancel Main Thread
> Digikam::ActionThreadBase::setMaximumNumberOfThreads: Using  4  CPU core to run threads
> Digikam::ActionThreadBase::run: Action Thread run  1  new jobs
> Digikam::ItemMarkerTiler::slotSourceModelReset: ----
> Digikam::ActionThreadBase::slotJobFinished: One job is done
> Digikam::ActionThreadBase::cancel: Cancel Main Thread
> /tmp/.mount_digika6BSWUo/AppRun: line 166: 840681 Segmentation fault      digikam $@
> [Inferior 1 (process 840666) exited with code 0213]
> (gdb) bt
> No stack.
> (gdb)
>
> Is there anything else I can do to try to provide something useful in a bug report? Right now it seems far too vague to be helpful in tracking down the problem.
>
>
> Thanks,
> Michael Moore


More information about the Digikam-devel mailing list