Bug 2047319 - LibreOffice crashes on startup with 'invalid cast' when SAL_USE_VCLPLUGIN is set to gtk3 (Plasma Wayland)
Summary: LibreOffice crashes on startup with 'invalid cast' when SAL_USE_VCLPLUGIN is ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: libreoffice
Version: 35
Hardware: Unspecified
OS: Unspecified
unspecified
low
Target Milestone: ---
Assignee: Caolan McNamara
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-01-27 15:45 UTC by Marco Huenseler
Modified: 2022-02-06 02:08 UTC (History)
4 users (show)

Fixed In Version: libreoffice-7.2.5.2-3.fc35 libreoffice-7.2.5.2-4.fc35
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-02-06 02:08:53 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Marco Huenseler 2022-01-27 15:45:03 UTC
Description of problem:

When I try to start LibreOffice (any application), the splash screen shows up and after a short amount of time vanishes. The crash helper application (DrKonqi) displays an informational message that LibreOffice has crashed. Unsetting SAL_USE_VCLPLUGIN will fix this.

Version-Release number of selected component (if applicable):

% rpm -qi libreoffice-core
Name        : libreoffice-core
Epoch       : 1
Version     : 7.2.5.2
Release     : 1.fc35
Architecture: x86_64

% rpm -qi gtk3
Name        : gtk3
Version     : 3.24.31
Release     : 2.fc35
Architecture: x86_64

How reproducible:

Use Fedora KDE spin and login to a Wayland session. Set SAL_USE_VCLPLUGIN to 'gtk3' inside one of your plasma startup scripts (e.g. ~/.config/plasma-workspace/env/libreoffice.sh). Try to start LibreOffice.


Steps to Reproduce:
1. Start Plasma Wayland session with SAL_USE_VCPLUGIN set inside one of the startup scripts
2. Start LibreOffice

Actual results:

It crashes while showing the splash screen. Terminal output is:

(soffice:26029): GLib-GObject-WARNING **: 16:32:00.409: invalid cast from 'OOoAtkObjCompSel' to 'GtkWidgetAccessible'

GDB output below.

Expected results:

Successful startup using gtk3 widgets (gtk3 seemed to work better and with less graphical glitches for me in the past).

Additional info:

I successfully used the configuration mentioned above for a few months already. It stopped working around last week.

I tried deleting all LibreOffice user configuration (~/.config/libreoffice).

GDB shows the following:

/usr/lib64/libreoffice/program % gdb ./soffice.bin
GNU gdb (GDB) Fedora 11.1-5.fc35
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./soffice.bin...
Reading symbols from /home/mhuens2m/.cache/debuginfod_client/0a8657a386b871232d3b0bbf1333c2c485f44662/debuginfo...
(gdb) run
Starting program: /usr/lib64/libreoffice/program/soffice.bin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[Detaching after fork from child process 25466]
warning: Corrupted shared library list: 0x555555669790 != 0x7fffef574000
[New Thread 0x7fffe0df4640 (LWP 25480)]
[New Thread 0x7fffdbfff640 (LWP 25481)]
[New Thread 0x7fffdb7fe640 (LWP 25482)]
[New Thread 0x7fffdaffd640 (LWP 25483)]
[New Thread 0x7fffda7fc640 (LWP 25484)]
[New Thread 0x7fffd9ffb640 (LWP 25485)]
[New Thread 0x7fffd97a0640 (LWP 25486)]
[Thread 0x7fffd97a0640 (LWP 25486) exited]
[New Thread 0x7fffd97a0640 (LWP 25487)]
[New Thread 0x7fffd8e7e640 (LWP 25488)]
[Thread 0x7fffd97a0640 (LWP 25487) exited]
[Thread 0x7fffd8e7e640 (LWP 25488) exited]
Invalid cast.
warning: Probes-based dynamic linker interface failed.
Reverting to original interface.
[New Thread 0x7fffd8e7e640 (LWP 25489)]
[New Thread 0x7fffd97a0640 (LWP 25490)]
[New Thread 0x7fffb7483640 (LWP 25491)]
[Thread 0x7fffd97a0640 (LWP 25490) exited]
[Thread 0x7fffd8e7e640 (LWP 25489) exited]
[Thread 0x7fffe0df4640 (LWP 25480) exited]
[New Thread 0x7fffe0df4640 (LWP 25492)]
[New Thread 0x7fffd97a0640 (LWP 25493)]
[Thread 0x7fffd97a0640 (LWP 25493) exited]
[New Thread 0x7fffd97a0640 (LWP 25494)]
[New Thread 0x7fffd8e7e640 (LWP 25495)]
[Thread 0x7fffd97a0640 (LWP 25494) exited]
[Thread 0x7fffd8e7e640 (LWP 25495) exited]

