Bug 440296 - Slow database operations and crashes with Mariadb 10.6.3
Summary: Slow database operations and crashes with Mariadb 10.6.3
Status: RESOLVED UPSTREAM
Alias: None
Product: digikam
Classification: Applications
Component: Database-Engine (show other bugs)
Version: 7.4.0
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-26 12:26 UTC by maderios
Modified: 2022-01-23 18:38 UTC (History)
6 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description maderios 2021-07-26 12:26:18 UTC
Hi
Each time i launch Digikam, "find new item" takes a very long time. It seems Digikam db don't remember files. 
This  issue doesn't happen with Mariadb 10.5: first Digikam launching takes a long time then, all next launching take a short time. 
Conditions: Arch Linux system, last Digikam git
external mariadb db. About 20.000 images
Comment 1 Maik Qualmann 2021-07-26 13:51:07 UTC
Internal MySQL database? Problem has been fixed with the git / master version, which now performs a database upgrade if the database and server version differ. MariaDB has changed the internal structure with a major update.

Maik
Comment 2 Maik Qualmann 2021-07-26 13:53:36 UTC
Otherwise this could also be an Archlinux or MariaDB problem.

https://bugs.archlinux.org/task/71582?project=1&string=mariadb

Maik
Comment 3 Maik Qualmann 2021-07-26 14:17:35 UTC
OK, now I've read the title again - external database. Then it won't be a digiKam problem.

Maik
Comment 4 Maik Qualmann 2021-07-26 14:19:23 UTC
The log from the terminal with an active debug variable would be interesting, as described here:

https://www.digikam.org/contribute/

Maik
Comment 5 Maik Qualmann 2021-07-26 15:57:20 UTC
I see in our mailing list that digiKam from git / master should now work with the internal database. Since we start a mariadb-upgrade if different database and server versions. OpenSUSE does this automatically for the system database, you may have to do this manually for your external database under Archlinux. The new MariaDB version is a major update and has internal changes.

Maik
Comment 6 Antonio Rojas 2021-07-26 18:00:00 UTC
This has nothing to do with upgrades, it is also reproducible with a clean database (both internal and external). It is caused by upstream commit https://github.com/MariaDB/server/commit/295f3e4cfb4a8f132f36d53475efc92f2487aa97

If you have a big database, it makes digikam crash with this backtrace

(gdb) bt
#0  net_field_length (packet=packet@entry=0x7fffffffd1c8) at /usr/src/debug/server/libmariadb/libmariadb/mariadb_lib.c:296
#1  0x00007fff6749d6dc in ps_fetch_string (r_param=0x55555b44b988, field=<optimized out>, row=0x7fffffffd1c8)
    at /usr/src/debug/server/libmariadb/libmariadb/ma_stmt_codec.c:1195
#2  0x00007fff67497ca7 in mthd_stmt_fetch_to_bind (stmt=0x55555b3d0a90, row=<optimized out>)
    at /usr/src/debug/server/libmariadb/libmariadb/mariadb_stmt.c:423
#3  0x00007fff674997b7 in mysql_stmt_fetch (stmt=0x55555b3d0a90) at /usr/src/debug/server/libmariadb/libmariadb/mariadb_stmt.c:1463
#4  0x00007fff840192ed in  () at /usr/lib/qt/plugins/sqldrivers/libqsqlmysql.so
#5  0x00007ffff70c1819 in Digikam::BdEngineBackend::readToList(Digikam::DbEngineSqlQuery&) () at /usr/lib/libdigikamcore.so.7.3.0
#6  0x00007ffff70c1942 in Digikam::BdEngineBackend::handleQueryResult(Digikam::DbEngineSqlQuery&, QList<QVariant>*, QVariant*) ()
    at /usr/lib/libdigikamcore.so.7.3.0
#7  0x00007ffff70c305b in Digikam::BdEngineBackend::execSql(QString const&, QVariant const&, QList<QVariant>*, QVariant*) ()
    at /usr/lib/libdigikamcore.so.7.3.0
#8  0x00007ffff756f835 in Digikam::CoreDB::getItemPosition(long long, QFlags<Digikam::DatabaseFields::ItemPositionsField>) const ()
    at /usr/lib/libdigikamdatabase.so.7.3.0
