[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-03 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #241 from Maik Qualmann  ---
Yes, I agree.

Maik

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-03 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #240 from caulier.gil...@gmail.com ---
I think we can plan to release the 7.2.0 beta1 soon.

It's fine for you?

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-03 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

Maik Qualmann  changed:

   What|Removed |Added

   Version Fixed In||7.2.0
 Status|REPORTED|RESOLVED
 Resolution|--- |FIXED

--- Comment #239 from Maik Qualmann  ---
Ok, thank you for the long test. I will close this and other bugs. If you still
have a problem, please open a new bug.

Maik

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-03 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #238 from Maik Qualmann  ---
The reported problems in libpgf are almost negligible. And yes, I've never seen
anything like the clang-tidy patch for pass by value in a Qt project.

Maik

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-03 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

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

about the clang-tidy patch for pass by value in constructor, you can forget it.
It make the code less clear than before.

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-03 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

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

cppcheck and clang-scan reports now parse libpgf. Look the results:

https://www.digikam.org/reports/cppcheck/master/

https://www.digikam.org/reports/clang/master/

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-03 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #235 from caulier.gil...@gmail.com ---
Git commit 11bd6030db6497f4ecf3be05daa10c64743e8750 by Gilles Caulier.
Committed on 03/10/2020 at 08:02.
Pushed by cgilles into branch 'master'.

enable static analyzer reports for libpgf to check if major errors are present
in code as memory leak

M  +1-1.krazy
M  +0-1project/reports/cppcheck.sh

https://invent.kde.org/graphics/digikam/commit/11bd6030db6497f4ecf3be05daa10c64743e8750

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-03 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

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

About your fix in libpgf, well seen. This is a good candidate for an UPSTREAM
report, but i think we can do more.

All static analyzers ignore libpgf errors and warnings. There is a rule in
.krazy file to drop libpgf reports. As lipgf is a core components used for
thumbnails engine, we need to check all major reports in this code.

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-03 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #233 from Marcel  ---
The test runs now for 12 hours without a crash. Good job Maik and Gilles. Thank
you for fixing that. I will continue the run to see if it finishes without a
crash but I guess we can close this issue.

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-02 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #232 from Maik Qualmann  ---
Git commit 4f16275e2d2c19b59f991d087e98af707daf0ae8 by Maik Qualmann.
Committed on 03/10/2020 at 05:20.
Pushed by mqualmann into branch 'master'.

we can optimize this due to changes in setStatus()

M  +4-22   core/libs/threadimageio/fileio/loadsavetask.cpp
M  +4-22   core/libs/threadimageio/preview/previewtask.cpp
M  +4-20   core/libs/threadimageio/thumb/thumbnailtask.cpp

https://invent.kde.org/graphics/digikam/commit/4f16275e2d2c19b59f991d087e98af707daf0ae8

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-02 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #231 from Maik Qualmann  ---
Git commit 28697b87b1ea439425711eec490df15ab8e089e9 by Maik Qualmann.
Committed on 02/10/2020 at 19:24.
Pushed by mqualmann into branch 'master'.

fix internal libpgf, do not use realloc() when memory was allocated with new

M  +3-1core/libs/pgfutils/libpgf/PGFstream.cpp

https://invent.kde.org/graphics/digikam/commit/28697b87b1ea439425711eec490df15ab8e089e9

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-02 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #230 from Maik Qualmann  ---
The problem is clear, memory was created with new. It is necessary to increase
the memory, now realloc() is used. We should report this to libpgf as a bug. I
will patch our internal libpgf.

Maik

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-01 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #229 from Marcel  ---
Created attachment 132064
  --> https://bugs.kde.org/attachment.cgi?id=132064=edit
asan error in CPGFMemoryStream

Maik, the test run for a long time. I original error did not occur. Instead
this one was shown after hours. What is now the change? Is it now just the
removeOne() function?

@Gilles. In my work place we also had discussions about this clang-tidy rule.
Technically it can help in a few places to decrease the move effort. But we
came up with the conclusion that the readability is lower and its error prune
when copying from such a place. Therefore we decided to not to use this rule. 
Anyway, in my opinion there are other rules far more important for Digikam than
this one. On my work place it turned out that a good way to go is:
- Activate new rule and auto fix it
- Most autofix problems turned out to be compiler errors es well. Fix them.
- After applying, look for a compiler flag doing the same (e.g override) and
apply it and treat warnings as errors 

With this way you also find the false positive and ensure that nobody in the
future does it wrong again.

If you like I could spend some time with that and send you a merge request...

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-01 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #228 from Maik Qualmann  ---
I'll have to read it through tomorrow, the patch looks strange to me...

Maik

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-01 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #227 from caulier.gil...@gmail.com ---
Created attachment 132054
  --> https://bugs.kde.org/attachment.cgi?id=132054=edit
threadimageio clang-tidy patch about pass by value

Maik, 

clang-tidy provide also fixes about pass by value arguments of methods.
This also include to use std::move constructor if necessary.

Look well the description here:

https://clang.llvm.org/extra/clang-tidy/checks/modernize-pass-by-value.html

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-01 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #226 from Marcel  ---
Maik, the version now looks very promising. It already works for hours without
a crash. I saw you reverted most changes (even the typo fix :-) ). In your
commit message are you writing  "test this small change". What did you change,
that we did not test so far?

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-10-01 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #225 from Maik Qualmann  ---
Git commit e2be75c6cf36a6a8252a353679b2a871103d6116 by Maik Qualmann.
Committed on 01/10/2020 at 10:39.
Pushed by mqualmann into branch 'master'.

after revert to the old code, we test this small change

M  +11   -11   core/libs/threadimageio/fileio/loadingcache.cpp
M  +1-1core/libs/threadimageio/fileio/loadsavetask.cpp

https://invent.kde.org/graphics/digikam/commit/e2be75c6cf36a6a8252a353679b2a871103d6116

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-30 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #224 from Maik Qualmann  ---
Git commit 0e2cc57c29f218cb0e9002d0b852aca4c0e25bf2 by Maik Qualmann.
Committed on 30/09/2020 at 20:48.
Pushed by mqualmann into branch 'master'.

use QMap again

M  +12   -12   core/libs/threadimageio/fileio/loadingcache.cpp

https://invent.kde.org/graphics/digikam/commit/0e2cc57c29f218cb0e9002d0b852aca4c0e25bf2

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-30 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #223 from Maik Qualmann  ---
Git commit 92cfeba3a750ba95b4665a4c2e3e8ccfe0dee627 by Maik Qualmann.
Committed on 30/09/2020 at 20:44.
Pushed by mqualmann into branch 'master'.

remove only one listener

M  +1-1core/libs/threadimageio/fileio/loadsavetask.cpp

https://invent.kde.org/graphics/digikam/commit/92cfeba3a750ba95b4665a4c2e3e8ccfe0dee627

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-30 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #222 from Marcel  ---
No look, it still crashes, at least with asan enabled.

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-30 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #221 from Marcel  ---
Maik, I tried it with your commit
https://invent.kde.org/graphics/digikam/-/commit/a296fd327a98a5d5ffbf6690cec4eb5b85de0330
but it again crashed after a few minutes. 
Digikam::LoadingCache::notifyNewLoadingProcess(Digikam::LoadingProcess*,
Digikam::LoadingDescription const&)
/home/marcel/Repos/digikam/core/libs/threadimageio/fileio/loadingcache.cpp:293

Now I'm on
https://invent.kde.org/graphics/digikam/-/commit/a0157f8d2bcc6dfb33e74518b546c1553a864ae2
and it works until now (more than 50 minutes). I will keep it running during
the night.

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-30 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #220 from Maik Qualmann  ---
Git commit 84779e8dca5c96503a77a127874a0f13b37894d4 by Maik Qualmann.
Committed on 30/09/2020 at 18:10.
Pushed by mqualmann into branch 'master'.

do not return a pointer from QCache, it can be deleted

M  +18   -4core/libs/threadimageio/fileio/loadingcache.cpp
M  +2-2core/libs/threadimageio/fileio/loadingcache.h
M  +8-14   core/libs/threadimageio/fileio/loadsavetask.cpp
M  +6-12   core/libs/threadimageio/preview/previewtask.cpp
M  +2-6core/libs/threadimageio/thumb/thumbnailtask.cpp

https://invent.kde.org/graphics/digikam/commit/84779e8dca5c96503a77a127874a0f13b37894d4

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-30 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #219 from Maik Qualmann  ---
Hi Marcel,
it would be good if you could test the last change.

Maik

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-30 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #218 from Maik Qualmann  ---
Git commit a296fd327a98a5d5ffbf6690cec4eb5b85de0330 by Maik Qualmann.
Committed on 30/09/2020 at 06:04.
Pushed by mqualmann into branch 'master'.

drastic change to the image cache lock

