[libalkimia] [Bug 459128] CI job using docker image 'kdeorg/ci-suse-qt515:latest' fails with timeout at running alkonlinequotestest

Ralf Habacker bugzilla_noreply at kde.org
Fri Mar 22 00:32:16 GMT 2024


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

--- Comment #18 from Ralf Habacker <ralf.habacker at freenet.de> ---
I have added a comparable unit test with Webkit that runs without problems in a
Docker container, see https://invent.kde.org/office/alkimia/-/jobs/1672271

The same job with the web engine (after adding google-droid-font package) still
fails, see https://invent.kde.org/office/alkimia/-/jobs/1672270#L3113. The only
difference between the two jobs is the way the HTML data is retrieved from the
engine. Both engines provide a load method to load a URL, both engines provide
a loadFinished() signal when the page has been loaded, and for both engines the
mentioned signal is emitted. The only difference is the way in which the page
source is retrieved.  Webkit provides a synchronous method toHtml() for this
(https://github.com/qt/qtwebkit/blob/ab1bd15209abaf7effc51dbc2f272c5681af7223/Source/WebKit/qt/WidgetApi/qwebframe.cpp#L253)
and the web engine offers an asynchronous approach, see
https://doc.qt.io/qt-6/qwebenginepage.html#toHtml. In the event of an error,
the defined callback (see
https://invent.kde.org/office/alkimia/-/merge_requests/28/diffs?commit_id=20104bacf5cfd88a6041c2bef648d337b324e9d7#2ecb60da360d26ee29c244d2739b13d6409db4e3_125_125)
is never called, which is shown in callstack frame #5 and below. This generates
the timeout error .

#0  0x00007f38bfdb0a09 in poll () from /lib64/libc.so.6
#1  0x00007f38be1f2b49 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f38be1f2c5c in g_main_context_iteration () from
/usr/lib64/libglib-2.0.so.0
#3  0x00007f38c043e95c in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib64/libQt5Core.so.5
#4  0x00007f38c03da87a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib64/libQt5Core.so.5
#5  0x00007f38c150ba0c in AlkWebPage::toHtml (this=0x1119610) at
/mnt/src/alkwebpage.cpp:135
#6  0x00007f38c14d700f in
AlkDownloadEngine::Private::slotFinishedJavaScriptEngine (this=0x111a910,
ok=true) at /mnt/src/alkdownloadengine.cpp:268
#7  0x00007f38c14d75a2 in AlkDownloadEngine::Private::qt_static_metacall
(_o=0x111a910, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7ffc07b5bbc0) at
/mnt/ci-build-kf5-webengine-native/src/alkimia_autogen/include/alkdownloadengine.moc:92
#8  0x00007f38c0419785 in ?? () from /usr/lib64/libQt5Core.so.5
#9  0x00007f38bfc57192 in QWebEnginePage::loadFinished(bool) () from
/usr/lib64/libQt5WebEngineWidgets.so.5
#10 0x00007f38c04104ab in QObject::event(QEvent*) () from
/usr/lib64/libQt5Core.so.5
#11 0x00007f38c0f9353c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib64/libQt5Widgets.so.5
#12 0x00007f38c0f9a2ff in QApplication::notify(QObject*, QEvent*) () from
/usr/lib64/libQt5Widgets.so.5
#13 0x00007f38c03dc013 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib64/libQt5Core.so.5
#14 0x00007f38c03dea31 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () from /usr/lib64/libQt5Core.so.5
#15 0x00007f38c043f2b3 in ?? () from /usr/lib64/libQt5Core.so.5
#16 0x00007f38be1f282b in g_main_context_dispatch () from
/usr/lib64/libglib-2.0.so.0
#17 0x00007f38be1f2bd0 in ?? () from /usr/lib64/libglib-2.0.so.0
#18 0x00007f38be1f2c5c in g_main_context_iteration () from
/usr/lib64/libglib-2.0.so.0
#19 0x00007f38c043e95c in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib64/libQt5Core.so.5
#20 0x00007f38c03da87a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib64/libQt5Core.so.5
#21 0x00007f38c14d7278 in
AlkDownloadEngine::Private::downloadUrlWithJavaScriptEngine (this=0x111a910,
url=...) at /mnt/src/alkdownloadengine.cpp:288
#22 0x00007f38c14d74d2 in AlkDownloadEngine::downloadUrl (this=0x7f382400e430,
url=..., type=AlkDownloadEngine::JavaScriptEngine, timeout=-1) at
/mnt/src/alkdownloadengine.cpp:325
#23 0x000000000040655f in AlkDownloadEngineTest::testDownloadFinished
(this=0x7ffc07b5ce00) at /mnt/autotests/alkdownloadenginetest.cpp:122
#24 0x0000000000403600 in AlkDownloadEngineTest::qt_static_metacall
(_o=0x7ffc07b5ce00, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7ffc07b5c410)
at
/mnt/ci-build-kf5-webengine-native/autotests/alkdownloadenginetest_autogen/EWIEGA46WW/moc_alkdownloadenginetest.cpp:93
#25 0x00007f38c03ee70d in QMetaMethod::invoke(QObject*, Qt::ConnectionType,
QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument,
QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument,
QGenericArgument, QGenericArgument, QGenericArgument) const () from
/usr/lib64/libQt5Core.so.5
#26 0x00007f38c155094a in ?? () from /usr/lib64/libQt5Test.so.5
#27 0x00007f38c1551629 in ?? () from /usr/lib64/libQt5Test.so.5
#28 0x00007f38c1551bd1 in ?? () from /usr/lib64/libQt5Test.so.5
#29 0x00007f38c15520db in QTest::qRun() () from /usr/lib64/libQt5Test.so.5
#30 0x00007f38c15525fb in QTest::qExec(QObject*, int, char**) () from
/usr/lib64/libQt5Test.so.5
#31 0x000000000040680e in main (argc=1, argv=0x7ffc07b5cf28) at
/mnt/autotests/alkdownloadenginetest.cpp:140

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the KMyMoney-devel mailing list