Bug 374565 - krita crash on start with eigen 3.3 and DPACKAGERS_BUILD off
Summary: krita crash on start with eigen 3.3 and DPACKAGERS_BUILD off
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: 3.1.1
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
: 375614 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-01-04 21:58 UTC by animtim
Modified: 2017-01-30 12:42 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
crash log (11.46 KB, text/x-log)
2017-01-04 21:58 UTC, animtim
Details

Note You need to log in before you can comment on or make changes to this bug.
Description animtim 2017-01-04 21:58:42 UTC
Created attachment 103200 [details]
crash log

After a clean build of the latest 3.1 branch on my workstation,
I have this crash on application start (see attached log).

I did have a system update, so that's most probably related.

Btw, I couldn't send the report from Dr Konqi, as it complained the application krita doesn't provide address for the bug report (something like that in french..)
Comment 1 Halla Rempt 2017-01-05 09:35:44 UTC
Um... I am pretty sure that this is a local problem...
Comment 2 animtim 2017-01-05 13:34:00 UTC
Ok, more infos:
This crash happens with eigen 3.3.1 and 3.3.0 (on my computer with amd A10 cpu, if that matters).
When using eigen 3.2.10 instead, no more crash.
Comment 3 Gael Guennebaud 2017-01-05 20:35:53 UTC
Let me paste what I said on IRC. My best bet is that libs/image is built with -mavx or -march=native (or similar), whereas the plugin convolutionfilters is built with SSE only. This breaks the ABI, and in particular, the plugin create a MatrixXd with 16bytes alignement whereas lib/image expect 32 bytes alignment by default to comply with AVX requirements.

If you want SSE/AVX compatibility, then you have to compile all libs/plugins that use Eigen with either:
  -DEIGEN_MAX_ALIGN_BYTES=16
  -DEIGEN_MAX_ALIGN_BYTES=32
Comment 4 Halla Rempt 2017-01-07 13:25:49 UTC
Timothee, do you build with -dPACKAGERS_BUILD=ON or OFF? If off, then Gael's explanation might be possible, but with ON, we build separate object files for every vectorization extension, which is basically everything that uses Vc.
Comment 5 animtim 2017-01-07 18:20:22 UTC
Indeed I do build with -DPACKAGERS_BUILD=OFF .
Comment 6 animtim 2017-01-08 16:30:01 UTC
And yes, if I build with DPACKAGERS_BUILD=ON, no more crash.
updated the bug title.
Comment 7 Halla Rempt 2017-01-09 14:02:05 UTC
I think it's time to retire that option and always build with it enabled.
Comment 8 Halla Rempt 2017-01-25 09:46:39 UTC
Git commit a46bc0f05f8b2ee10878ea1a1e88e312c93b3ca8 by Boudewijn Rempt.
Committed on 25/01/2017 at 09:45.
Pushed by rempt into branch 'master'.

This complicates builds, is less compatible with Eigen3 and doesn't
give a noticable performance improvement if turned off.

M  +4    -4    3rdparty/README.md
M  +0    -17   CMakeLists.txt
M  +0    -1    config-vc.h.cmake
M  +0    -24   libs/pigment/compositeops/KoVcMultiArchBuildSupport.h

https://commits.kde.org/krita/a46bc0f05f8b2ee10878ea1a1e88e312c93b3ca8
Comment 9 Halla Rempt 2017-01-27 13:40:52 UTC
*** Bug 375614 has been marked as a duplicate of this bug. ***
Comment 10 Nicholas LaPointe 2017-01-30 12:42:38 UTC
Git commit c69232ab2749de9651c35c9b2c5c58f3d4f12a1e by Nicholas LaPointe.
Committed on 30/01/2017 at 12:41.
Pushed by nicholasl into branch 'krita/3.1'.

Remove the PACKAGERS_BUILD option

This commit makes nearly the same changes as the following commits in master:

commit bf7e7db4e8aa9bc3f551bc5de28c36c2a587011b
Author: Nicholas LaPointe <nicholaslapointe8@gmail.com>
Date:   Mon Jan 30 07:33:01 2017 -0500

    Remove remnants of PACKAGERS_BUILD option

    After the option was removed in a46bc0f05f8b2ee10878ea1a1e88e312c93b3ca8, Krita would segfault at startup for me. This patch fixes that and removes other references to PACKAGERS_BUILD.

    Differential Revision: https://phabricator.kde.org/D4327

commit a46bc0f05f8b2ee10878ea1a1e88e312c93b3ca8
Author: Boudewijn Rempt <boud@valdyas.org>
Date:   Wed Jan 25 10:45:52 2017 +0100

    This complicates builds, is less compatible with Eigen3 and doesn't
    give a noticable performance improvement if turned off.

M  +4    -4    3rdparty/README.md
M  +0    -17   CMakeLists.txt
M  +0    -2    README_PACKAGERS.md
M  +0    -1    config-vc.h.cmake
M  +0    -3    libs/image/CMakeLists.txt
M  +0    -24   libs/pigment/compositeops/KoVcMultiArchBuildSupport.h
M  +0    -1    packaging/linux/appimage/build-krita.sh
M  +0    -1    packaging/linux/appimage/build-release.sh
M  +1    -1    packaging/osx/notes.txt
M  +0    -1    packaging/osx/run-cmake-krita.sh
M  +1    -1    packaging/windows/build.bat
M  +1    -1    packaging/windows/build_krita.bat
M  +1    -1    packaging/windows/mxe.txt

https://commits.kde.org/krita/c69232ab2749de9651c35c9b2c5c58f3d4f12a1e