#9  0x00007ffff75e7312 in  () at /usr/lib/libdigikamdatabase.so.7.3.0
#10 0x00007ffff75e7a3c in Digikam::ItemPosition::ItemPosition(long long) () at /usr/lib/libdigikamdatabase.so.7.3.0
#11 0x00007ffff75d011c in Digikam::ItemInfo::imagePosition() const () at /usr/lib/libdigikamdatabase.so.7.3.0
#12 0x00007ffff75d0432 in Digikam::ItemInfo::hasCoordinates() const () at /usr/lib/libdigikamdatabase.so.7.3.0
#13 0x00007ffff7d48e2c in  () at /usr/lib/libdigikamgui.so.7.3.0
#14 0x00007ffff55774ff in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#15 0x00007ffff601ed62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff554a3aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#17 0x00007ffff554d4a9 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#18 0x00007ffff55a39a4 in  () at /usr/lib/libQt5Core.so.5
#19 0x00007fffe449210c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--
#20 0x00007fffe44e5b99 in  () at /usr/lib/libglib-2.0.so.0
#21 0x00007fffe448f871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#22 0x00007ffff55a2fd6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#23 0x00007ffff5548d1c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#24 0x00007ffff7a3afea in Digikam::ScanController::completeCollectionScanCore(bool, bool) () at /usr/lib/libdigikamgui.so.7.3.0
#25 0x00007ffff7bcc4e9 in Digikam::NewItemsFinder::slotStart() () at /usr/lib/libdigikamgui.so.7.3.0
#26 0x00007ffff55774ff in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#27 0x00007ffff601ed62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#28 0x00007ffff554a3aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#29 0x00007ffff554d4a9 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#30 0x00007ffff55a39a4 in  () at /usr/lib/libQt5Core.so.5
#31 0x00007fffe449210c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#32 0x00007fffe44e5b99 in  () at /usr/lib/libglib-2.0.so.0
#33 0x00007fffe448f871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#34 0x00007ffff55a2fd6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#35 0x00007ffff5548d1c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#36 0x00007ffff623325e in QDialog::exec() () at /usr/lib/libQt5Widgets.so.5
#37 0x00007ffff70498e3 in Digikam::FilesDownloader::startDownload() () at /usr/lib/libdigikamcore.so.7.3.0
#38 0x000055555555a71b in  ()
#39 0x00007ffff4eb9b25 in __libc_start_main () at /usr/lib/libc.so.6
#40 0x000055555555bece in _start ()

For some reason, building Qt in debug mode makes the crash go away, so I can't provide a better backtrace.
Comment 7 Maik Qualmann 2021-07-26 18:20:31 UTC
Well, it clearly crashes in libmariadb, not digiKam.

Maik
Comment 8 Maik Qualmann 2021-07-26 19:37:08 UTC
*** Bug 440132 has been marked as a duplicate of this bug. ***
Comment 9 Maik Qualmann 2021-07-26 19:44:34 UTC
Could possibly be relevant:

https://bugreports.qt.io/projects/QTBUG/issues/QTBUG-95071?filter=allissues

Maik
Comment 10 Maik Qualmann 2021-07-26 19:59:31 UTC
Git commit 2775af8e0af34ff5241368d9296ad21a2d0de3f0 by Maik Qualmann.
Committed on 26/07/2021 at 19:58.
Pushed by mqualmann into branch 'master'.

remove for a test the workaround for mariaDB >= 10.2 and QTBUG-63108

M  +2    -2    core/libs/album/manager/albummanager_database.cpp

https://invent.kde.org/graphics/digikam/commit/2775af8e0af34ff5241368d9296ad21a2d0de3f0
Comment 11 Maik Qualmann 2021-07-26 20:17:38 UTC
Akonadi is also affected: Bug 439769