M  +0-1core/libs/database/utils/scan/scancontroller_start.cpp
M  +48   -6core/libs/threadimageio/fileio/loadingcache.cpp
M  +2-0core/libs/threadimageio/fileio/loadingcache.h
M  +1-6core/libs/threadimageio/fileio/loadingcacheinterface.cpp
M  +71   -72   core/libs/threadimageio/fileio/loadsavetask.cpp
M  +108  -112  core/libs/threadimageio/preview/previewtask.cpp
M  +8-16   core/libs/threadimageio/thumb/thumbnailloadthread.cpp
M  +4-8core/libs/threadimageio/thumb/thumbnailloadthread_p.cpp
M  +52   -53   core/libs/threadimageio/thumb/thumbnailtask.cpp

https://invent.kde.org/graphics/digikam/commit/a296fd327a98a5d5ffbf6690cec4eb5b85de0330

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-29 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #217 from caulier.gil...@gmail.com ---
Git commit edbd8d5d2f401f6c4bbda134749fa092d76b565e by Gilles Caulier.
Committed on 30/09/2020 at 03:43.
Pushed by cgilles into branch 'master'.

apply clang tidy override modernize C++11 patch

M  +4-4core/utilities/facemanagement/database/faceutils.h
M  +1-1core/utilities/facemanagement/items/facegroup.h
M  +1-1core/utilities/facemanagement/items/faceitem.h
M  +1-1core/utilities/facemanagement/threads/facepipeline.h
M  +1-1core/utilities/facemanagement/threads/facepreviewloader.h
M  +1-1core/utilities/facemanagement/threads/parallelpipes.h
M  +2-2core/utilities/facemanagement/threads/scanstatefilter.h
M  +1-1core/utilities/facemanagement/widgets/assignnamewidget.h
M  +1-1core/utilities/facemanagement/widgets/assignnamewidgetstates.h
M  +1-1core/utilities/facemanagement/widgets/facemanagementhelpdlg.h
M  +3-3core/utilities/facemanagement/widgets/facescanwidget.h
M  +1-1core/utilities/facemanagement/workers/databasewriter.h
M  +1-1core/utilities/facemanagement/workers/detectionworker.h
M  +2-2core/utilities/facemanagement/workers/recognitionworker.h
M  +2-2core/utilities/facemanagement/workers/trainerworker.cpp
M  +2-2core/utilities/facemanagement/workers/trainerworker.h

https://invent.kde.org/graphics/digikam/commit/edbd8d5d2f401f6c4bbda134749fa092d76b565e

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-29 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #216 from caulier.gil...@gmail.com ---
Git commit e331ff2d3241ce4fec690ddd67a7ffbff1ac587c by Gilles Caulier.
Committed on 30/09/2020 at 03:40.
Pushed by cgilles into branch 'master'.

apply clang tidy override modernize C++11 patch

M  +4-4core/libs/facesengine/detection/opencv-dnn/dnnfacedetectorssd.h
M  +4-4core/libs/facesengine/detection/opencv-dnn/dnnfacedetectoryolo.h
M  +1-1core/libs/facesengine/facedb/facedbbackend.h
M  +2-2   
core/libs/facesengine/preprocessing/recognition/recognitionpreprocessor.h
M  +11   -11   core/libs/facesengine/recognition/dataproviders.h
M  +0-1core/libs/facesengine/recognition/facialrecognition_wrapper_p.h
M  +2-2   
core/libs/facesengine/recognition/opencv-dnn/opencvdnnfacerecognizer_p.h
M  +3-2core/libs/facesengine/recognition/recognitiontrainingprovider.h

https://invent.kde.org/graphics/digikam/commit/e331ff2d3241ce4fec690ddd67a7ffbff1ac587c

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-29 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #215 from Maik Qualmann  ---
Git commit e73d3b37b565081d6768cc22f75464befa7e4ded by Maik Qualmann.
Committed on 29/09/2020 at 17:31.
Pushed by mqualmann into branch 'master'.

apply the clang tidy patches

M  +1-1core/libs/threadimageio/engine/filereadwritelock.h
M  +1-1core/libs/threadimageio/engine/managedloadsavethread.h
M  +1-1core/libs/threadimageio/engine/sharedloadsavethread.h
M  +2-2core/libs/threadimageio/fileio/loadingcache.h
M  +1-1core/libs/threadimageio/fileio/loadsavetask.h
M  +10   -10   core/libs/threadimageio/fileio/loadsavethread.h
M  +1-1core/libs/threadimageio/preview/previewloadthread.h
M  +1-1core/libs/threadimageio/preview/previewtask.h
M  +3-3core/libs/threadimageio/thumb/thumbnailloadthread.h
M  +3-3core/libs/threads/actionthreadbase.h
M  +1-1core/libs/threads/dynamicthread.cpp
M  +1-1core/libs/threads/dynamicthread.h
M  +6-6core/libs/threads/parallelworkers.h
M  +3-3core/libs/threads/threadmanager.cpp
M  +1-1core/libs/threads/threadmanager.h
M  +2-2core/libs/threads/workerobject.h

https://invent.kde.org/graphics/digikam/commit/e73d3b37b565081d6768cc22f75464befa7e4ded

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-29 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #214 from caulier.gil...@gmail.com ---
Marcel,

Read this (:=)))

https://stackoverflow.com/questions/53032915/clang-tidy-inserts-multiple-override-specifiers-when-fixing

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-29 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #213 from caulier.gil...@gmail.com ---
Hi Marcel,

Yes i seen too the double "override" keyword. Why clang-tidy do that, i don't
know. This is why it's very important to review patch created by non human.

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-29 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #212 from Marcel  ---
Feedback about patch:

only one override
+~ActionJob() override override;
+~ActionThreadBase() override override;
+~DynamicThread() override override;
+~ThreadManager() override override;
+~WorkerObject() override override;

After my knowledge it does the same as before.

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-29 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #211 from caulier.gil...@gmail.com ---
Created attachment 132003
  --> https://bugs.kde.org/attachment.cgi?id=132003=edit
clang tidy patch for override fixes in theads

Maik, please review the 2 patches generated by cland-tidy modernize C++ python
script.

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-29 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #210 from caulier.gil...@gmail.com ---
Created attachment 132002
  --> https://bugs.kde.org/attachment.cgi?id=132002=edit
clang tidy patch for override fixes in theadimageio

Generated following this note:

https://github.com/KratosMultiphysics/Kratos/wiki/How-to-use-Clang-Tidy-to-automatically-correct-code

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-28 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #209 from Maik Qualmann  ---
Git commit 85c6c8c4585bcf3e7e779daaf9b17bfa386fab1a by Maik Qualmann.
Committed on 28/09/2020 at 19:01.
Pushed by mqualmann into branch 'master'.

we switch to a QHash for testing

M  +2-2core/libs/threadimageio/fileio/loadingcache.cpp

https://invent.kde.org/graphics/digikam/commit/85c6c8c4585bcf3e7e779daaf9b17bfa386fab1a

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-28 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #208 from Marcel  ---
Created attachment 131985
  --> https://bugs.kde.org/attachment.cgi?id=131985=edit
Again address Sanitizer error on PreviewLoadingTask

I tested the face detection feature again. This time with YOLO and clang
compiler on 6c5b6ba2f989591aa1913d08ba4a82576aec0721. I get the same error with
gcc. This time the error occurs again after a few minutes of scanning. Isn't it
in the part that Maik already fixed?

@Gilles. I sent you a private message because it does not has anything to do
with this bug.

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-27 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #207 from caulier.gil...@gmail.com ---
Marcel,

Don't forget to install at least asan and lsan devel packages. First one is to
check address in uses sanitizer and second one is memory leak sanitizer.

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-26 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #206 from Marcel  ---
Gilles, thank you very much for this detailed explanation. I really appreciate
that. So it definitely makes sense as it is :-)

@Maik, does it help to upload some resent backtraces and address sanitizer
errors or do you have enough information for debuging? Can you reproduce the
crashes?

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-26 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #205 from caulier.gil...@gmail.com ---
Git commit a2b9c9b54eacdc0b5fc66b4b740d4f5b629e9556 by Gilles Caulier.
Committed on 26/09/2020 at 08:03.
Pushed by cgilles into branch 'master'.

Faces Engine stage 4: remove another legacy unused class OpenCVMatData

M  +0-1core/libs/facesengine/CMakeLists.txt
D  +0-82   core/libs/facesengine/common/opencvmatdata.cpp
D  +0-65   core/libs/facesengine/common/opencvmatdata.h
M  +1-1core/libs/facesengine/facedb/facedb.h

https://invent.kde.org/graphics/digikam/commit/a2b9c9b54eacdc0b5fc66b4b740d4f5b629e9556

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-26 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #204 from caulier.gil...@gmail.com ---
Hi Marcel,

Sorry for my late response but i'm very busy in my office.

>Should I run Digikam with the address sanitizer enabled? 

Both. First without, and in second if it continue to crash, with ASAN.

>In my opinion we could close this huge bug and open new bugs for new problems, 
>>is that all right?

Not yet. Memory leak is fixed but a crash still here typically with
PreviewEngine. Maik work on it.

