Subject: Re: bug#49943: [PATCH] gnu: Add openboard

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 27 Feb 2022 00:20:54 -0500

Hi Nicolas,

Thanks, the latest version you posted worked fine; it seems there's a
problem with qtwebkit segaulting when attempting to use webviews as you
noted. Here's a backtrace:

--8<---------------cut here---------------start------------->8---
Thread 1 "OpenBoard" received signal SIGSEGV, Segmentation fault.
0x00007ffff07df656 in ?? () from /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libc.so.6
(gdb) bt
#0  0x00007ffff07df656 in ?? () from /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libc.so.6
#1  0x00007ffff59e9e2c in ?? () from /gnu/store/40b5dgbclcs2cb8yplha6rq6d6kqk07i-libressl-3.3.3/lib/libcrypto.so.46
#2  0x00007ffff59ea030 in lh_insert () from /gnu/store/40b5dgbclcs2cb8yplha6rq6d6kqk07i-libressl-3.3.3/lib/libcrypto.so.46
#3  0x00007ffff59ef405 in OBJ_NAME_add () from /gnu/store/40b5dgbclcs2cb8yplha6rq6d6kqk07i-libressl-3.3.3/lib/libcrypto.so.46
#4  0x00007fffed5befcb in ?? () from /gnu/store/akr853qqys7vzwjkvlsb5qfrl3ds5q1w-openssl-1.1.1m/lib/libssl.so.1.1
#5  0x00007ffff0bf23bf in ?? () from /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libpthread.so.0
#6  0x00007fffed492c99 in CRYPTO_THREAD_run_once () from /gnu/store/akr853qqys7vzwjkvlsb5qfrl3ds5q1w-openssl-1.1.1m/lib/libcrypto.so.1.1
#7  0x00007fffed5bf1b3 in OPENSSL_init_ssl () from /gnu/store/akr853qqys7vzwjkvlsb5qfrl3ds5q1w-openssl-1.1.1m/lib/libssl.so.1.1
#8  0x00007ffff1376551 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Network.so.5
#9  0x00007ffff1377e3d in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Network.so.5
#10 0x00007ffff3ec6dfa in WebCore::ResourceRequest::alpnIsSupported() () from /gnu/store/hmnivfz89qidhbw8mi07ghm5xkdb8w7k-qtwebkit-5.212.0-alpha4/lib/libQt5WebKit.so.5
#11 0x00007ffff3ec77e9 in WebCore::ResourceRequest::toNetworkRequest(WebCore::NetworkingContext*) const () from /gnu/store/hmnivfz89qidhbw8mi07ghm5xkdb8w7k-qtwebkit-5.212.0-alpha4/lib/libQt5WebKit.so.5
#12 0x00007ffff2ce2790 in WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction(WebCore::NavigationAction const&, WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, std::function<void (WebCore::PolicyAction)>) () from /gnu/store/hmnivfz89qidhbw8mi07ghm5xkdb8w7k-qtwebkit-5.212.0-alpha4/lib/libQt5WebKit.so.5
#13 0x00007ffff3c7572b in WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&, WebCore::DocumentLoader*, WTF::PassRefPtr<WebCore::FormState>, std::function<void (WebCore::ResourceRequest const&, WTF::PassRefPtr<WebCore::FormState>, bool)>) () from /gnu/store/hmnivfz89qidhbw8mi07ghm5xkdb8w7k-qtwebkit-5.212.0-alpha4/lib/libQt5WebKit.so.5
#14 0x00007ffff3c5ae7f in WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WTF::PassRefPtr<WebCore::FormState>, WebCore::AllowNavigationToInvalidURL) ()
   from /gnu/store/hmnivfz89qidhbw8mi07ghm5xkdb8w7k-qtwebkit-5.212.0-alpha4/lib/libQt5WebKit.so.5
#15 0x00007ffff3c5e15f in WebCore::FrameLoader::load(WebCore::DocumentLoader*) () from /gnu/store/hmnivfz89qidhbw8mi07ghm5xkdb8w7k-qtwebkit-5.212.0-alpha4/lib/libQt5WebKit.so.5
#16 0x00007ffff3c5ea4d in WebCore::FrameLoader::load(WebCore::FrameLoadRequest const&) () from /gnu/store/hmnivfz89qidhbw8mi07ghm5xkdb8w7k-qtwebkit-5.212.0-alpha4/lib/libQt5WebKit.so.5
#17 0x00007ffff2cf7c04 in QWebFrameAdapter::load(QNetworkRequest const&, QNetworkAccessManager::Operation, QByteArray const&) ()
   from /gnu/store/hmnivfz89qidhbw8mi07ghm5xkdb8w7k-qtwebkit-5.212.0-alpha4/lib/libQt5WebKit.so.5
