[digikam] [Bug 365202] New: git master 2016-07-07 : Segfault on faces detect.

classic Classic list List threaded Threaded
83 messages Options
12345
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] New: git master 2016-07-07 : Segfault on faces detect.

bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

            Bug ID: 365202
           Summary: git master 2016-07-07 : Segfault on faces detect.
           Product: digikam
           Version: unspecified
          Platform: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: Faces-Engine
          Assignee: [hidden email]
          Reporter: [hidden email]

This looks very similar to bug 262596, but that bug is from 2011, and says it's
fixed, and I am getting segfaults with a compiled from sources from git of
today.

I was trying out digikam's faces detect on the git master from a couple days
back, and noticed that the application is crash-happy when detecting/tagging
faces. So, I pulled from git today, and retried the operation.

So, to test, I just opened digikam, pointed it at a directory of photos and let
the face detect do it's thing.


Reproducible: Always

Steps to Reproduce:
1. Open digikam
2. Select "faces" icon
3. Select scan database for face.
4. select subset of photo database
5. Set it to detect faces only, not try to recognize them.
6. Let it run...


Actual Results:  
The program segfaults after running for a few minutes.

Expected Results:  
All the faces to be detected without a segfault.

I am using three MariaDB databases for DigiKam, rather than the internal
sqlite.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] git master 2016-07-07 : Segfault on faces detect.

bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #1 from Evert Vorster <[hidden email]> ---
Created attachment 99925
  --> https://bugs.kde.org/attachment.cgi?id=99925&action=edit
Backtrace of the fault

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] git master 2016-07-07 : Segfault on faces detect.

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #2 from Evert Vorster <[hidden email]> ---
Created attachment 99926
  --> https://bugs.kde.org/attachment.cgi?id=99926&action=edit
A different segfault on updating the faces database

I have a feeling that the faces detect, and updating the faces database may be
related.
With this log I was just sorting through the unknown faces, with no face detect
running.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] git master 2016-07-07 : Segfault on faces detect.

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

[hidden email] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]
            Version|unspecified                 |5.0.0

--- Comment #3 from [hidden email] ---
Which OpenCV version you use ? Look in Components Info dialog for details.

Did you use multicore CPU option to detect face ?

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] Segfault on faces detect.

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

[hidden email] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|git master 2016-07-07 :     |Segfault on faces detect.
                   |Segfault on faces detect.   |

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] Segfault on faces detect.

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #4 from [hidden email] ---
The backtrace do not include debug symbols. Please recompile whole digiKam
source code with debug, using cmake option "-DCMAKE_BUILD_TYPE=debug"

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] Segfault on faces detect.

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #5 from Evert Vorster <[hidden email]> ---
Rebuiding takes a while.
In the meantime, I found the option for using multiple CPU, and on my machine
it is turned off.

I'll go recompile with debug options.

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] Segfault on faces detect.

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #6 from Evert Vorster <[hidden email]> ---
rebuilding the debug version is unfortunately taking longer than expected. It
ate up all my space on a 4gb /tmp... and it took two tries to figure that out.

It's building now, on a much bigger drive.

However, I can reliably crash digikam. It "feels" like it's a race condition.
Paradoxially, when my system is really busy and slow to respond it's much more
difficult to crash digikam.

I'll have a proper report in the morning. ;)

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] Segfault on faces detect.

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #7 from Evert Vorster <[hidden email]> ---
Created attachment 99938
  --> https://bugs.kde.org/attachment.cgi?id=99938&action=edit
Segfault with full debugging symbols

Finally managed to get this full debud build.
I'll add a few more crash logs...

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] Segfault on faces detect.

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #8 from Evert Vorster <[hidden email]> ---
Created attachment 99939
  --> https://bugs.kde.org/attachment.cgi?id=99939&action=edit
full debug, only faces detect

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] External MySQL database update segfault

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

Evert Vorster <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Segfault on faces detect.   |External MySQL database
                   |                            |update segfault

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] External MySQL database update segfault

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #9 from Evert Vorster <[hidden email]> ---
Created attachment 99940
  --> https://bugs.kde.org/attachment.cgi?id=99940&action=edit
segfault just updating the faces database

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] External MySQL database faces update segfault

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

[hidden email] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|Faces-Engine                |Database-Mysql
            Summary|External MySQL database     |External MySQL database
                   |update segfault             |faces update segfault

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] External MySQL database faces update segfault

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #10 from [hidden email] ---
So you use Mysql as database. Right ?

and which Opencv library version you use ? 2.x or 3.x ?

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] External MySQL database faces update segfault

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #11 from Evert Vorster <[hidden email]> ---
The database is MariaDB, which is the same as MySQL, I believe.

I use OpenCV 3.x

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] External MySQL database faces update segfault

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

[hidden email] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]

--- Comment #12 from [hidden email] ---
If the crash is a race condition between the FaceManagement code and the
database interface, perhaps valgrind can help to identify when memory is
corrupted. Typically it's in face histogram computation thread.

Note : Face detection do not crash using Sqlite database here. I process 20K
images in 10 minutes on my main linux computer.