>Why didn't you defined the constructors in a c++11 way? Instead of making it 
>private you could use delete or instead of implement an empty 
>constructor/destructor, default could be used. Or did I miss a technical 
>detail about that?

You don't miss anything. Both method are valid, but :

1/ Other classes use C++0x implementation to disable
constructors/destructor/operators. We need to still homogeneous everywhere as
amount of source code is really huge. If we differ, this will become the hel to
maintain.

2/ Don't forget MSVC : this compiler is a shit. C++ support is a pain, sure
better with MSVC 2019, but M$ is so far than G++ and Clang to support standard.
If you look into MSVC 2019, there is a plugin to use Clang instead native M$
compiler. In fact M$ continue to introduce more and more and more Open Source
tools/codes/modules in Windows stuff. What's the next stage ? replace Windows
kernel by Linux kernel ???
In fact KDE CI still to use MSVC 2017. So we need to not support totally C++11
yet.

3/ I'm not against whole C++11 standard at all, but some keywords as auto make
code opaque and do not help in readbility. Also, why the compiler will
automatically cast the target class with auto in a better way that the
developper ??? I dislike also the labda method which make the code as a puzzle,
as Javascript (excepted for some use where Lambda method can help to improve
bianry compatibility but this must not generalized at all).

4/ Clang-tidy is a nice CLI tool to patch automatically all C++0x to C++11. I
see an higher activity in Exiv2 project to port all codes to C++11, and
clang-tidy is used in background. We will do the same later, but a specific
release must be done only for this kind of changes to check for regressions.

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-26 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #203 from caulier.gil...@gmail.com ---
Git commit 3bcd5d8a28bf10acd0710805b2fa5f8ed2ad42a2 by Gilles Caulier.
Committed on 26/09/2020 at 06:46.
Pushed by cgilles into branch 'master'.

FacesEngine: cleanup stage 3 : move usused FunnelReal class to tests suite as
it's not used in core implementation
Move data model for FunnelReal algorithm to tests suite.
We will deal later if this code can be removed definitively.
More cmake scripts cleanup for faces engine.
move faces engine tests suite to dedicated subdirectories

M  +0-21   core/data/facesengine/CMakeLists.txt
D  +0-3core/data/facesengine/alignment/README
D  +---core/data/facesengine/alignment/flandmark_model.dat.gz
M  +4-13   core/libs/facesengine/CMakeLists.txt
M  +3-56   core/tests/facesengine/CMakeLists.txt
A  +33   -0core/tests/facesengine/alignment/CMakeLists.txt
A  +1-0core/tests/facesengine/alignment/README
R  +0-3core/tests/facesengine/alignment/align.cpp [from:
core/tests/facesengine/align.cpp - 099% similarity]
R  +---core/tests/facesengine/alignment/face-funnel.data.tgz [from:
core/data/facesengine/alignment/face-funnel.data.tgz - 100% similarity]
R  +4-1core/tests/facesengine/alignment/funnelreal.cpp [from:
core/libs/facesengine/alignment/congealing/funnelreal.cpp - 099% similarity]
R  +0-0core/tests/facesengine/alignment/funnelreal.h [from:
core/libs/facesengine/alignment/congealing/funnelreal.h - 100% similarity]
A  +32   -0core/tests/facesengine/demo/CMakeLists.txt
A  +27   -0core/tests/facesengine/preprocess/CMakeLists.txt

https://invent.kde.org/graphics/digikam/commit/3bcd5d8a28bf10acd0710805b2fa5f8ed2ad42a2

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-25 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #202 from Marcel  ---
Gilles, 

thank you for your effort. I will test the code now again. Should I run Digikam
with the address sanitizer enabled? 

In my opinion we could close this huge bug and open new bugs for new problems,
is that all right?

I followed all of your code changes concerning this bug. In my opinion there is
one thing that could increase the readability. You often completed the class
definition to match the rule of 3. See
https://en.cppreference.com/w/cpp/language/rule_of_three. Why didn't you
defined the constructors in a c++11 way? Instead of making it private you could
use delete or instead of implement an empty constructor/destructor, default
could be used. Or did I miss a technical detail about that?

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-24 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #201 from caulier.gil...@gmail.com ---
Marcel,

I cleaned all dead code in face engine, typically all legacy algorithms not
based on DNN.

I'm not sure if this will have an effect at run time, but at least, now the
implementations are more simpler as now more pre-processors puzzle are included
in codes. This will definitively simplify the code maintenance in the future.

This want mean that, after 10 years of development on face engine, we switch
definitively to DNN for detection and recognition (as expected of course)...

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-24 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #200 from caulier.gil...@gmail.com ---
Git commit b6a240f95754eaa188f3aa97c59fdbd9785daa91 by Gilles Caulier.
Committed on 25/09/2020 at 05:38.
Pushed by cgilles into branch 'master'.

Face Engine: remove dead code stage 2: Switch definitively to pure DNN
detection and recognition.
Remove all OpenCV/LBPH based algorithms.

M  +19   -61   core/libs/facesengine/CMakeLists.txt
M  +1-1core/libs/facesengine/TODO
M  +0-1core/libs/facesengine/detection/README
M  +6-152  core/libs/facesengine/detection/facedetector.cpp
M  +1-0core/libs/facesengine/detection/opencv-dnn/dnnfacedetectorbase.h
D  +0-658 
core/libs/facesengine/detection/opencv-face/opencvfacedetector.cpp
D  +0-128  core/libs/facesengine/detection/opencv-face/opencvfacedetector.h
D  +0-194 
core/libs/facesengine/detection/opencv-face/opencvfacedetector_p.cpp
D  +0-170 
core/libs/facesengine/detection/opencv-face/opencvfacedetector_p.h
M  +0-19   core/libs/facesengine/facedb/facedb.h
D  +0-245  core/libs/facesengine/facedb/facedb_lbph.cpp
M  +1-6core/libs/facesengine/facedb/facedb_p.h
M  +0-11   core/libs/facesengine/facedb/facedbschemaupdater.cpp
M  +0-1core/libs/facesengine/recognition/README
M  +0-8   
core/libs/facesengine/recognition/facialrecognition_wrapper_p.cpp
M  +1-16   core/libs/facesengine/recognition/facialrecognition_wrapper_p.h
M  +0-18  
core/libs/facesengine/recognition/facialrecognition_wrapper_setup.cpp
M  +0-9   
core/libs/facesengine/recognition/facialrecognition_wrapper_training.cpp
D  +0-553 
core/libs/facesengine/recognition/opencv-lbph/facerec_borrowed.cpp
D  +0-187  core/libs/facesengine/recognition/opencv-lbph/facerec_borrowed.h
D  +0-230  core/libs/facesengine/recognition/opencv-lbph/lbphfacemodel.cpp
D  +0-112  core/libs/facesengine/recognition/opencv-lbph/lbphfacemodel.h
D  +0-204  core/libs/facesengine/recognition/opencv-lbph/opencv_face.cpp
D  +0-439  core/libs/facesengine/recognition/opencv-lbph/opencv_face.h
D  +0-218 
core/libs/facesengine/recognition/opencv-lbph/opencvlbphfacerecognizer.cpp
D  +0-98  
core/libs/facesengine/recognition/opencv-lbph/opencvlbphfacerecognizer.h

https://invent.kde.org/graphics/digikam/commit/b6a240f95754eaa188f3aa97c59fdbd9785daa91

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-24 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #199 from caulier.gil...@gmail.com ---
Git commit 880c377630be3393779185e1d1297e4957ff595b by Gilles Caulier.
Committed on 25/09/2020 at 04:15.
Pushed by cgilles into branch 'master'.

Face Engine: move dead code not exported and only used in an experimental
preprocessing CLI test tool.

M  +0-4core/libs/facesengine/CMakeLists.txt
M  +6-1core/tests/facesengine/CMakeLists.txt
R  +2-5core/tests/facesengine/preprocess/preprocess.cpp [from:
core/tests/facesengine/preprocess.cpp - 095% similarity]
R  +0-0core/tests/facesengine/preprocess/tantriggspreprocessor.cpp
[from: core/libs/facesengine/preprocessing/tantriggs/tantriggspreprocessor.cpp
- 100% similarity]
R  +0-0core/tests/facesengine/preprocess/tantriggspreprocessor.h [from:
core/libs/facesengine/preprocessing/tantriggs/tantriggspreprocessor.h - 100%
similarity]

https://invent.kde.org/graphics/digikam/commit/880c377630be3393779185e1d1297e4957ff595b

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-24 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #198 from caulier.gil...@gmail.com ---
Git commit 65c9aa3d4fa6eea92409f786a0ba786332777682 by Gilles Caulier.
Committed on 25/09/2020 at 04:05.
Pushed by cgilles into branch 'master'.

Face Engine: remove dead code aka flandmarkaligner algorithm

M  +0-2core/libs/facesengine/CMakeLists.txt
D  +0-126  core/libs/facesengine/alignment/flandmark/flandmarkaligner.cpp
D  +0-61   core/libs/facesengine/alignment/flandmark/flandmarkaligner.h

