In the latest several nightly master releases, Krita crashes on startup. The output it gives when run in terminal is this: > krita.lib.pigment: Replacing color space factory "LABA" "L*a*b* (16-bit integer/channel, unmanaged)" with "LABA" "L*a*b*/Alpha (16-bit integer/channel)" > krita.lib.pigment: Replacing color space factory "RGBA" "RGB (8-bit integer/channel, unmanaged)" with "RGBA" "RGB/Alpha (8-bit integer/channel)" > krita.lib.pigment: Replacing color space factory "RGBA16" "RGB (16-bit integer/channel, unmanaged)" with "RGBA16" "RGB/Alpha (16-bit integer/channel)" > QObject::startTimer: Timers cannot have negative intervals > /tmp/.mount_krita-MpqDCc/usr/lib/krita-python-libs/krita added to PYTHONPATH I have tested from 0e85ce2a to the latest d92f026c
I've seen it for quite a long time, I'll assign and see what's going on. However, this is not a crash, just a complaint from inside the Qt runtime.
Not sure what is causing the crash at startup then, as that's the entire console output. It acts similarly to the bug from not too long ago with the X11 window system, where it wouldn't even make it to the splash screen.
If I remember correctly, the QTimer warning is coming from here: https://invent.kde.org/graphics/krita/-/commit/19ba224692a52b1d5799fda308bed4b02ff38f7a
Created attachment 156657 [details] Backtrace of the hit
Halla, is this workaround still needed? Both bugs are closed (if dubiously) in upstream.
Update: I tried defining locally`-no-feature-bearermanagement` to remove the affected component, since it's already deprecated in Qt5 and removed in Qt6. However, that breaks build because PyQt5 itself hard expects that component to be present to build its API.
I don't know whether it's still needed. It really was an obscure bug...
I'll try and remove the bearer management support from Qt and PyQt5. That'll enable us to drop the workaround.
We'd still have to have the workaround for distribution packages, though.
I know. There's a macro that Qt exposes when the bearer management isn't built and that we can use. PyQt5, for some reason, has never made use of it so that's why it needs extra work, otherwise it'll build everything and fail at SIP binding creation.