Maik
Comment 12 Antonio Rojas 2021-07-26 20:22:16 UTC
(In reply to Maik Qualmann from comment #11)
> Akonadi is also affected: Bug 439769
> 
> Maik

That's not related. We are already shipping a workaround for that.
Comment 13 Maik Qualmann 2021-07-26 20:26:04 UTC
Ok, then try the current git / master with the patch from Comment 10. It's the only thing I can think of ...

Maik
Comment 14 Antonio Rojas 2021-07-26 22:10:29 UTC
The patch doesn't help, sadly. As a workaround, could the MARIADB_CLIENT_CACHE_METADATA feature be disabled from the digikam code, or should that be done in Qt?
Comment 15 maderios 2021-07-27 17:26:42 UTC
(In reply to Maik Qualmann from comment #3)
> OK, now I've read the title again - external database. Then it won't be a
> digiKam problem.
I meet same issue with internal db. 
Anyway, mariadb 10.6.3 is unusable, i have to go back to mariadb 10.5.
Comment 16 Antonio Rojas 2021-08-03 11:58:57 UTC
In the upstream report https://jira.mariadb.org/browse/MDEV-26271 the mariadb devs are asking for a test case. If some dev can help providing one, that would be helpful.
Comment 17 Maik Qualmann 2021-08-03 15:58:02 UTC
I think it will be difficult to do a test case with the entire digiKam program.
I also can't reproduce the problem yet as openSUSE Tumbleweed is still on MariaDB-10.5.10 at the moment.

If so, we have to try to reproduce it with a simple Qt program.
Can you create 2-3 bug traces again, I would like to see whether the same digiKam database operation is the reason for the crash. The Digikam::CoreDB::getItemPosition() function reads double values from the database.

Maik
Comment 18 Antonio Rojas 2021-08-03 16:53:02 UTC
Here is a more complete trace (it's always the same)

(gdb) bt
#0  net_field_length (packet=packet@entry=0x7fffffffcc98) at /usr/src/debug/mariadb-10.6.3/libmariadb/libmariadb/mariadb_lib.c:296
#1  0x00007fff693066dc in ps_fetch_string (r_param=0x5555599a60a8, field=<optimized out>, row=0x7fffffffcc98)
    at /usr/src/debug/mariadb-10.6.3/libmariadb/libmariadb/ma_stmt_codec.c:1195
#2  0x00007fff69300ca7 in mthd_stmt_fetch_to_bind (stmt=0x55555aae01b0, row=<optimized out>)
    at /usr/src/debug/mariadb-10.6.3/libmariadb/libmariadb/mariadb_stmt.c:423
#3  0x00007fff693027b7 in mysql_stmt_fetch (stmt=0x55555aae01b0) at /usr/src/debug/mariadb-10.6.3/libmariadb/libmariadb/mariadb_stmt.c:1463
#4  0x00007fff6936ad48 in QMYSQLResult::fetchNext() (this=0x555559bd8280) at qsql_mysql.cpp:529
#5  0x00007fff69369f67 in QMYSQLResult::fetchFirst() (this=0x555559bd8280) at qsql_mysql.cpp:579
#6  0x00007ffff66f00d0 in QSqlQuery::next() (this=this@entry=0x7fffffffce80) at kernel/qsqlquery.cpp:658
#7  0x00007ffff70c1819 in Digikam::BdEngineBackend::readToList(Digikam::DbEngineSqlQuery&) (this=<optimized out>, query=...)
    at /usr/src/debug/digikam-7.3.0/core/libs/database/engine/dbenginebackend.cpp:903
#8  0x00007ffff70c1942 in Digikam::BdEngineBackend::handleQueryResult(Digikam::DbEngineSqlQuery&, QList<QVariant>*, QVariant*)
    (this=0x555555f3b1f0, query=..., values=0x7fffffffcf68, lastInsertId=0x0)
    at /usr/src/debug/digikam-7.3.0/core/libs/database/engine/dbenginebackend.cpp:939
#9  0x00007ffff70c305b in Digikam::BdEngineBackend::execSql(QString const&, QVariant const&, QList<QVariant>*, QVariant*)
    (this=this@entry=0x555555f3b1f0, sql=..., boundValue1=..., values=values@entry=0x7fffffffcf68, lastInsertId=lastInsertId@entry=0x0)
    at /usr/src/debug/digikam-7.3.0/core/libs/database/engine/dbenginebackend.cpp:963
#10 0x00007ffff756f835 in Digikam::CoreDB::getItemPosition(long long, QFlags<Digikam::DatabaseFields::ItemPositionsField>) const
    (this=<optimized out>, imageID=2296, fields=fields@entry=...) at /usr/src/debug/digikam-7.3.0/core/libs/database/coredb/coredb.cpp:1581
#11 0x00007ffff75e7312 in Digikam::ItemPositionPriv::init(Digikam::CoreDbAccess const&, long long)
    (this=0x555559f66a80, access=<optimized out>, id=<optimized out>) at /usr/include/qt/QtCore/qflags.h:121
#12 0x00007ffff75e7a3c in Digikam::ItemPosition::ItemPosition(long long) (this=this@entry=0x7fffffffcfe0, imageId=2296)
    at /usr/src/debug/digikam-7.3.0/core/libs/database/item/containers/itemposition.cpp:119
#13 0x00007ffff75d011c in Digikam::ItemInfo::imagePosition() const (this=0x7fffffffd090)
    at /usr/src/debug/digikam-7.3.0/core/libs/database/item/containers/iteminfo_geolocation.cpp:39
--Type <RET> for more, q to quit, c to continue without paging--
#14 0x00007ffff75d0432 in Digikam::ItemInfo::hasCoordinates() const (this=this@entry=0x7fffffffd090)
    at /usr/src/debug/digikam-7.3.0/core/libs/database/item/containers/iteminfo_geolocation.cpp:109
#15 0x00007ffff7d48c3c in Digikam::GPSMarkerTiler::slotImageChange(Digikam::ImageChangeset const&) (this=0x5555573ed840, changeset=...)
    at /usr/src/debug/digikam-7.3.0/core/utilities/geolocation/mapsearches/gpsmarkertiler.cpp:714
#16 0x00007ffff5523460 in QMetaCallEvent::placeMetaCall(QObject*) (this=0x7fff540863b0, object=0x5555573ed840) at kernel/qobject.cpp:617
#17 0x00007ffff552ad46 in QObject::event(QEvent*) (this=<optimized out>, e=0x7fff540863b0) at kernel/qobject.cpp:1314
#18 0x00007ffff5fadb96 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=
    0x55555563a600, receiver=receiver@entry=0x5555573ed840, e=e@entry=0x7fff540863b0) at kernel/qapplication.cpp:3632
#19 0x00007ffff5fb640e in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffe180, receiver=0x5555573ed840, e=0x7fff540863b0)
    at kernel/qapplication.cpp:2972
#20 0x00007ffff54f07fa in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5555573ed840, event=0x7fff540863b0)
    at kernel/qcoreapplication.cpp:1064
#21 0x00007ffff54f0a12 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=receiver@entry=0x5555573ed840, event=event@entry=0x7fff540863b0)
    at kernel/qcoreapplication.cpp:1462
#22 0x00007ffff54f46e4 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
    (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x555555580980) at kernel/qcoreapplication.cpp:1821
#23 0x00007ffff54f49f4 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0)
    at kernel/qcoreapplication.cpp:1680
#24 0x00007ffff555aef7 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x5555556fe400) at kernel/qeventdispatcher_glib.cpp:277
#25 0x00007fffe288a10c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#26 0x00007fffe28ddb99 in  () at /usr/lib/libglib-2.0.so.0
#27 0x00007fffe2887871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#28 0x00007ffff555a82c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555555716d80, flags=...)
    at kernel/qeventdispatcher_glib.cpp:423
#29 0x00007fff905f8e30 in QXcbGlibEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...)
--Type <RET> for more, q to quit, c to continue without paging--
    at qxcbeventdispatcher.cpp:143
#30 0x00007ffff54ee2a5 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x555555b930d0, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:139
#31 0x00007ffff54ee8e1 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555555b930d0, flags=flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#32 0x00007ffff7a3afba in Digikam::ScanController::completeCollectionScanCore(bool, bool) (this=
    0x7ffff7f88560 <Digikam::(anonymous namespace)::Q_QGS_creator::innerFunction()::holder>, needTotalFiles=<optimized out>, defer=<optimized out>)
    at /usr/include/qt/QtCore/qflags.h:121
#33 0x00007ffff7bcc2f9 in Digikam::NewItemsFinder::slotStart() (this=0x555559542f70)
    at /usr/src/debug/digikam-7.3.0/core/utilities/maintenance/newitemsfinder.cpp:119
#34 0x00007ffff5523460 in QMetaCallEvent::placeMetaCall(QObject*) (this=0x5555596972c0, object=0x555559542f70) at kernel/qobject.cpp:617
#35 0x00007ffff552ad46 in QObject::event(QEvent*) (this=<optimized out>, e=0x5555596972c0) at kernel/qobject.cpp:1314
#36 0x00007ffff5fadb96 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    (this=this@entry=0x55555563a600, receiver=receiver@entry=0x555559542f70, e=e@entry=0x5555596972c0) at kernel/qapplication.cpp:3632
#37 0x00007ffff5fb640e in QApplication::notify(QObject*, QEvent*) (this=0x7fffffffe180, receiver=0x555559542f70, e=0x5555596972c0)
    at kernel/qapplication.cpp:2972
#38 0x00007ffff54f07fa in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555559542f70, event=0x5555596972c0)
    at kernel/qcoreapplication.cpp:1064
#39 0x00007ffff54f0a12 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=receiver@entry=0x555559542f70, event=event@entry=0x5555596972c0)
    at kernel/qcoreapplication.cpp:1462
#40 0x00007ffff54f46e4 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
    (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x555555580980) at kernel/qcoreapplication.cpp:1821
#41 0x00007ffff54f49f4 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0)
    at kernel/qcoreapplication.cpp:1680
#42 0x00007ffff555aef7 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x5555556fe400) at kernel/qeventdispatcher_glib.cpp:277
--Type <RET> for more, q to quit, c to continue without paging--
#43 0x00007fffe288a10c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#44 0x00007fffe28ddb99 in  () at /usr/lib/libglib-2.0.so.0
#45 0x00007fffe2887871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#46 0x00007ffff555a82c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555555716d80, flags=...)
    at kernel/qeventdispatcher_glib.cpp:423
#47 0x00007fff905f8e30 in QXcbGlibEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...)
    at qxcbeventdispatcher.cpp:143
#48 0x00007ffff54ee2a5 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffdf30, flags=..., flags@entry=...)
    at kernel/qeventloop.cpp:139
#49 0x00007ffff54ee8e1 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffdf30, flags=flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#50 0x00007ffff61f4e14 in QDialog::exec() (this=0x555559550260) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#51 0x00007ffff70498e3 in Digikam::FilesDownloader::startDownload() (this=0x555559550260)
    at /usr/src/debug/digikam-7.3.0/core/utilities/setup/downloader/filesdownloader.cpp:218
#52 0x000055555555a71b in main(int, char**) (argc=<optimized out>, argv=0x7fffffffe1a0) at /usr/src/debug/digikam-7.3.0/core/app/main/main.cpp:461
Comment 19 maderios 2021-08-09 16:38:57 UTC
Same issue with new mariadb 10.6.4
10.5.11 works fine
Comment 20 Antonio Rojas 2021-08-14 08:15:45 UTC
Fixed in Qt with https://codereview.qt-project.org/c/qt/qtbase/+/364843
Comment 21 Maik Qualmann 2021-09-15 09:56:14 UTC
*** Bug 442451 has been marked as a duplicate of this bug. ***
Comment 22 Maik Qualmann 2021-10-14 16:50:10 UTC
*** Bug 443729 has been marked as a duplicate of this bug. ***
Comment 23 caulier.gilles 2022-01-23 18:38:40 UTC
Maik,

The famous incompatibility with Mysql >= 10.6 and the Qt Mysql driver is fixed by this commit backported in the KDE-QT5.15 LTS patches compilation git repository :

https://invent.kde.org/qt/qt/qtbase/-/commit/c2ea67ecefe049f6e9bb8f910d7f9c60319d8619

As the AppImage linux bundle will be compiled with QT 5.15 LTS instead QT 5.15.2, it will include this patch (and more). So the AppImage will become compatible with recent Mysql version.

We have this entry in bugzilla about Qt 5.15 LTS AppImage integration :

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

The file is closed, but the AppImage build server need to be recompiled. This will be done in few days.

Gilles