https://invent.kde.org/graphics/digikam/commit/65c9aa3d4fa6eea92409f786a0ba786332777682

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-24 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #197 from caulier.gil...@gmail.com ---
Git commit c8721ba35c4b99cfed8696d2f7a01f2a8a66bac2 by Gilles Caulier.
Committed on 25/09/2020 at 03:42.
Pushed by cgilles into branch 'master'.

Face engine: remove dead codes aka Eigen face recognition and Fisher face
recognition algorithms.

M  +3-20   core/libs/facesengine/CMakeLists.txt
M  +1-1core/libs/facesengine/TODO
M  +0-28   core/libs/facesengine/facedb/facedb.h
D  +0-204  core/libs/facesengine/facedb/facedb_eigen.cpp
D  +0-87   core/libs/facesengine/facedb/facedb_fisher.cpp
M  +0-8core/libs/facesengine/facedb/facedb_p.h
M  +0-3core/libs/facesengine/recognition/README
M  +0-6   
core/libs/facesengine/recognition/facialrecognition_wrapper_p.cpp
M  +0-13   core/libs/facesengine/recognition/facialrecognition_wrapper_p.h
M  +0-8   
core/libs/facesengine/recognition/facialrecognition_wrapper_training.cpp
D  +0-187 
core/libs/facesengine/recognition/opencv-eigenfaces/eigenfacemodel.cpp
D  +0-107 
core/libs/facesengine/recognition/opencv-eigenfaces/eigenfacemodel.h
D  +0-253 
core/libs/facesengine/recognition/opencv-eigenfaces/facerec_eigenborrowed.cpp
D  +0-143 
core/libs/facesengine/recognition/opencv-eigenfaces/facerec_eigenborrowed.h
D  +0-201 
core/libs/facesengine/recognition/opencv-eigenfaces/opencveigenfacerecognizer.cpp
D  +0-91  
core/libs/facesengine/recognition/opencv-eigenfaces/opencveigenfacerecognizer.h
D  +0-311 
core/libs/facesengine/recognition/opencv-fisherfaces/facerec_fisherborrowed.cpp
D  +0-143 
core/libs/facesengine/recognition/opencv-fisherfaces/facerec_fisherborrowed.h
D  +0-184 
core/libs/facesengine/recognition/opencv-fisherfaces/fisherfacemodel.cpp
D  +0-104 
core/libs/facesengine/recognition/opencv-fisherfaces/fisherfacemodel.h
D  +0-197 
core/libs/facesengine/recognition/opencv-fisherfaces/opencvfisherfacerecognizer.cpp
D  +0-91  
core/libs/facesengine/recognition/opencv-fisherfaces/opencvfisherfacerecognizer.h
R  +0-0core/libs/facesengine/recognition/opencv-lbph/opencv_face.cpp
[from: core/libs/facesengine/recognition/opencv-face/opencv_face.cpp - 100%
similarity]
R  +0-0core/libs/facesengine/recognition/opencv-lbph/opencv_face.h
[from: core/libs/facesengine/recognition/opencv-face/opencv_face.h - 100%
similarity]

https://invent.kde.org/graphics/digikam/commit/c8721ba35c4b99cfed8696d2f7a01f2a8a66bac2

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-24 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #196 from Maik Qualmann  ---
I specifically debugged this WorkerObject class. Even if the analysis tools
report an error here, everything in the order of destruction is OK. Right, the
derived class is destroyed first. But then the "aboutToDeactivate()" function
falls back to the base class and is then called during the destruction. Since
the function is not implemented as a pure virtual function, everything is OK.

The "this" pointer has no influence on the derived or basis class execution.

Maik

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-24 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

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

I fixed some this-> entry in source code in the pass after a large cppcheck
report about dynamic binding problem. This one is a fix by me.

You are right, instead to use this->, we must use final-> c++11 keyword.

Note : all dynamic binding fixed are annotated with a "NOTE: use dynamic
binding" comment in source code. It's easy to double check all entries to see
if this-> or final-> must be used at these places (32 entries).

