FS#72435 - [libreoffice-fresh] crashes in Wayland with kf5 VCLPLUGIN

Attached to Project: Arch Linux
Opened by Curtis (foxcm2000) - Saturday, 16 October 2021, 02:03 GMT
Last edited by Antonio Rojas (arojas) - Thursday, 25 November 2021, 18:38 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Andreas Radke (AndyRTR)
Antonio Rojas (arojas)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

I recently upgraded to plasma 5.23 under Wayland with LibreOffice Fresh (7.2.2-1).

Under this environment, LibreOffice defaults to using the Qt5 framework for the GUI (kf5) and it has proven to be extremely unstable, especially in LibreOffice Draw. A sure-fire way to crash Draw is to make a simple text box, add some text, and then change the font. Instant crash with no debug information to the console. Disabling hardware accelerated graphics, the background cache, and running in safe mode do nothing to fix the problem.

However, running LibreOffice with the GTK3 GUI backend (SAL_USE_VCLPLUGIN=gtk3) fixes these problems and the program appears to run fine under my Wayland Plasma desktop. I haven't tested trying to get Libreoffice running under XWayland, but this might fix some of the problems too.


I'm putting this bug as medium severity only because the GTK3 work-around avoids the crash, but in the context of the kf5 plugin it should be a high priority bug.If this is a deeper bug that you can't fix, some documentation in the Libre Office Wiki entry could help others to avoid the bug in the meantime.

Additional info:
* package version(s):

libreoffice-fresh 7.2.2-1
gtk3 1:3.24.30+62+g8d04980f38-2
qt5-base 5.15.2+kde+r243-1
qt5-wayland 5.15.2+kde+r34-1
kio 5.87.0-1
kwayland 5.87.0-1
plasma-wayland-session 5.23.0-2
plasma-workspace 5.23.0-2
kwin 5.23.0-1


* config and/or log files etc.
* link to upstream bug report, if any

Steps to reproduce:
1. Run lodraw with the kf5 backend (SAL_USE_VCLPLUGIN=kf5) under Wayland [Kwin 5.23 in particular]
2. Add text to an empty document.
3. Attempt to change the font of the text.
This task depends upon

Closed by  Antonio Rojas (arojas)
Thursday, 25 November 2021, 18:38 GMT
Reason for closing:  Fixed
Comment by Andreas Radke (AndyRTR) - Saturday, 16 October 2021, 05:35 GMT Comment by Antonio Rojas (arojas) - Saturday, 16 October 2021, 10:19 GMT
Here is a trace with debug symbols that you can attach in your upstream report