Gilles Caulier

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] External MySQL database faces update segfault

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #13 from Evert Vorster <[hidden email]> ---
Created attachment 99946
  --> https://bugs.kde.org/attachment.cgi?id=99946&action=edit
Valgrind log of a segfault

Finally, a Valgrind log of the error

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] External MySQL database faces update segfault

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #14 from Evert Vorster <[hidden email]> ---
Created attachment 99947
  --> https://bugs.kde.org/attachment.cgi?id=99947&action=edit
Konsole output around the error.

Noticed this error about halfway down the attached file. For some reason MySQL
was "not available"

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] External MySQL database faces update segfault

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #15 from [hidden email] ---
Sound like the source of the problem :

==16753== Conditional jump or move depends on uninitialised value(s)
==16753==    at 0x973DFAA: ??? (in /usr/lib/libopencv_objdetect.so.3.1.0)
==16753==    by 0x9744026: ??? (in /usr/lib/libopencv_objdetect.so.3.1.0)
==16753==    by 0xC22C56C: cv::parallel_for_(cv::Range const&,
cv::ParallelLoopBody const&, double) (in /usr/lib/libopencv_core.so.3.1.0)
==16753==    by 0x9745AE0: ??? (in /usr/lib/libopencv_objdetect.so.3.1.0)
==16753==    by 0x9750104: ??? (in /usr/lib/libopencv_objdetect.so.3.1.0)
==16753==    by 0x973AE2D: ??? (in /usr/lib/libopencv_objdetect.so.3.1.0)
==16753==    by 0x974EF74:
cv::CascadeClassifier::detectMultiScale(cv::_InputArray const&,
std::vector<cv::Rect_<int>, std::allocator<cv::Rect_<int> > >&, double, int,
int, cv::Size_<int>, cv::Size_<int>) (in /usr/lib/libopencv_objdetect.so.3.1.0)
==16753==    by 0x5000F2D:
FacesEngine::OpenCVFaceDetector::cascadeResult(cv::Mat const&,
FacesEngine::Cascade&, FacesEngine::DetectObjectParameters const&) const
(opencvfacedetector.cpp:469)
==16753==    by 0x5001F5A: FacesEngine::OpenCVFaceDetector::verifyFace(cv::Mat
const&, QRect const&) const (opencvfacedetector.cpp:536)
==16753==    by 0x500360C: FacesEngine::OpenCVFaceDetector::detectFaces(cv::Mat
const&, cv::Size_<int> const&) (opencvfacedetector.cpp:767)
==16753==    by 0x5019A31: FacesEngine::FaceDetector::detectFaces(QImage
const&, QSize const&) (facedetector.cpp:160)
==16753==    by 0x5324A5A:
Digikam::DetectionWorker::process(QExplicitlySharedDataPointer<Digikam::FacePipelineExtendedPackage>)
(facepipeline.cpp:483)
==16753==  Uninitialised value was created by a heap allocation
==16753==    at 0x4C2ABD0: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==16753==    by 0xC079B21: cv::fastMalloc(unsigned long) (in
/usr/lib/libopencv_core.so.3.1.0)
==16753==    by 0xC1CD3D0: cv::Mat::create(int, int const*, int) (in
/usr/lib/libopencv_core.so.3.1.0)
==16753==    by 0x974BB2E: ??? (in /usr/lib/libopencv_objdetect.so.3.1.0)
==16753==    by 0x9745609: ??? (in /usr/lib/libopencv_objdetect.so.3.1.0)
==16753==    by 0x9750104: ??? (in /usr/lib/libopencv_objdetect.so.3.1.0)
==16753==    by 0x973AE2D: ??? (in /usr/lib/libopencv_objdetect.so.3.1.0)
==16753==    by 0x974EF74:
cv::CascadeClassifier::detectMultiScale(cv::_InputArray const&,
std::vector<cv::Rect_<int>, std::allocator<cv::Rect_<int> > >&, double, int,
int, cv::Size_<int>, cv::Size_<int>) (in /usr/lib/libopencv_objdetect.so.3.1.0)
==16753==    by 0x5000F2D:
FacesEngine::OpenCVFaceDetector::cascadeResult(cv::Mat const&,
FacesEngine::Cascade&, FacesEngine::DetectObjectParameters const&) const
(opencvfacedetector.cpp:469)
==16753==    by 0x5001F5A: FacesEngine::OpenCVFaceDetector::verifyFace(cv::Mat
const&, QRect const&) const (opencvfacedetector.cpp:536)
==16753==    by 0x500360C: FacesEngine::OpenCVFaceDetector::detectFaces(cv::Mat
const&, cv::Size_<int> const&) (opencvfacedetector.cpp:767)
==16753==    by 0x5019A31: FacesEngine::FaceDetector::detectFaces(QImage
const&, QSize const&) (facedetector.cpp:160)

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[digikam] [Bug 365202] External MySQL database faces update segfault

bugzilla_noreply
In reply to this post by bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=365202

--- Comment #16 from Evert Vorster <[hidden email]> ---
I'm sorry, I can't read that log as clearly as you do. I know how to produce
them, and then hopefully someone smarter than me can pick at it and hopefully
update the git with a fix.

Can you put it in layman's terms, please? What happens next?

--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
12345