[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-12 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #38 from Maik Qualmann  ---
Ok, thanks Simon. I do not want to do another test. I am sure that the cause of
the QHash list is me remaining dead elements that are being read out via access
with iterator. Why the error occurs only or rather with the AppImage, I do not
know. We will use QMap here. There are very few elements in the list, and even
a QMap is faster than a QHash with linear access speed. We will keep an eye on
QHash lists elsewhere as well, in case of strange crashes, e.g. in the album or
tag model. I close the bug first, if necessary open it again.

Maik

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-12 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

Maik Qualmann  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Version Fixed In||6.0.0
  Latest Commit||https://commits.kde.org/dig
   ||ikam/c9e91f787d02a617610459
   ||757f3660cd34e63702

--- Comment #37 from Maik Qualmann  ---
Git commit c9e91f787d02a617610459757f3660cd34e63702 by Maik Qualmann.
Committed on 12/05/2018 at 19:17.
Pushed by mqualmann into branch 'master'.

revert QHash test patch
FIXED-IN: 6.0.0

M  +2-1NEWS
M  +8-24   core/libs/threadimageio/loadingcache.cpp

https://commits.kde.org/digikam/c9e91f787d02a617610459757f3660cd34e63702

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-12 Thread Simon
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #36 from Simon  ---
Created attachment 112595
  --> https://bugs.kde.org/attachment.cgi?id=112595&action=edit
Log&BT with digikam-6.0.0-git-20180511T042604-x86-64.appimage

The same seg fault occurred again, but there were no debug log lines
corresponding to the patch (grep "Cache Key" returned no results). Appimage
version: digikam-6.0.0-git-20180511T042604-x86-64.appimage

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-11 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #35 from caulier.gil...@gmail.com ---
The AppImage bundles are now updated to files.kde.org

Gilles

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-11 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #34 from caulier.gil...@gmail.com ---
Button pressed...

Q : why do you think a difference with QHash in AppImage ?

The only difference is located in OpenCV3 rules to compile : all not used
features are disable :

https://cgit.kde.org/digikam.git/tree/project/bundles/3rdparty/ext_opencv/CMakeLists.txt#n11

Else we use currently Qt 5.9.5 with these options :

https://cgit.kde.org/digikam.git/tree/project/bundles/3rdparty/ext_qt/CMakeLists.txt#n11

Gilles

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-10 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #33 from Maik Qualmann  ---
Gilles, would be nice if you press the button again. Only the AppImage is
needed.

Maik

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-10 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #32 from Maik Qualmann  ---
Git commit 979c7b188435ccd38e5dbd76b492d1e8b5505da0 by Maik Qualmann.
Committed on 10/05/2018 at 18:26.
Pushed by mqualmann into branch 'master'.

QHash test, this commit is for testing purposes only and will be revert

M  +24   -8core/libs/threadimageio/loadingcache.cpp

https://commits.kde.org/digikam/979c7b188435ccd38e5dbd76b492d1e8b5505da0

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-10 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #31 from Maik Qualmann  ---
It may also be that it is more likely with the AppImage. The QHash are "salted"
with a value of a random number generator. Maybe here is something "different"
in the AppImage. I will insert the test in git/master and Gilles presses the
button.

Maik

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-10 Thread Simon
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #30 from Simon  ---
It's currently at 24% - the last times it never exceeded 11% before crashing. I
will leave it running, but chances are that either due to using compiled
version, different dependencies or the debug statements the "racy" segfault
does not occur in the current environment.

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-08 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #29 from Maik Qualmann  ---
GDB is not needed if it crashes, the last lines of the console log are of
interest.

Maik

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-08 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #28 from Maik Qualmann  ---
Created attachment 112512
  --> https://bugs.kde.org/attachment.cgi?id=112512&action=edit
qhashtest.patch

Okay, Simon can you please test this test patch? I expect a crash (: =))

Maik

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-08 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #27 from caulier.gil...@gmail.com ---
Simon,

The dependencies list has been really simplified everywhere.

=> less KF5
=> no libkipi
=> no kipiplugins => in DK core now.

All become step by step more simple.

This is the goal : puzzle simplification

=> access code simplified.
=> code easy to compile.
=> more contributors in the future.
=> better portability.
=> better stability.

All major open source project work like this in time, the other one
disappear... This is the reallity (:=)))...

There is a dependencies list here :

https://cgit.kde.org/digikam.git/tree/DEPENDENCIES

Gilles

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-08 Thread Simon
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #26 from Simon  ---
I just tested whether I can build digikam on debian stable and it was
surprisingly doable (expected dependency hell). So I can run tests based on
patches now, unless the problem is something specific to the appimage. I don't
understand what exactly you need though.

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-08 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #25 from Maik Qualmann  ---
Very interesting, Simon, if you do not mind I would like to do a second test.
If we can actually trace it back to QHash, we also need to reconsider the use
elsewhere where a QString is used as a key. I would once again create a version
with QAssert and check the contents of the QHash list.