(soffice:25462): GLib-GObject-WARNING **: 16:26:27.047: invalid cast from 'OOoAtkObjCompSel' to 'GtkWidgetAccessible'

Thread 1 "soffice.bin" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007ffff7ce88f3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007ffff7c9b6a6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007ffff7c857d3 in __GI_abort () at abort.c:79
#4  0x00007ffff747d531 in comphelper::SolarMutex::doRelease (this=<optimized out>, bUnlockAll=<optimized out>)
    at /usr/src/debug/libreoffice-7.2.5.2-1.fc35.x86_64/comphelper/source/misc/solarmutex.cxx:64
#5  0x00007ffff7eb6ee4 in SolarMutexReleaser::SolarMutexReleaser (this=<synthetic pointer>) at /usr/src/debug/libreoffice-7.2.5.2-1.fc35.x86_64/include/vcl/svapp.hxx:1425
#6  desktop::Desktop::Main (this=<optimized out>) at /usr/src/debug/libreoffice-7.2.5.2-1.fc35.x86_64/desktop/source/app/app.cxx:1556
#7  0x00007ffff4b1072a in ImplSVMain () at /usr/src/debug/libreoffice-7.2.5.2-1.fc35.x86_64/vcl/source/app/svmain.cxx:199
#8  0x00007ffff7ed18af in soffice_main () at /usr/src/debug/libreoffice-7.2.5.2-1.fc35.x86_64/desktop/source/app/sofficemain.cxx:98
#9  0x00005555555550c0 in sal_main () at /usr/src/debug/libreoffice-7.2.5.2-1.fc35.x86_64/desktop/source/app/main.c:49
#10 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/libreoffice-7.2.5.2-1.fc35.x86_64/desktop/source/app/main.c:47
(gdb) q

Comment 1 Caolan McNamara 2022-01-27 17:44:23 UTC
hmm, not seeing that here. Is there any output for

$ echo $G_DEBUG

And I assume there is output from

$ rpm -q libreoffice-gtk3

Comment 2 Marco Huenseler 2022-01-27 18:02:58 UTC
Thank you for trying to reproduce this. Unfortunately, G_DEBUG doesn't seem to be set. libreoffice-gtk3 is installed:

% rpm -qi libreoffice-gtk3
Name        : libreoffice-gtk3
Epoch       : 1
Version     : 7.2.5.2
Release     : 1.fc35
Architecture: x86_64
[...]

I did try a few different values for VCLPLUGIN. gen and kf5 seem to work, it is only gtk3 that leads to a crash.

Comment 3 Caolan McNamara 2022-01-27 20:20:42 UTC
it is an accessibility related thing that has asserted, but nothing like that happens here even if I enable the screen reader, but I feel it is some accessibility feature or setting that is triggering it

Comment 4 Marco Huenseler 2022-01-28 14:31:24 UTC
As far as I know I haven't made any changes affecting any accessibility related settings.

To rule this out I created a completely fresh user account, started a Plasma Wayland session and ran `SAL_USE_VCLPLUGIN=gtk3 soffice`. Unfortunately, LibreOffice did also crash using the 'empty'/Plasma-default user profile.

Comment 5 Caolan McNamara 2022-01-29 21:49:34 UTC
There's a strong chance this might go away with the change of https://gerrit.libreoffice.org/c/core/+/128821

Comment 6 Marco Huenseler 2022-02-02 08:46:43 UTC
Thank you! I will report back as soon as this lands in F35. As the patch was apparently merged into the 7-2 branch, will this be inside the next patch release (7.2.6?)?

Comment 7 Caolan McNamara 2022-02-02 14:45:04 UTC
Probably not that issue now more information is becoming available: https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/24#note_383915

Comment 8 Caolan McNamara 2022-02-02 16:38:09 UTC
I could reproduce locally and this workaround https://gerrit.libreoffice.org/c/core/+/129373 allowed it to launch for me

Comment 9 Caolan McNamara 2022-02-03 10:35:46 UTC
build was successful ( https://koji.fedoraproject.org/koji/taskinfo?taskID=82291369 ) but sadly there is some problem with koji: https://pagure.io/koji/issue/3236 making it impossible to do a F35 update of LibreOffice at the moment

Comment 10 Fedora Update System 2022-02-04 09:07:45 UTC
FEDORA-2022-b2a8078333 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2022-b2a8078333

Comment 11 Fedora Update System 2022-02-05 02:11:51 UTC
FEDORA-2022-b2a8078333 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-b2a8078333`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-b2a8078333

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 12 Fedora Update System 2022-02-06 02:08:53 UTC
FEDORA-2022-b2a8078333 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.