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

--- Comment #7 from caulier.gil...@gmail.com ---
The bug for the digiKam plugin is due to and older Windows build used by Tom,
where i forget to delete the MainWindow instance between sessions. I'm sure
that this Bugzilla has nothing to do with your crash.

Note: I seen a crash when you Apply a filter (eg. B&W for ex), the host update
the contents in background, and if you press OK too quickly, especially on slow
computer, the plugin crash violently due to a race condition on internal image
data. It's a special use case of course, but something must be improved here...
I don't yet investigated.

For your crash, perhaps there is a problem in your Windows build. This depend
of the compiler and the settings passed, as the famous stack size. In case of
digiKam version, we use MXE (MinGW based cross compiler). There is no Windows
computer to build the Windows installer at all.

My tips concerning this king of in-deep crash :

* Static analyzers:

- pass cppcheck and verify all points reported.
- for Qt specific code there are 2 static analyzers developed by KDE team :
Krazy and Clazy. I already found petrol in source code with this kind of
parsers.
- finally, the best is a closed source static analyzer, but usable with open
source project : Coverity. With this one the reports are differents and also i
found important entries.

* Run-time analyzers:

- clang ASAN memory analyzers are very powerful and do not slow down the
application.
- valgrind can be used also of course, but application is slow down more than
20 times at least. very powerful with unit-tests, but for a large application,
it's complicated to use.

Use Linux as first time test OS, validate your code, and cross compile for
Windows, compiler will be the same, this will prevent to much difference. Using
MSVC is just a waste of time as it introduce more variable in the stability.
MSVC is at least 10 years in the pass compared to GCC and Clang. *Gmic* cross
compile very well, i'm sure i do it.

Just my experience for digiKam where we have more than 1.5 M lines of Qt code,
that we maintain since 20 years now... I apply also this kind of CI in my
office where we have plenty of Qt codes used in stressing RT data acquisitions
environments (nuclear reactor !).

My best

Gilles

LINKS:

https://github.com/danmar/cppcheck
https://github.com/mxe/mxe
https://github.com/Krazy-collection/krazy
https://github.com/KDE/clazy
https://scan.coverity.com/
https://valgrind.org/
https://clang.llvm.org/docs/AddressSanitizer.html

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

Reply via email to