Maik

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-08 Thread Simon
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #24 from Simon  ---
I just reran the face detection with
digikam-6.0.0-git-20180507T123919-x86-64.appimage and no segfault occurred,
while with digikam-6.0.0-git-20180430T091500-x86-64.appimage it happened every
time. So from my point of view Maik's change fixed it - thanks!

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-07 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #23 from Maik Qualmann  ---
Git commit fe647204d0bfcd30946f27ebd7bb822a1f6e1cf1 by Maik Qualmann.
Committed on 07/05/2018 at 10:23.
Pushed by mqualmann into branch 'master'.

replace for a crash test QHash with QMap in the LoadingCache

M  +7-7core/libs/threadimageio/loadingcache.cpp

https://commits.kde.org/digikam/fe647204d0bfcd30946f27ebd7bb822a1f6e1cf1

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-05-07 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

Maik Qualmann  changed:

   What|Removed |Added

 CC||freisi...@gmail.com

--- Comment #22 from Maik Qualmann  ---
*** Bug 393935 has been marked as a duplicate of this bug. ***

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-04-02 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #21 from caulier.gil...@gmail.com ---
Maik, 

Today i cleanup the face regions from DB, and run again the process in same
condition, excepted with GDB in background.  Crash is not reproducible...

It sound like a race condition somewhere...

Gilles Caulier

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-04-01 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #20 from caulier.gil...@gmail.com ---
qt bearer thread : http://doc.qt.io/qt-5/bearer-management.html

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-04-01 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #19 from caulier.gil...@gmail.com ---
"Qt http thread" appear when map view is active using googlemaps. It's the
thread used by webkit in background.

webengine (chromium based) has a dedicated process for that, not a thread. It's
more complicated to bundle...

Gilles Caulier

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-04-01 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #18 from caulier.gil...@gmail.com ---
Just for info : in face management code, explicit constructor with 1 arguments
cannot be done, as Krazy report 

core/utilities/facemanagement/facepipeline.h: line# 73,89 (2)

Look my commit :

https://commits.kde.org/digikam/cd8cc908b413cfb028f6e2679fed5632b8f65a98

Gilles

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-04-01 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #17 from caulier.gil...@gmail.com ---
Why a pure virtual method is called ? Why the C++ exception is not caught by
digiKam. The debug trace come from certainly OpenCV.

I use openCV 3.4.0, compiled myself with the minimum required for digiKam.
Configure script is here :

https://cgit.kde.org/digikam.git/tree/project/scripts/bootstrap.opencv-minimal-linux.sh

My Mageia6 system has only OpenCV 2. So i removed all devel packages, but
binary still here as it's used by the system and Plasma desktop especially (i
don't know what exactly).

Gilles

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-04-01 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #16 from caulier.gil...@gmail.com ---
digiKam has crashed finally after one hour :

digikam.metaengine: Loading image history  ""
digikam.metaengine: DateTime => Exif.Photo.DateTimeOriginal => 
QDateTime(2007-10-09 13:52:02.000 CEST Qt::TimeSpec(LocalTime))
digikam.metaengine: Exif color-space tag is sRGB. Using default sRGB ICC
profile.
digikam.metaengine: Orientation => Exif.Image.Orientation =>  1
digikam.dimg: "/mnt/data/photos/GILLES/OLD/Ecole/spectacle
marionettes/hpim0742.jpg"  : JPEG file identified
digikam.metaengine: Loading image history  ""
digikam.facesengine: detectMultiScale: image size  800   602  searchIncrement 
1.1  grouping  3  flags  1  min size  26   26 

digikam.metaengine: DateTime => Exif.Photo.DateTimeOriginal => 
QDateTime(2007-10-09 13:53:01.000 CEST Qt::TimeSpec(LocalTime))
digikam.facesengine: detectMultiScale gave  ()
digikam.general: Found 0 faces in "hpim0735.jpg" QSize(992, 752) QSize(992,
752)
digikam.general: Check for finish:  22 packages, 0 infos to filter,
hasFinished() false
digikam.metaengine: Exif color-space tag is sRGB. Using default sRGB ICC
profile.
digikam.facesengine: detectMultiScale: image size  800   602  searchIncrement 
1.1  grouping  3  flags  1  min size  26   26 

digikam.facesengine: detectMultiScale gave  (QRect(433,222 33x33))
digikam.facesengine: Verifying face  QRect(433,222 33x33)  using cascade  0
digikam.facesengine: detectMultiScale: image size  99   99  searchIncrement 
1.1  grouping  3  flags  0  min size  20   20 

digikam.facesengine: detectMultiScale gave  ()
digikam.facesengine: Verifying face  QRect(433,222 33x33)  using cascade  1
digikam.facesengine: detectMultiScale: image size  99   99  searchIncrement 
1.1  grouping  3  flags  0  min size  20   20 

digikam.facesengine: detectMultiScale gave  (QRect(36,34 28x28))
digikam.facesengine: Verifying face  QRect(433,222 33x33)  using cascade  2
digikam.facesengine: Verifying face  QRect(433,222 33x33)  using cascade  3
digikam.facesengine: detectMultiScale: image size  99   99  searchIncrement 
1.1  grouping  3  flags  0  min size  20   20 

