Bug 433634

Summary: Segmentation fault at startup. Seems to be an issue with graphics initialization relating to deepin.
Product: [Applications] krita Reporter: Holden Green <awesomeholdengreen>
Component: GeneralAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED NOT A BUG    
Severity: crash CC: halla
Priority: NOR    
Version First Reported In: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Manjaro   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Holden Green 2021-02-26 06:38:22 UTC
I have tried updating Krita and building from source yesterday. Krita used to work, but I have been having this issue for a while that it immediately crashes (segfault) at initialization.


These I assume are the steps reproduce.
1. Install Manjaro KDE.
2. Install deepin packages.
3. Install krita.
4. Enjoy not being able to use Krita I guess.

I used gdb for debugging.

Output after running:
```
Thread 1 "krita" received signal SIGSEGV, Segmentation fault.
0x00007fffee34a3fa in deepin_platform_plugin::DPlatformIntegration::~DPlatformIntegration() () from /usr/lib/qt/plugins/platforms/libdxcb.so
```

Output after backtracing:
```
#0  0x00007fffee34a3fa in deepin_platform_plugin::DPlatformIntegration::~DPlatformIntegration() () at /usr/lib/qt/plugins/platforms/libdxcb.so                
#1  0x00007fffee34a41a in deepin_platform_plugin::DPlatformIntegration::~DPlatformIntegration() () at /usr/lib/qt/plugins/platforms/libdxcb.so                
#2  0x00007ffff2b1e8fc in QGuiApplicationPrivate::~QGuiApplicationPrivate() ()
    at /usr/lib/libQt5Gui.so.5
#3  0x00007ffff2b1ec7a in QGuiApplicationPrivate::~QGuiApplicationPrivate() ()
    at /usr/lib/libQt5Gui.so.5
#4  0x00007fffee348fba in deepin_platform_plugin::VtableHook::autoCleanVtable(void const*) () at /usr/lib/qt/plugins/platforms/libdxcb.so                     
#5  0x00007ffff2b21bca in QGuiApplication::~QGuiApplication() ()
    at /usr/lib/libQt5Gui.so.5
#6  0x00007ffff6e849ac in QScopedPointerDeleter<QGuiApplication>::cleanup(QGuiApplication*) (pointer=0x55555769bd60)                                          
    at /usr/include/qt/QtCore/qscopedpointer.h:52
#7  QScopedPointer<QGuiApplication, QScopedPointerDeleter<QGuiApplication> >::~QScopedPointer() (this=<synthetic pointer>, __in_chrg=<optimized out>)         
    at /usr/include/qt/QtCore/qscopedpointer.h:107
#8  KisOpenGLModeProber::probeFormat(KisOpenGL::RendererConfig const&, bool)
    (this=this@entry=0x7ffff7fb6e18 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>, rendererConfig=..., adjustGlobalState=adjustGlobalState@entry=true)
    at /home/holden/kritadev/krita/libs/ui/opengl/KisOpenGLModeProber.cpp:152
#9  0x00007ffff6e5f0ba in KisOpenGL::selectSurfaceConfig(KisOpenGL::OpenGLRenderer, KisConfig::RootSurfaceFormat, bool)                                       
    (preferredRenderer=preferredRenderer@entry=KisOpenGL::RendererAuto, preferredRootSurfaceFormat=preferredRootSurfaceFormat@entry=KisConfig::BT709_G22, enableDebug=enableDebug@entry=false)
    at /home/holden/kritadev/krita/libs/ui/opengl/kis_opengl.cpp:779
#10 0x0000555555e29a8a in main(int, char**)
    (argc=<optimized out>, argv=0x7fffffffd7b8)
    at /home/holden/kritadev/krita/krita/main.cc:288
```
    
I would like to get Krita working on my system.

Linux/KDE Plasma: 5.10.2-2-MANJARO
KDE Plasma Version: 5.20.4
KDE Frameworks Version: 5.77.0
Qt Version: 5.15-2
Comment 1 Halla Rempt 2021-02-26 10:30:21 UTC
Please first try to run Krita without Deepin installed. If you can reproduce the issue without Deepin, we might have a real bug. Or it might be a broken graphics driver. Or a bug in Qt 5.15...

The Deepin developers are the kind of people who think that reading the first few bytes of a _zero_ byte jpg file will help reliability in detecting whether that file is a valid jpg file.
Comment 2 Holden Green 2021-02-27 05:18:09 UTC
Solved either by updating, restarting, using qt5ct as recommended here(https://bbs.archlinux.org/viewtopic.php?id=256971) or some mixture of those things.

I use the Deepin terminal and probably some other things.

What I don't understand is why Krita would even need to be interacting with Deepin at all?
Comment 3 Halla Rempt 2021-02-27 08:59:41 UTC
It's the other way around. Deepin installs stuff that interferes with Qt (and Krita is built on Qt), namely a platform plugin: deepin_platform_plugin::DPlatformIntegration -- and that can break all sorts of things.