Bug 472710 - [5.2 Beta1 Appimage] Instant crash when creating a text selection area
Summary: [5.2 Beta1 Appimage] Instant crash when creating a text selection area
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tool/Text (show other bugs)
Version: nightly build (please specify the git hash!)
Platform: Appimage Linux
: NOR crash
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords: release_blocker
Depends on:
Blocks:
 
Reported: 2023-07-27 18:48 UTC by Protoniv
Modified: 2023-08-08 12:23 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Protoniv 2023-07-27 18:48:51 UTC
SUMMARY

Appimage, when using text tool to draw a rectangle area on canvas and release mouse/stylus, krita crash instantly.
(Also tried on Windows 10 portable version, krita will hang for a short while, and the text window will launch normally.)

STEPS TO REPRODUCE
1. Open a new document
2. Choose text tool and create an area for text on canvas
3. Krita crash

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: OpenSUSE 15.5
(available in About System)
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.103.0
Qt Version: 5.15.8

ADDITIONAL INFORMATION
Can't get the crashlog backtrace with appimage, but here is the output when launch from terminal.

***
krita.lib.pigment: Replacing color space factory "LABA" "L*a*b* (16 位元整數/每通道,無色彩管理)" with "LABA" "L*a*b*/Alpha (16 位元整數/每通道)"
krita.lib.pigment: Replacing color space factory "RGBA" "RGB (8 位元整數/每通道,無色彩管理)" with "RGBA" "RGB/Alpha (8 位元整數/每通道)"
krita.lib.pigment: Replacing color space factory "RGBA16" "RGB (16 位元整數/每通道,無色彩管理)" with "RGBA16" "RGB/Alpha (16 位元整數/每通道)"
QObject::startTimer: Timers cannot have negative intervals
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
/tmp/.mount_krita-FcCHkq/usr/lib/krita-python-libs/krita added to PYTHONPATH
QObject::connect: Cannot connect QAction::triggered(bool) to (nullptr)::toggle()
QAbstractItemModel::endInsertColumns:  Invalid index ( 0 , 101 ) in model KisAnimTimelineFramesModel(0x55f253542740)
/tmp/.mount_krita-FcCHkq/usr/bin/krita: symbol lookup error: /tmp/.mount_krita-FcCHkq/usr/bin/../lib/libraqm.so.0: undefined symbol: FT_Get_Transform
***
Comment 1 wolthera 2023-07-27 19:10:09 UTC
The problem is "FT_Get_Transform", which means that the appimage is somehow using the wrong version of freetype?????
Comment 2 Alvin Wong 2023-07-30 15:38:14 UTC
It looks like the AppImage does not include the shared objects for freetype, and also harfbuzz and fontconfig. This is be a problem we need to address, because we probably expect to be using some rather recent versions of them.

`FT_Get_Transform` was added in freetype 2.11.0. OpenSUSE still only has 2.10.x according to https://repology.org/project/freetype/versions.
Comment 3 wolthera 2023-07-31 09:23:28 UTC
Marking this as a release blocker.
Comment 4 Dmitry Kazakov 2023-08-08 12:22:42 UTC
Git commit c1ad0bce3930ff10a6e6aa43058901ce51a03f3c by Dmitry Kazakov.
Committed on 08/08/2023 at 14:22.
Pushed by dkazakov into branch 'master'.

Embed our font libraries into the AppImage

We require quite new font libraries for Krita with experimental features,
so we cannot expect system libraries to be present.

I first tried to use the same fallback approach like we use for
libstdc++, but then remembered that these libraries do not guarantee
backwards compatibility, so we shouldn't try that.

M  +7    -0    packaging/linux/appimage/build-image.sh

https://invent.kde.org/graphics/krita/-/commit/c1ad0bce3930ff10a6e6aa43058901ce51a03f3c
Comment 5 Dmitry Kazakov 2023-08-08 12:23:27 UTC
Git commit fcf9e4ab46939ce7475f19d8728281b85468b2fb by Dmitry Kazakov.
Committed on 08/08/2023 at 14:23.
Pushed by dkazakov into branch 'krita/5.2'.

Embed our font libraries into the AppImage

We require quite new font libraries for Krita with experimental features,
so we cannot expect system libraries to be present.

I first tried to use the same fallback approach like we use for
libstdc++, but then remembered that these libraries do not guarantee
backwards compatibility, so we shouldn't try that.

M  +7    -0    packaging/linux/appimage/build-image.sh

https://invent.kde.org/graphics/krita/-/commit/fcf9e4ab46939ce7475f19d8728281b85468b2fb