(gdb) bt
#0 0x00007feed66a613b in __vfprintf_internal () at /usr/lib/libc.so.6
#1 0x00007feed66a87a4 in buffered_vfprintf () at /usr/lib/libc.so.6
#2 0x00007feed669320a in fprintf () at /usr/lib/libc.so.6
#3 0x00007feecc1aacd3 in stderr_message_handler(QtMsgType, QMessageLogContext const&, QString const&)
(type=type@entry=QtWarningMsg, context=..., message=...) at global/qlogging.cpp:1749
#4 0x00007feecc1aadf8 in qDefaultMessageHandler(QtMsgType, QMessageLogContext const&, QString const&) (type=QtWarningMsg, context=..., message=...)
at global/qlogging.cpp:1786
#5 0x00007feecc1a490f in qt_message_print(QtMsgType, QMessageLogContext const&, QString const&)
(msgType=msgType@entry=QtWarningMsg, context=..., message=...) at global/qlogging.cpp:1843
#6 0x00007feecc1a58e7 in qt_message_output(QtMsgType, QMessageLogContext const&, QString const&) (msgType=QtWarningMsg, context=..., message=...)
at global/qlogging.cpp:1924
#7 0x00007feecc2b7a35 in QDebug::~QDebug() (this=0x7ffe471215c8, __in_chrg=<optimized out>) at io/qdebug.cpp:154
#8 0x00007feeca0bdc47 in QtWaylandClient::QWaylandWindow::requestActivateWindow() (this=0x560cb3994130)
at /build/qt5-wayland/src/qtwayland/src/client/qwaylandwindow.cpp:1040
#9 0x00007feecbb8960d in QWindow::requestActivate() (this=0x560cb362a5d0) at kernel/qwindow.cpp:1198
#10 0x00007feecb4ce7a8 in QWidget::activateWindow() (this=this@entry=0x560cb3621040) at kernel/qwidget.cpp:12516
#11 0x00007feecb2e5dde in Qt5Frame::ToTop(SalFrameToTop) (this=0x560cb39ae580, nFlags=<optimized out>)
at /usr/src/debug/libreoffice-7.2.2.2/vcl/qt5/Qt5Frame.cxx:774
#12 0x00007feed2cfdc1f in vcl::Window::ImplGrabFocus(GetFocusFlags) (this=this@entry=0x560cb3d3ca30, nFlags=nFlags@entry=GetFocusFlags::NONE)
at /usr/src/debug/libreoffice-7.2.2.2/vcl/source/window/mouse.cxx:307
#13 0x00007feed2d4c897 in vcl::Window::GrabFocus() (this=this@entry=0x560cb3d3ca30)
at /usr/src/debug/libreoffice-7.2.2.2/vcl/source/window/window.cxx:2974
#14 0x00007feeabdb6fd4 in sd::Window::GrabFocus() (this=0x560cb3d3ca30) at /usr/src/debug/libreoffice-7.2.2.2/sd/source/ui/view/sdwindow.cxx:750
#15 sd::Window::Command(CommandEvent const&) (this=0x560cb3d3ca30, rCEvt=...) at /usr/src/debug/libreoffice-7.2.2.2/sd/source/ui/view/sdwindow.cxx:272
--Type <RET> for more, q to quit, c to continue without paging--
#16 0x00007feed2d5a20b in ImplCallCommand(VclPtr<vcl::Window> const&, CommandEventId, void const*, bool, Point const*)
(pChild=..., nEvt=1192367984, pData=0x0, bMouse=<optimized out>, pPos=<optimized out>)
at /usr/src/debug/libreoffice-7.2.2.2/vcl/source/window/winproc.cxx:225
#17 0x00007feed2d5e2c6 in ImplHandleExtTextInputPos (pVertical=0x7ffe47121978, rInputWidth=@0x7ffe47121970: 0, rRect=..., pWindow=<optimized out>)
at /usr/src/debug/libreoffice-7.2.2.2/vcl/source/window/winproc.cxx:1248
#18 ImplHandleSalExtTextInputPos (pEvt=0x7ffe47121950, pWindow=<optimized out>) at /usr/src/debug/libreoffice-7.2.2.2/vcl/source/window/winproc.cxx:2215
#19 ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) (_pWindow=<optimized out>, nEvent=SalEvent::ExtTextInputPos, pEvent=0x7ffe47121950)
at /usr/src/debug/libreoffice-7.2.2.2/vcl/source/window/winproc.cxx:2589
#20 0x00007feecb308dcf in SalFrame::CallCallback(SalEvent, void const*) const
(pEvent=0x7ffe47121950, nEvent=SalEvent::ExtTextInputPos, this=0x560cb39ae590) at /usr/src/debug/libreoffice-7.2.2.2/include/rtl/ref.hxx:206
#21 Qt5Frame::CallCallback(SalEvent, void const*) const (pEvent=0x7ffe47121950, nEvent=SalEvent::ExtTextInputPos, this=0x560cb39ae580)
at /usr/src/debug/libreoffice-7.2.2.2/vcl/inc/qt5/Qt5Frame.hxx:218
#22 Qt5Widget::inputMethodQuery(Qt::InputMethodQuery) const (this=0x560cb39c1c60, property=<optimized out>)
at /usr/src/debug/libreoffice-7.2.2.2/vcl/qt5/Qt5Widget.cxx:773
#23 0x00007feecb4e3b4b in QWidget::event(QEvent*) (this=0x560cb39c1c60, event=0x7ffe47121d20) at kernel/qwidget.cpp:8732
#24 0x00007feecb499b96 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=this@entry=0x560cb1fe7880, receiver=receiver@entry=0x560cb39c1c60, e=e@entry=0x7ffe47121d20) at kernel/qapplication.cpp:3632
#25 0x00007feecb4a248a in QApplication::notify(QObject*, QEvent*) (this=0x560cb1fe7670, receiver=0x560cb39c1c60, e=0x7ffe47121d20)
at kernel/qapplication.cpp:3582
#26 0x00007feecc39b802 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x560cb39c1c60, event=0x7ffe47121d20)
at kernel/qcoreapplication.cpp:1064
#27 0x00007feecc39ba1a in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>)
at kernel/qcoreapplication.cpp:1462
#28 0x00007feeca0d35af in QtWaylandClient::QWaylandTextInput::updateState(QFlags<Qt::InputMethodQuery>, unsigned int) (this=
Comment by Antonio Rojas (arojas) - Thursday, 25 November 2021, 18:02 GMT
what's the status of this? did you report it upstream?
Comment by Curtis (foxcm2000) - Thursday, 25 November 2021, 18:36 GMT
It seems to have resolved itself after one of the many point-releases of the qt5 packages. I'm requesting bug closure. Thanks for the reminder!

Loading...