grep -r "NOTE: use dynamic" core/*

../../core/app/date/ddateedit.cpp:// NOTE: use dynamic binding as this
virtual method can be re-implemented in derived classes.
../../core/app/date/ddateedit.cpp:// NOTE: use dynamic binding as this
virtual method can be re-implemented in derived classes.
../../core/app/date/ddateedit.cpp:// NOTE: use dynamic binding as this
virtual method can be re-implemented in derived classes.
../../core/app/items/views/digikamitemview.cpp:// --- NOTE: use dynamic
binding as slotSetupChanged() is a virtual method which can be re-implemented
in derived classes.
../../core/app/items/thumbbar/itemthumbnailbar.cpp:// --- NOTE: use dynamic
binding as slotSetupChanged() is a virtual slot which can be re-implemented in
derived classes.
../../core/dplugins/rawimport/native/rawpostprocessing.cpp:// NOTE: use
dynamic binding as this virtual method can be re-implemented in derived
classes.
../../core/libs/models/abstractalbummodel.cpp:// --- NOTE: use dynamic
binding as all slots above are virtual methods which can be re-implemented in
derived classes.
../../core/libs/database/models/itemmodel.cpp:// --- NOTE: use dynamic
binding as slotImageChange() is a virtual slot which can be re-implemented in
derived classes.
../../core/libs/database/models/itemmodel.cpp:// --- NOTE: use dynamic
binding as slotImageTagChange() is a virtual slot which can be re-implemented
in derived classes.
../../core/libs/dimg/filters/dimgthreadedfilter.cpp:// NOTE: use dynamic
binding as this virtual method can be re-implemented in derived classes.
../../core/libs/dimg/filters/raw/rawprocessingfilter.cpp:// NOTE: use
dynamic binding as this virtual method can be re-implemented in derived
classes.
../../core/libs/dimg/filters/greycstoration/greycstorationfilter.cpp://
NOTE: use dynamic binding as this virtual method can be re-implemented in
derived classes.
../../core/libs/dimg/filters/greycstoration/greycstorationfilter.cpp://
NOTE: use dynamic binding as this virtual method can be re-implemented in
derived classes.
../../core/libs/widgets/itemview/itemviewcategorized.cpp:// --- NOTE: use
dynamic binding as slots below are virtual methods which can be re-implemented
in derived classes.
../../core/libs/widgets/layout/sidebar.cpp:// --- NOTE: use dynamic binding
as slotClicked() is a virtual method which can be re-implemented in derived
classes.
../../core/libs/widgets/metadata/subjectwidget.cpp:// NOTE: use dynamic
binding as this virtual method can be re-implemented in derived classes.
../../core/libs/widgets/metadata/subjectwidget.cpp:// NOTE: use dynamic
binding as this virtual method can be re-implemented in derived classes.
../../core/libs/properties/itempropertiessidebar.cpp:// --- NOTE: use
dynamic binding as slotChangedTab() is a virtual method which can be
re-implemented in derived classes.
../../core/libs/properties/import/importitempropertiessidebar.cpp:// ---
NOTE: use dynamic binding as slotChangedTab() is a virtual method which can be
re-implemented in derived classes.
../../core/libs/album/widgets/albumselectcombobox.cpp:// --- NOTE: use
dynamic binding as updateText() is a virtual slot which can be re-implemented
in derived classes.
../../core/libs/dialogs/infodlg.cpp:// --- NOTE: use dynamic binding as
slotCopy2ClipBoard() is a virtual slot which can be re-implemented in derived
classes.
../../core/libs/metadataengine/engine/metaengine.cpp:// NOTE: use dynamic
binding as this virtual method can be re-implemented in derived classes.
../../core/libs/threads/workerobject.cpp:// NOTE: use dynamic binding as
this virtual method can be re-implemented in derived classes.
../../core/showfoto/thumbbar/showfotothumbnailbar.cpp:// NOTE: use dynamic
binding as this virtual method can be re-implemented in derived classes.
../../core/utilities/maintenance/maintenancetool.cpp:// --- NOTE: use
dynamic binding as slotCancel() is a virtual method which can be re-implemented
in derived classes.
../../core/utilities/imageeditor/editor/editortool.cpp:// --- NOTE: use
dynamic binding as slotPreview() is a virtual method which can be
re-implemented in derived classes.
../../core/utilities/setup/metadata/namespaceeditdlg.cpp:// --- NOTE: use
dynamic binding as slots below are virtual method which can be re-implemented
in derived classes.
../../core/utilities/import/views/importiconview.cpp:  

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-24 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #194 from Maik Qualmann  ---
Yes, calling virtual functions in the constructor / destructor can cause
problems. I also think that "this->aboutToDeactivate()" now never calls the
derived class through "this". I'm testing it out tonight. I think we can mark
the derived class with the "final" keyword to prevent problems.

Maik

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-24 Thread Scott
https://bugs.kde.org/show_bug.cgi?id=426175

Scott  changed:

   What|Removed |Added

 CC|scottie...@yahoo.co.uk  |

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-24 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

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

I experiment the clang-tidy "linter" like analyzer with digiKam code and i
found this report :

clang-tidy -header-filter=^/home/gilles/Documents/GIT/7.x/build/.*
-p=/home/gilles/Documents/GIT/7.x/build
/home/gilles/Documents/GIT/7.x/core/libs/threads/workerobject.cpp
/home/gilles/Documents/GIT/7.x/core/libs/threads/workerobject.cpp:247:5:
warning: Call to virtual function during destruction
[clang-analyzer-optin.cplusplus.VirtualCall]
this->aboutToDeactivate();
^
/home/gilles/Documents/GIT/7.x/core/libs/threads/workerobject.cpp:73:5: note:
This destructor of an object of type '~WorkerObject' has not returned when the
virtual method was called
shutDown();
^
/home/gilles/Documents/GIT/7.x/core/libs/threads/workerobject.cpp:73:5: note:
Calling 'WorkerObject::shutDown'
/home/gilles/Documents/GIT/7.x/core/libs/threads/workerobject.cpp:85:5: note:
Calling 'WorkerObject::deactivate'
deactivate(PhaseOut);
^
/home/gilles/Documents/GIT/7.x/core/libs/threads/workerobject.cpp:232:9: note:
Control jumps to 'case Running:'  at line 235
switch (d->state)
^
/home/gilles/Documents/GIT/7.x/core/libs/threads/workerobject.cpp:237:17: note:
 Execution continues on line 213
break;
^
/home/gilles/Documents/GIT/7.x/core/libs/threads/workerobject.cpp:247:5: note:
Call to virtual function during destruction
this->aboutToDeactivate();
^

More info :

https://clang.llvm.org/extra/clang-tidy/

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-23 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #192 from caulier.gil...@gmail.com ---
Git commit 7ed7c3ae44b23e1f5f5da0fe7bf195bf2b325fe1 by Gilles Caulier.
Committed on 24/09/2020 at 02:15.
Pushed by cgilles into branch 'master'.

We can disable copy constructor and equality operator with these classes.
Add missing destructor

M  +11   -7core/utilities/facemanagement/database/faceitemretriever.cpp
M  +2-0core/utilities/facemanagement/database/faceitemretriever.h
M  +19   -18   core/utilities/facemanagement/database/faceutils.cpp
M  +6-0core/utilities/facemanagement/database/faceutils.h

https://invent.kde.org/graphics/digikam/commit/7ed7c3ae44b23e1f5f5da0fe7bf195bf2b325fe1

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-23 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #191 from caulier.gil...@gmail.com ---
Git commit 04ca7557c15c4c7ce2cca005d054301d6d192562 by Gilles Caulier.
Committed on 24/09/2020 at 02:04.
Pushed by cgilles into branch 'master'.

We can disable copy constructor and equality operator with these classes.
Add missing destructor

M  +6-0core/utilities/facemanagement/items/facegroup.h
M  +4-0core/utilities/facemanagement/items/faceitem.cpp
M  +7-0core/utilities/facemanagement/items/faceitem.h

https://invent.kde.org/graphics/digikam/commit/04ca7557c15c4c7ce2cca005d054301d6d192562

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-23 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #190 from caulier.gil...@gmail.com ---
Git commit cd1b6f82957813746a3f44a0251c1decab4790d7 by Gilles Caulier.
Committed on 24/09/2020 at 01:56.
Pushed by cgilles into branch 'master'.

We can disable copy constructor and equality operator with these classes.
Add missing destructor

M  +6-0core/utilities/facemanagement/threads/facepipeline.h
M  +33   -0core/utilities/facemanagement/threads/facepipelinepackage.cpp
M  +10   -9core/utilities/facemanagement/threads/facepipelinepackage.h
M  +10   -3core/utilities/facemanagement/threads/facepreviewloader.cpp
M  +7-0core/utilities/facemanagement/threads/facepreviewloader.h
M  +6-0core/utilities/facemanagement/threads/parallelpipes.h
M  +16   -12   core/utilities/facemanagement/threads/scanstatefilter.cpp
M  +7-0core/utilities/facemanagement/threads/scanstatefilter.h

https://invent.kde.org/graphics/digikam/commit/cd1b6f82957813746a3f44a0251c1decab4790d7

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-23 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #189 from caulier.gil...@gmail.com ---
Git commit 7600efe92d5979545189649229f01b4568361485 by Gilles Caulier.
Committed on 23/09/2020 at 15:54.
Pushed by cgilles into branch 'master'.

We can disable copy constructor and equality operator with these classes.
Add missing destructor

M  +4-0core/utilities/facemanagement/workers/databasewriter.cpp
M  +7-0core/utilities/facemanagement/workers/databasewriter.h
M  +6-0core/utilities/facemanagement/workers/detectionworker.h
M  +6-0core/utilities/facemanagement/workers/recognitionworker.h

https://invent.kde.org/graphics/digikam/commit/7600efe92d5979545189649229f01b4568361485

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-23 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #188 from caulier.gil...@gmail.com ---
Git commit f08d194f50b41c6d68fbb0855db20f807e5e7bfd by Gilles Caulier.
Committed on 23/09/2020 at 10:10.
Pushed by cgilles into branch 'master'.

We can disable copy constructor and equality operator with these classes

M  +8-1core/libs/threads/dynamicthread.h
M  +12   -0core/libs/threads/parallelworkers.h
M  +6-0core/libs/threads/threadmanager.h
M  +4-0core/libs/threads/workerobject.h

https://invent.kde.org/graphics/digikam/commit/f08d194f50b41c6d68fbb0855db20f807e5e7bfd

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-23 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #187 from caulier.gil...@gmail.com ---
Git commit 8b8aae7b266b94181239ed6e559deef4a4512f6c by Gilles Caulier.
Committed on 23/09/2020 at 09:27.
Pushed by cgilles into branch 'master'.

We can disable copy constructor and equality operator with these classes

M  +1-1core/libs/threadimageio/CMakeLists.txt
R  +0-0core/libs/threadimageio/thumb/thumbnailcreator_basic.cpp [from:
core/libs/threadimageio/thumb/thumbnailbasic.cpp - 100% similarity]
M  +12   -0core/libs/threadimageio/thumb/thumbnailloadthread.h
M  +6-0core/libs/threadimageio/thumb/thumbnailtask.h

https://invent.kde.org/graphics/digikam/commit/8b8aae7b266b94181239ed6e559deef4a4512f6c

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-23 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #186 from caulier.gil...@gmail.com ---
Git commit 1ac2776d8ccee771a09dcb4ee4ec1699d7eaf65a by Gilles Caulier.
Committed on 23/09/2020 at 09:12.
Pushed by cgilles into branch 'master'.

We can disable copy constructor and equality operator with these classes
Add missing destructor

M  +4-0core/libs/threadimageio/engine/managedloadsavethread.h
M  +4-0core/libs/threadimageio/engine/sharedloadsavethread.cpp
M  +7-0core/libs/threadimageio/engine/sharedloadsavethread.h

https://invent.kde.org/graphics/digikam/commit/1ac2776d8ccee771a09dcb4ee4ec1699d7eaf65a

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-23 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #185 from caulier.gil...@gmail.com ---
Git commit d0cf9690e91b59a98e152985535912516eb1e392 by Gilles Caulier.
Committed on 23/09/2020 at 09:00.
Pushed by cgilles into branch 'master'.

This class is just a static methods container. No need construtor, destructor,
copy constructor and equality operator

M  +9-0core/libs/threadimageio/fileio/loadingcacheinterface.h

https://invent.kde.org/graphics/digikam/commit/d0cf9690e91b59a98e152985535912516eb1e392

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-23 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #184 from caulier.gil...@gmail.com ---
Git commit 5ca5eb5260994a4b4200c1626a31b78aeef02858 by Gilles Caulier.
Committed on 23/09/2020 at 08:55.
Pushed by cgilles into branch 'master'.

We can disable copy constructor and equality operator with these classes

M  +21   -3core/libs/threadimageio/fileio/loadingcache.h

https://invent.kde.org/graphics/digikam/commit/5ca5eb5260994a4b4200c1626a31b78aeef02858

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-23 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #183 from caulier.gil...@gmail.com ---
Git commit 1f11358b3918a16d7576f6f8a80b644544784975 by Gilles Caulier.
Committed on 23/09/2020 at 08:46.
Pushed by cgilles into branch 'master'.

We can disable copy constructor and equality operator with these classes

M  +24   -0core/libs/threadimageio/fileio/loadsavetask.h

https://invent.kde.org/graphics/digikam/commit/1f11358b3918a16d7576f6f8a80b644544784975

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-22 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #182 from caulier.gil...@gmail.com ---
Git commit 8333a8f06f714950729d7a85d87c9eb9d0cc4a6c by Gilles Caulier.
Committed on 23/09/2020 at 05:53.
Pushed by cgilles into branch 'master'.

We can disable copy constructor and equality operator with these classes

M  +6-0core/libs/threadimageio/preview/previewloadthread.h
M  +6-0core/libs/threadimageio/preview/previewtask.h

https://invent.kde.org/graphics/digikam/commit/8333a8f06f714950729d7a85d87c9eb9d0cc4a6c

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-22 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #181 from Maik Qualmann  ---
Git commit 9f89a5264d45d9cffdd331b7a5d98a4dbde45b51 by Maik Qualmann.
Committed on 22/09/2020 at 19:21.
Pushed by mqualmann into branch 'master'.

preview loading tasks with new stop logic

M  +20   -51   core/libs/threadimageio/fileio/loadsavetask.cpp
M  +20   -20   core/libs/threadimageio/preview/previewtask.cpp
M  +14   -14   core/libs/threadimageio/thumb/thumbnailtask.cpp

https://invent.kde.org/graphics/digikam/commit/9f89a5264d45d9cffdd331b7a5d98a4dbde45b51

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-22 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #180 from caulier.gil...@gmail.com ---
Git commit d4b496877424462cc01c1860bf2bbc544cdb9585 by Gilles Caulier.
Committed on 22/09/2020 at 14:49.
Pushed by cgilles into branch 'master'.

add default contructor and destructor
move implementations to .cpp

M  +24   -2core/libs/threadimageio/fileio/loadingcache.cpp
M  +7-4core/libs/threadimageio/fileio/loadingcache.h

https://invent.kde.org/graphics/digikam/commit/d4b496877424462cc01c1860bf2bbc544cdb9585

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-22 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #179 from caulier.gil...@gmail.com ---
Hi Marcel,

This is interresting, because my change are pure cosmetic for the moment.

Typically i moved all class method implementation from headers to cpp files,
and append missing default constructors or destructors.

For this last point, C++ norm is clear :

"Defining a class without a constructor but with a destructor is perfectly
legal C++, but is not recommended. Your compiler will try to generate a default
constructor for you, which will automatically call the default constructor of
all members in your class. You can explicitly request this by marking your
constructor as default, but you lose finer control over the instantiation of
your class, and cannot do anything but default construct all members of your
class."

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-22 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #178 from Marcel  ---
Created attachment 131868
  --> https://bugs.kde.org/attachment.cgi?id=131868=edit
Address Sanitizer error on PreviewLoadingTask

Gilles, I just checked your changes on the PreviewLoadingTask. I got an error
on the PreviewLoadingTask with the address sanitizer.

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-22 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #177 from caulier.gil...@gmail.com ---
Git commit 5ce6276093c8a636d6844b060cb9020f01c20f18 by Gilles Caulier.
Committed on 22/09/2020 at 13:12.
Pushed by cgilles into branch 'master'.

move all implmentations to cpp files. Header must provide declarations only
always provide a default destructor in implementations.

M  +70   -3core/libs/threadimageio/fileio/loadsavetask.cpp
M  +35   -62   core/libs/threadimageio/fileio/loadsavetask.h

https://invent.kde.org/graphics/digikam/commit/5ce6276093c8a636d6844b060cb9020f01c20f18

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #176 from caulier.gil...@gmail.com ---
Git commit 51e1ccaa60e71f253bb7c760a3f5c678f3cbc902 by Gilles Caulier.
Committed on 22/09/2020 at 05:33.
Pushed by cgilles into branch 'master'.

move all implmentations to cpp files. Header must provide declarations only
always provide a default destructor in implementations.

M  +4-0core/libs/threadimageio/preview/previewloadthread.cpp
M  +23   -7core/libs/threadimageio/preview/previewloadthread.h
M  +14   -1core/libs/threadimageio/preview/previewsettings.cpp
M  +4-3core/libs/threadimageio/preview/previewsettings.h
M  +10   -0core/libs/threadimageio/preview/previewtask.cpp
M  +2-5core/libs/threadimageio/preview/previewtask.h

https://invent.kde.org/graphics/digikam/commit/51e1ccaa60e71f253bb7c760a3f5c678f3cbc902

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #175 from Marcel  ---
Created attachment 131853
  --> https://bugs.kde.org/attachment.cgi?id=131853=edit
heap-use-after-free error

I run Digikam with the address sanitizer
(fbf127ecf30867613d3fe247be85b4f09533e046). Indeed there was an error in the
previewtask. See the output from asan.

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #174 from caulier.gil...@gmail.com ---
Git commit a2f03025488e56fc2c1ae2f3f2e48388b09c0e0f by Gilles Caulier.
Committed on 22/09/2020 at 03:39.
Pushed by cgilles into branch 'master'.

Use heap to create MetaEngine instance to prevent stack overflow

M  +20   -13  
core/dplugins/generic/metadata/geolocationedit/kmlexport/kmlexport.cpp
M  +1-1   
core/dplugins/generic/metadata/geolocationedit/kmlexport/kmlexport.h

https://invent.kde.org/graphics/digikam/commit/a2f03025488e56fc2c1ae2f3f2e48388b09c0e0f

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #173 from caulier.gil...@gmail.com ---
Git commit aa1de72a075ef92c753b90021488e555b246ae42 by Gilles Caulier.
Committed on 22/09/2020 at 03:38.
Pushed by cgilles into branch 'master'.

Use heap to create MetaEngine instance to prevent stack overflow

M  +25   -23   core/dplugins/generic/tools/panorama/tasks/copyfilestask.cpp
M  +0-2core/dplugins/generic/tools/panorama/tasks/copyfilestask.h

https://invent.kde.org/graphics/digikam/commit/aa1de72a075ef92c753b90021488e555b246ae42

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #172 from caulier.gil...@gmail.com ---
Git commit 198dc96fe39c17c038b4b0782fca81cc199bbdc7 by Gilles Caulier.
Committed on 22/09/2020 at 03:52.
Pushed by cgilles into branch 'master'.

Use heap to create MetaEngine instance to prevent stack overflow

M  +3-3core/libs/database/item/scanner/itemscanner.cpp
M  +2-2core/libs/database/item/scanner/itemscanner_file.cpp
M  +3-3core/libs/database/item/scanner/itemscanner_history.cpp
M  +6-0core/libs/database/item/scanner/itemscanner_p.cpp
M  +2-1core/libs/database/item/scanner/itemscanner_p.h
M  +10   -10   core/libs/database/item/scanner/itemscanner_photo.cpp
M  +6-6core/libs/database/item/scanner/itemscanner_video.cpp

https://invent.kde.org/graphics/digikam/commit/198dc96fe39c17c038b4b0782fca81cc199bbdc7

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #171 from caulier.gil...@gmail.com ---
Git commit 464c7cf5d10f84bacfbbe98fe4fa6193e1d64773 by Gilles Caulier.
Committed on 22/09/2020 at 03:09.
Pushed by cgilles into branch 'master'.

Use heap to create MetaEngine instance to prevent stack overflow

M  +15   -9core/libs/jpegutils/jpegutils.cpp
M  +6-1core/libs/jpegutils/jpegutils.h

https://invent.kde.org/graphics/digikam/commit/464c7cf5d10f84bacfbbe98fe4fa6193e1d64773

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #170 from Maik Qualmann  ---
Git commit c12a37ca883329d746c74fa54b94cd39eb8324c9 by Maik Qualmann.
Committed on 21/09/2020 at 20:55.
Pushed by mqualmann into branch 'master'.

remove the created thumbnails threads because they are unused

M  +0-5core/utilities/facemanagement/threads/facepipeline.cpp

https://invent.kde.org/graphics/digikam/commit/c12a37ca883329d746c74fa54b94cd39eb8324c9

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #169 from caulier.gil...@gmail.com ---
Marcel,

yes sure a patch is always welcome.

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #168 from Maik Qualmann  ---
Git commit 090bfe8ffd2ec534a0f2a100e4e2e4c3083e300b by Maik Qualmann.
Committed on 21/09/2020 at 19:47.
Pushed by mqualmann into branch 'master'.

reduce sent face packets

M  +1-1core/utilities/facemanagement/threads/facepreviewloader.cpp

https://invent.kde.org/graphics/digikam/commit/090bfe8ffd2ec534a0f2a100e4e2e4c3083e300b

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #167 from Marcel  ---
Gilles, thank you for this tip with htop. Great to know about such debug
possibilities. Unfortunately the name of about half of the QThread's have the
name "Thread (pooled)".

About the asan. It now works on my computer, but it needed a workaround in your
script. 
find_library(ASAN_LIBRARIES NAMES asan) did not find anything on my system. On
Ubuntu the asan is installed by default with the gcc. See the comment from yugr
on
https://stackoverflow.com/questions/37970758/how-to-use-addresssanitizer-with-gcc.
Should I provide you a patch with a fix?

I now run the scanning again over night with asan enabled.

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #166 from caulier.gil...@gmail.com ---
QThread object name visible as Linux process : the explaination are there :

https://stackoverflow.com/questions/19854932/is-there-a-portable-way-to-give-thread-name-with-qt

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #165 from caulier.gil...@gmail.com ---
Marcel,

In htop, you can setup to turn on the thread names. This can help to identify
the thread functions (i hope that all QThread instances are explicitly
identified with Linux Kernel. Typically, the object name is used for that. I
use this powerful features in my office which run under Linux only.

I suspect that all these threads are used to register faces in database, but
i'm not 100% sure. And the Question is why this happen only few times after a
long running time...

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #164 from Marcel  ---
Created attachment 131836
  --> https://bugs.kde.org/attachment.cgi?id=131836=edit
Face detection process in htop

I tested it on my system and it worked for more than 5 hours. After that
Digikam was killed by another process. The log said only "killed". 

Despite that crash I consider this bug as solved. 

In this 5 hours of scanning I experiences some strange behavior. Memory
increased sometimes in very small steps until it reached a limit, then in a few
seconds 3GB of RAM was released again and all started from the beginning. 

See in the picture htop.png my memory consumption cut down to threads. Why are
there so many threads using so much memory?

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #163 from Marcel  ---
I now included the changes from Maik as well. My test runs now for over 40
minutes. Hey, it didn't crash and I can't see any significant increase in
memory. Probably the last changes from Maik finally solved this bug. Thank you
all for working on this bug. 

@Maik: What was the problem exactly?

I will confirm the result after the scan finishes.

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #162 from Marcel  ---
Bug news, on my test with clang the bad old error occurred again after a few
minutes of scanning:
Thread 47 "Thread (pooled)" received signal SIGSEGV, Segmentation fault.
#1  0x76a852b5 in Digikam::PreviewLoadingTask::execute (this=0xaec5a80)
at
/home/marcel/Repos/digikam/core/libs/threadimageio/preview/previewtask.cpp:321

I will try running it with asan. If my memory is too small I will increase the
swap for this test. I didn't increased swap so far because I think the scanning
must work with 8GB of ram.

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-21 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #161 from Maik Qualmann  ---
Git commit edcab64cdca0ae1800bab455724b9753dffd000c by Maik Qualmann.
Committed on 21/09/2020 at 06:05.
Pushed by mqualmann into branch 'master'.

for a test, remove myself from the loading listener beforehand

M  +5-5core/libs/threadimageio/fileio/loadsavetask.cpp
M  +38   -36   core/libs/threadimageio/preview/previewtask.cpp
M  +4-4core/libs/threadimageio/thumb/thumbnailtask.cpp

https://invent.kde.org/graphics/digikam/commit/edcab64cdca0ae1800bab455724b9753dffd000c

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #160 from caulier.gil...@gmail.com ---
Marcel,

This morning i append ASAN support. There is a new cmake compilation option:

https://invent.kde.org/graphics/digikam/-/blob/master/Mainpage.dox#L461

You need to install libasan-devel for linking stage first (i need to add cmake
check dependencies, it's in my TODO list).

Warning: ASAN require more memory to check... memory allocations (:-)))...

https://en.wikipedia.org/wiki/AddressSanitizer

There are plenty of checker to enable, but for the moment i just turn on the
most common: address sanitizer. I can see a linking failure with other ones.
This need investigations.

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #159 from Marcel  ---
I run the face detection over night and run out of memory again, but it's
definitely not the seg fault from the Preview process that crashes to program.
This part is solved. Thank you Gilles. 

It's true, I'm just playing with face detection and not recognition.

I'm asking about the worker threads as on my system this threads just use more
memory and don't increase the speed of the process. Probably there is some
space for lower memory demand.

I started now compiling with clang to see if the compiler has any effect on
that memory leak.

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #158 from caulier.gil...@gmail.com ---
Git commit ef51f605528649e9f509bd37d2710409f3bf83f0 by Gilles Caulier.
Committed on 20/09/2020 at 21:32.
Pushed by cgilles into branch 'master'.

Add new compilation option to enable compiler sanitizers ASAN and UBSAN
Related: bug 426597

M  +1-0Mainpage.dox
M  +6-1core/CMakeLists.txt
M  +3-1core/cmake/modules/MacroCompiler.cmake

https://invent.kde.org/graphics/digikam/commit/ef51f605528649e9f509bd37d2710409f3bf83f0

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #157 from caulier.gil...@gmail.com ---
Git commit 2b8a165d227d8cb9f90c21db745bc699d254ce44 by Gilles Caulier.
Committed on 20/09/2020 at 20:53.
Pushed by cgilles into branch 'master'.

Use heap to create MetaEngine instance to prevent stack overflow

M  +1-1core/dplugins/bqm/enhance/lensautofix/lensautofix.cpp
M  +1-2core/dplugins/editor/enhance/lensautofix/lensautofixtool.cpp
M  +1-1core/libs/dimg/dimg.h
M  +13   -6core/libs/dimg/filters/lens/lensfuncameraselector.cpp
M  +3-2core/libs/dimg/filters/lens/lensfuncameraselector.h
M  +9-9core/libs/dimg/filters/lens/lensfuniface.cpp
M  +1-1core/libs/dimg/filters/lens/lensfuniface.h
M  +5-5core/libs/fileactionmanager/metadatahub.h
M  +1-1core/tests/filters/testlensfuniface.cpp

https://invent.kde.org/graphics/digikam/commit/2b8a165d227d8cb9f90c21db745bc699d254ce44

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread Maik Qualmann
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #156 from Maik Qualmann  ---
Git commit cd24540e6da7170b56e6a2b9a2de3138d0769969 by Maik Qualmann.
Committed on 20/09/2020 at 20:01.
Pushed by mqualmann into branch 'master'.

check if DImg data equal

M  +4-1core/libs/dimg/dimg_data.cpp

https://invent.kde.org/graphics/digikam/commit/cd24540e6da7170b56e6a2b9a2de3138d0769969

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread Minh Nghia Duong
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #155 from Minh Nghia Duong  ---
(In reply to caulier.gilles from comment #154)

Yes, only one FaceExtractor is allocated at the init sequence of digikam. After
that, the multi-threading only envoked in the recognition process.

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #154 from caulier.gil...@gmail.com ---
Nghia,

i think Marcel only play with face detection, not face recognition for the
moment. FaceExtractor in only relevant with face recognition workflow, right ?

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread Minh Nghia Duong
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #153 from Minh Nghia Duong  ---
(In reply to caulier.gilles from comment #151)
> Marcel,
> 
> You lost memory a little bit, but the infamous crash in Preview thread
> disappear. Right ?
> 
> If yes, we will trying to discover the source of the problem for this
> memory. Next stage for me is to add a new compilation option to use ASAN
> tool:
> 
> https://en.wikipedia.org/wiki/AddressSanitizer
> 
> About multithread while face detection, i'm not sure. If i remmeber, Nghia
> report to me that multicore support in face detection have been disabled for
> performance reasons, as low level API is not re-entrant.
> 
> Perhaps Nghia can provide more details for this point.
> 
> Gilles

Hi Gilles,

It's not quite what you said. I disabled multiple face extractors in faces
engine, which means for now, in faccial recognition, there is only one
FaceExtractor being used. This avoid multiple memory allocation for faical
recognition. However, with only one FaceExtractor, the facial recognition
process still runs multi-threading by using cv::parallel_for_ function.

It's implemented in file :
https://invent.kde.org/graphics/digikam/-/blob/master/core/libs/facesengine/recognition/opencv-dnn/opencvdnnfacerecognizer.cpp
, at lines 465 and 505. 

If you want to desactivate it for a test run, just replace these line with a
normal loop.

Nghia

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #152 from caulier.gil...@gmail.com ---
Git commit a8f47f320928428f102df5ff40a86c3d41184c89 by Gilles Caulier.
Committed on 20/09/2020 at 18:16.
Pushed by cgilles into branch 'master'.

Use heap to create MetaEngine instance to prevent stack overflow

M  +6-6core/libs/properties/geolocation/itempropertiesgpstab.cpp
M  +1-1core/libs/properties/geolocation/itempropertiesgpstab.h
M  +17   -3core/libs/properties/import/importitempropertiessidebar.cpp
M  +5-5core/libs/properties/import/importitempropertiestab.cpp
M  +1-1core/libs/properties/import/importitempropertiestab.h
M  +2-2core/libs/properties/itempropertiesmetadatatab.cpp
M  +3-3core/libs/properties/itempropertiesmetadatatab.h
M  +1-1core/libs/properties/itempropertiessidebardb.cpp

https://invent.kde.org/graphics/digikam/commit/a8f47f320928428f102df5ff40a86c3d41184c89

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #151 from caulier.gil...@gmail.com ---
Marcel,

You lost memory a little bit, but the infamous crash in Preview thread
disappear. Right ?

If yes, we will trying to discover the source of the problem for this memory.
Next stage for me is to add a new compilation option to use ASAN tool:

https://en.wikipedia.org/wiki/AddressSanitizer

About multithread while face detection, i'm not sure. If i remmeber, Nghia
report to me that multicore support in face detection have been disabled for
performance reasons, as low level API is not re-entrant.

Perhaps Nghia can provide more details for this point.

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread Marcel
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #150 from Marcel  ---
(In reply to caulier.gilles from comment #145)
> Marcel,
> 
> I patched all DMetadata/MetaEngine instance to use heap instead stack to
> prevent stack overflow.
> 
> This will improve the stability on your computer ?
> 
> Gilles

I tried the version directly after this comment. Unfortunately it still leaks
memory, but not much. This time my computer run out of memory after around
1.5h. I now start the test again with your most recent commits. I could upload
the system monitor picture during detection. 

What I don't understand is that during face detection 9 threads are running
with full load on my dual core cpu with 4 tubes. From compiling a program it
sait that the best would be the tube number or the tube number +1. Where is my
misunderstanding?

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #149 from caulier.gil...@gmail.com ---
Git commit 3f17d2d4ee8f2877ae6036387ad1360beac1ca84 by Gilles Caulier.
Committed on 20/09/2020 at 16:10.
Pushed by cgilles into branch 'master'.

Use heap to create MetaEngine instance to prevent stack overflow

M  +2-2core/libs/widgets/metadata/exifwidget.cpp
M  +2-2core/libs/widgets/metadata/iptcwidget.cpp
M  +2-2core/libs/widgets/metadata/makernotewidget.cpp
M  +12   -5core/libs/widgets/metadata/metadatawidget.cpp
M  +5-5core/libs/widgets/metadata/metadatawidget.h
M  +3-3core/libs/widgets/metadata/xmpwidget.cpp

https://invent.kde.org/graphics/digikam/commit/3f17d2d4ee8f2877ae6036387ad1360beac1ca84

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #148 from caulier.gil...@gmail.com ---
Git commit 10e2ecab81ecc4f45989f82987021a34dbb3558d by Gilles Caulier.
Committed on 20/09/2020 at 15:58.
Pushed by cgilles into branch 'master'.

Use heap to create MetaEngine instance to prevent stack overflow

M  +3-3core/libs/widgets/metadata/exifwidget.cpp
M  +3-3core/libs/widgets/metadata/iptcwidget.cpp
M  +3-3core/libs/widgets/metadata/makernotewidget.cpp
M  +3-3core/libs/widgets/metadata/xmpwidget.cpp

https://invent.kde.org/graphics/digikam/commit/10e2ecab81ecc4f45989f82987021a34dbb3558d

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #147 from caulier.gil...@gmail.com ---
Git commit b4589b0d2a0e31cb709da3554c0190c8d71f7b89 by Gilles Caulier.
Committed on 20/09/2020 at 15:49.
Pushed by cgilles into branch 'master'.

Use heap to create MetaEngine instance to prevent stack overflow

M  +10   -10   core/libs/properties/itempropertiesmetadatatab.cpp
M  +1-1core/libs/widgets/metadata/metadatawidget.cpp

https://invent.kde.org/graphics/digikam/commit/b4589b0d2a0e31cb709da3554c0190c8d71f7b89

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #146 from caulier.gil...@gmail.com ---
Git commit e79a1a3bd23e886cbb230395b588470dfd04c236 by Gilles Caulier.
Committed on 20/09/2020 at 14:30.
Pushed by cgilles into branch 'master'.

Use heap to create MetaEngine instance to prevent stack overflow

M  +28   -26   core/dplugins/generic/tools/panorama/tasks/preprocesstask.cpp
M  +6-6core/dplugins/generic/webservices/google/gphoto/gptalker.cpp
M  +17   -13   core/dplugins/generic/webservices/google/gswindow.cpp
M  +8-7core/dplugins/generic/webservices/pinterest/ptalker.cpp
M  +8-7core/dplugins/generic/webservices/twitter/twittertalker.cpp
M  +22   -18   core/dplugins/generic/webservices/yandexfotki/yfwindow.cpp
M  +5-5core/libs/dialogs/imagedialog.cpp

https://invent.kde.org/graphics/digikam/commit/e79a1a3bd23e886cbb230395b588470dfd04c236

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #145 from caulier.gil...@gmail.com ---
Marcel,

I patched all DMetadata/MetaEngine instance to use heap instead stack to
prevent stack overflow.

This will improve the stability on your computer ?

Gilles

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #144 from caulier.gil...@gmail.com ---
Git commit fc1026412d461c3922f430ab3b800323d2df98c7 by Gilles Caulier.
Committed on 20/09/2020 at 12:36.
Pushed by cgilles into branch 'master'.

Use heap to create MetaEngine instance to prevent stack overflow

M  +24   -24   core/dplugins/generic/metadata/metadataedit/exif/exifadjust.cpp
M  +29   -29   core/dplugins/generic/metadata/metadataedit/exif/exifcaption.cpp
M  +36   -36  
core/dplugins/generic/metadata/metadataedit/exif/exifdatetime.cpp
M  +50   -50   core/dplugins/generic/metadata/metadataedit/exif/exifdevice.cpp
M  +14   -14  
core/dplugins/generic/metadata/metadataedit/exif/exifeditwidget.cpp
M  +28   -28   core/dplugins/generic/metadata/metadataedit/exif/exiflens.cpp
M  +18   -18   core/dplugins/generic/metadata/metadataedit/exif/exiflight.cpp
M  +11   -11  
core/dplugins/generic/metadata/metadataedit/iptc/iptccategories.cpp
M  +18   -18   core/dplugins/generic/metadata/metadataedit/iptc/iptccontent.cpp
M  +23   -23   core/dplugins/generic/metadata/metadataedit/iptc/iptccredits.cpp
M  +11   -11  
core/dplugins/generic/metadata/metadataedit/iptc/iptceditwidget.cpp
M  +35   -35  
core/dplugins/generic/metadata/metadataedit/iptc/iptcenvelope.cpp
M  +8-8   
core/dplugins/generic/metadata/metadataedit/iptc/iptckeywords.cpp
M  +39   -39   core/dplugins/generic/metadata/metadataedit/iptc/iptcorigin.cpp
M  +37   -37  
core/dplugins/generic/metadata/metadataedit/iptc/iptcproperties.cpp
M  +17   -17   core/dplugins/generic/metadata/metadataedit/iptc/iptcstatus.cpp
M  +8-8   
core/dplugins/generic/metadata/metadataedit/iptc/iptcsubjects.cpp
M  +11   -11  
core/dplugins/generic/metadata/metadataedit/xmp/xmpcategories.cpp
M  +23   -23   core/dplugins/generic/metadata/metadataedit/xmp/xmpcontent.cpp
M  +66   -66   core/dplugins/generic/metadata/metadataedit/xmp/xmpcredits.cpp
M  +11   -11  
core/dplugins/generic/metadata/metadataedit/xmp/xmpeditwidget.cpp
M  +8-8core/dplugins/generic/metadata/metadataedit/xmp/xmpkeywords.cpp
M  +56   -56   core/dplugins/generic/metadata/metadataedit/xmp/xmporigin.cpp
M  +23   -23  
core/dplugins/generic/metadata/metadataedit/xmp/xmpproperties.cpp
M  +17   -17   core/dplugins/generic/metadata/metadataedit/xmp/xmpstatus.cpp
M  +8-8core/dplugins/generic/metadata/metadataedit/xmp/xmpsubjects.cpp

https://invent.kde.org/graphics/digikam/commit/fc1026412d461c3922f430ab3b800323d2df98c7

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

[digikam] [Bug 426175] Segmentation fault while Faces detection

2020-09-20 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=426175

--- Comment #143 from caulier.gil...@gmail.com ---
Git commit 115956282471cb03a45ea61a821da26a0df2d698 by Gilles Caulier.
Committed on 20/09/2020 at 12:32.
Pushed by cgilles into branch 'master'.

Use heap to create MetaEngine instance to prevent stack overflow

M  +6-6   
core/dplugins/editor/colors/profileconversion/profileconversiontool.cpp
M  +4-2core/dplugins/editor/enhance/lensautofix/lensautofixtool.cpp
M  +6-6core/dplugins/generic/webservices/box/boxtalker.cpp
M  +6-6core/dplugins/generic/webservices/dropbox/dbtalker.cpp
M  +6-6core/dplugins/generic/webservices/facebook/fbwindow.cpp
M  +8-8core/dplugins/generic/webservices/filecopy/fctask.cpp
M  +8-8core/dplugins/generic/webservices/flickr/flickrtalker.cpp
M  +6-6core/dplugins/generic/webservices/google/gdrive/gdtalker.cpp
M  +7-7core/dplugins/generic/webservices/google/gphoto/gptalker.cpp
M  +10   -10   core/dplugins/generic/webservices/imgur/imgurimageslist.cpp
M  +8-7core/dplugins/generic/webservices/ipfs/ipfsimageslist.cpp
M  +8-8core/dplugins/generic/webservices/mediawiki/mediawikiwindow.cpp
M  +6-6core/dplugins/generic/webservices/onedrive/odtalker.cpp
M  +6-6core/dplugins/generic/webservices/piwigo/piwigotalker.cpp
M  +6-6core/dplugins/generic/webservices/rajce/rajcecommand.cpp
M  +6-6core/dplugins/generic/webservices/smugmug/smugwindow.cpp

https://invent.kde.org/graphics/digikam/commit/115956282471cb03a45ea61a821da26a0df2d698

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

  1   2   3   >