#18 0x00007ffff53f4106 in QWebFrame::load(QUrl const&) () from /gnu/store/hmnivfz89qidhbw8mi07ghm5xkdb8w7k-qtwebkit-5.212.0-alpha4/lib/libQt5WebKitWidgets.so.5
#19 0x0000000000690d52 in WBTabWidget::loadUrlInCurrentTab(QUrl const&) ()
#20 0x0000000000671246 in UBWebController::webBrowserInstance() ()
#21 0x000000000056b530 in UBApplicationController::showInternet() ()
#22 0x00000000006714e2 in UBWebController::loadUrl(QUrl const&) ()
#23 0x0000000000671590 in UBWebController::onOpenTutorial() ()
#24 0x00007ffff0f56378 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#25 0x00007ffff2111a72 in QAction::triggered(bool) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#26 0x00007ffff2114448 in QAction::activate(QAction::ActionEvent) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#27 0x00007ffff228a392 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#28 0x00007ffff2291ac1 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#29 0x00007ffff21565ce in QWidget::event(QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#30 0x00007ffff2117a8f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#31 0x00007ffff211ea09 in QApplication::notify(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#32 0x00007ffff0f219ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#33 0x00007ffff211daf0 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
   from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#34 0x00007ffff216fa33 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#35 0x00007ffff2171f75 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#36 0x00007ffff2117a8f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#37 0x00007ffff0f219ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#38 0x00007ffff190a378 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Gui.so.5
#39 0x00007ffff18e17bc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Gui.so.5
#40 0x00007fffea9c2e4a in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5XcbQpa.so.5
#41 0x00007fffef3764cb in g_main_context_dispatch () from /gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/lib/libglib-2.0.so.0
#42 0x00007fffef376748 in g_main_context_iterate.constprop () from /gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/lib/libglib-2.0.so.0
#43 0x00007fffef3767ef in g_main_context_iteration () from /gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/lib/libglib-2.0.so.0
#44 0x00007ffff0f75eb0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#45 0x00007ffff0f2059b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#46 0x00007ffff228f6c4 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#47 0x00007ffff22ee9db in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#48 0x00007ffff0f56378 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#49 0x00007ffff220451d in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#50 0x00007ffff2204dd6 in QAbstractButton::mousePressEvent(QMouseEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#51 0x00007ffff22ef652 in QToolButton::mousePressEvent(QMouseEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#52 0x00007ffff21565ce in QWidget::event(QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
--Type <RET> for more, q to quit, c to continue without paging--c
#53 0x00007ffff2117a8f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#54 0x00007ffff211ea09 in QApplication::notify(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#55 0x00007ffff0f219ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#56 0x00007ffff211daf0 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#57 0x00007ffff216ef58 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#58 0x00007ffff2171f75 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#59 0x00007ffff2117a8f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#60 0x00007ffff0f219ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#61 0x00007ffff190a378 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Gui.so.5
#62 0x00007ffff18e17bc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Gui.so.5
#63 0x00007fffea9c2e4a in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5XcbQpa.so.5
#64 0x00007fffef3764cb in g_main_context_dispatch () from /gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/lib/libglib-2.0.so.0
#65 0x00007fffef376748 in g_main_context_iterate.constprop () from /gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/lib/libglib-2.0.so.0
#66 0x00007fffef3767ef in g_main_context_iteration () from /gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/lib/libglib-2.0.so.0
#67 0x00007ffff0f75eb0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#68 0x00007ffff0f2059b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#69 0x00007ffff2309952 in QDialog::exec() () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#70 0x000000000066f42f in UBDesktopAnnotationController::customCapture() ()
#71 0x00007ffff0f56378 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#72 0x00007ffff0f56378 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#73 0x00007ffff2111a72 in QAction::triggered(bool) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#74 0x00007ffff2114448 in QAction::activate(QAction::ActionEvent) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#75 0x00007ffff22061ea in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#76 0x00007ffff2206331 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#77 0x00007ffff22ef7fa in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#78 0x00007ffff21565ce in QWidget::event(QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#79 0x00007ffff2117a8f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#80 0x00007ffff211ea09 in QApplication::notify(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#81 0x00007ffff0f219ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#82 0x00007ffff211daf0 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#83 0x00007ffff216ef58 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#84 0x00007ffff2171f75 in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#85 0x00007ffff2117a8f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Widgets.so.5
#86 0x00007ffff0f219ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#87 0x00007ffff190a378 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Gui.so.5
#88 0x00007ffff18e17bc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Gui.so.5
#89 0x00007fffea9c2e4a in ?? () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5XcbQpa.so.5
#90 0x00007fffef3764cb in g_main_context_dispatch () from /gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/lib/libglib-2.0.so.0
#91 0x00007fffef376748 in g_main_context_iterate.constprop () from /gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/lib/libglib-2.0.so.0
#92 0x00007fffef3767ef in g_main_context_iteration () from /gnu/store/a1vnwxgl18qn30yfl20lm0hrx1n78jvy-glib-2.70.2/lib/libglib-2.0.so.0
#93 0x00007ffff0f75eb0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#94 0x00007ffff0f2059b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#95 0x00007ffff0f2818c in QCoreApplication::exec() () from /gnu/store/l47pc2mgb5frq7327akz9y34pbssyhpz-qtbase-5.15.2/lib/libQt5Core.so.5
#96 0x0000000000537cc4 in UBApplication::exec(QString const&) ()
#97 0x00000000004b63e1 in main ()
--8<---------------cut here---------------end--------------->8---

Also, note that qtwebkit doesn't seem to have a future, and is scheduled
for removal in Guix, per #49943.  That's too bad!  I hope they can
tackle https://github.com/OpenBoard-org/OpenBoard/issues/193 soon.

I guess given the sad state of qtwebkit, and its planned removal from
Guix, we may have to drop this submission and revisit it at a later
time.

Thank you for the efforts in packaging it!

Maxim