digikam.facesengine: detectMultiScale gave  ()
digikam.facesengine: Verifying face  QRect(433,222 33x33)  using cascade  4
digikam.facesengine: detectMultiScale: image size  99   99  searchIncrement 
1.1  grouping  3  flags  0  min size  20   20 

digikam.facesengine: detectMultiScale gave  ()
digikam.facesengine: Verifying face  QRect(433,222 33x33)  using cascade  5
digikam.facesengine: feature  QRectF(0,0 0.6x0.6) QRect(433,222 33x33)
QRect(433,222 20x20)
digikam.facesengine: detectMultiScale: image size  20   20  searchIncrement 
1.1  grouping  2  flags  0  min size  3   3 

digikam.facesengine: detectMultiScale gave  ()
digikam.facesengine: Verifying face  QRect(433,222 33x33)  using cascade  6
digikam.facesengine: feature  QRectF(0.4,0 0.6x0.6) QRect(433,222 33x33)
QRect(446,222 20x20)
digikam.facesengine: detectMultiScale: image size  20   20  searchIncrement 
1.1  grouping  2  flags  0  min size  3   3 

digikam.facesengine: detectMultiScale gave  ()
digikam.facesengine: Verifying face  QRect(433,222 33x33)  using cascade  7
digikam.facesengine: feature  QRectF(0.2,0.25 0.6x0.6) QRect(433,222 33x33)
QRect(440,230 20x20)
digikam.facesengine: detectMultiScale: image size  20   20  searchIncrement 
1.1  grouping  2  flags  0  min size  3   3 

digikam.facesengine: detectMultiScale gave  ()
digikam.facesengine: Verifying face  QRect(433,222 33x33)  using cascade  8
digikam.facesengine: feature  QRectF(0.1,0.4 0.8x0.6) QRect(433,222 33x33)
QRect(436,235 26x20)
digikam.facesengine: detectMultiScale: image size  26   20  searchIncrement 
1.1  grouping  2  flags  0  min size  3   3 

digikam.facesengine: detectMultiScale gave  ()
digikam.general: Found 0 faces in "hpim0734.jpg" QSize(1168, 880) QSize(1168,
880)
digikam.metaengine: Orientation => Exif.Image.Orientation =>  1
digikam.dimg: "/mnt/data/photos/GILLES/OLD/Ecole/spectacle
marionettes/hpim0743.jpg"  : JPEG file identified
digikam.general: Check for finish:  21 packages, 0 infos to filter,
hasFinished() false
digikam.metaengine: Loading image history  ""
digikam.metaengine: DateTime => Exif.Photo.DateTimeOriginal => 
QDateTime(2007-10-09 13:53:54.000 CEST Qt::TimeSpec(LocalTime))
digikam.general: Check for finish:  20 packages, 0 infos to filter,
hasFinished() false
pure virtual method called
terminate called without an active exception
Abandon (core dumped)

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-04-01 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #15 from caulier.gil...@gmail.com ---
digiKam running with Face detection multicore :

https://www.flickr.com/photos/digikam/41155846361/in/dateposted/

Look the htop view and number of threads running in parallel.

Q : why i cannot see the thread name by QObject name ? Since recent Linux
kernel, it's possible to customized the thread names (limited to 16 characters)
:

https://stackoverflow.com/questions/26179688/is-it-possible-to-name-a-qthread

I use this way in my office to identify quickly which thread is idle or not.
It's very powerful...

Q2 : What's "Qt http thread" and "Qt bearer thread" ?

Gilles

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-04-01 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #14 from caulier.gil...@gmail.com ---
ok, i switch to multicore.

Note that it's currently 15% of scanning with one core. Nothing special, it
run. I can switch to another view without problem. Memory allocation is around
250-300Kb and still stable. No memory leak. The database is sqlite.

Gilles

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-04-01 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #13 from Maik Qualmann  ---
My guess is that it's possible that a QHash from a QString is not unique. In
Qt4, non-ANSI characters could cause this. Although the algorithm has been
revised in Qt5...

Maik

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-04-01 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #12 from Maik Qualmann  ---
Gilles,

Please use all cores, the parallel face worker are limited to 3 threads. If I
remember it correctly...

Maik

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-04-01 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #11 from caulier.gil...@gmail.com ---
MAik,

I applied your patch and now i rebuild the faces detection data from scratch.

There are 38000 items in my collection. This will take time with only one core
to use (instead 8)...

Gilles

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-03-22 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #10 from nroycea+...@gmail.com ---
Nope, I grepped for non-ansi characters in the filenames and came up with no
results.
Also, I intentionally disabled the use of all-cores for face recog/detect.

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-03-22 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=392134

--- Comment #9 from caulier.gil...@gmail.com ---
I will try while this week end.

Gilles

-- 
You are receiving this mail because:
You are watching all bug changes.

[digikam] [Bug 392134] SIGSEGV While Scanning Faces [patch]

2018-03-22 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=392134

Maik Qualmann  changed:

   What|Removed |Added

Summary|SIGSEGV While Scanning  |SIGSEGV While Scanning
   |Faces   |Faces [patch]

-- 
You are receiving this mail because:
You are watching all bug changes.