Bug 1850407 - Crashes in a Wayland session with "The Wayland connection experienced a fatal error: ..."
Summary: Crashes in a Wayland session with "The Wayland connection experienced a fatal...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: wireshark
Version: 32
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Michal Ruprich
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-06-24 09:21 UTC by Mikhail Zabaluev
Modified: 2021-05-25 17:24 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-05-25 17:24:05 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Mikhail Zabaluev 2020-06-24 09:21:35 UTC
Description of problem:
Wireshark sometimes crashes on display pointer movement when running in a Wayland session.

Version-Release number of selected component (if applicable):
wireshark-3.2.4-1.fc32.x86_64

How reproducible:
randomly

Steps to Reproduce:
1. Loaded a packet dump by clicking on the file in Nautilus.
2. Browsed through the dump, then moved the pointer with touchpad trying to get to some UI element.

Actual results:
Crash with a core dump.

Additional info:

Backtrace of the crashed thread:

#1  0x00007f4b068cc895 in abort () at /lib64/libc.so.6
#2  0x00007f4b06e55a7f in qt_message_fatal (message=<synthetic pointer>..., context=...) at global/qlogging.cpp:1914
#3  QMessageLogger::fatal(char const*, ...) const
    (this=this@entry=0x7ffe92e42d60, msg=msg@entry=0x7f4af5f7d1a0 "The Wayland connection experienced a fatal error: %s")
    at global/qlogging.cpp:893
#4  0x00007f4af5f0ee44 in QtWaylandClient::QWaylandDisplay::checkError() const (this=<optimized out>)
    at /usr/include/qt5/QtCore/qlogging.h:90
#5  0x00007f4af5f0ee9e in QtWaylandClient::QWaylandDisplay::flushRequests() (this=0x55dbe2121160) at qwaylanddisplay.cpp:209
#6  0x00007f4b0704dfb0 in doActivate<false>(QObject*, int, void**)
    (sender=0x55dbe2201c10, signal_index=3, argv=argv@entry=0x7ffe92e42ea0)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395
#7  0x00007f4b070487f8 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**)
    (sender=sender@entry=0x55dbe2201c10, m=m@entry=0x7f4b072d7220 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe92e42ea0) at kernel/qobject.cpp:3930
#8  0x00007f4b07050f4c in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal)
    (this=this@entry=0x55dbe2201c10, _t1=<optimized out>, _t2=...) at .moc/moc_qsocketnotifier.cpp:141
#9  0x00007f4b070512f1 in QSocketNotifier::event(QEvent*) (this=0x55dbe2201c10, e=0x7ffe92e42f90) at kernel/qsocketnotifier.cpp:266
#10 0x00007f4b07e42063 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#11 0x00007f4b0701efc0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55dbe2201c10, event=0x7ffe92e42f90)
    at ../../include/QtCore/../../src/corelib/kernel/qobject.h:153
#12 0x00007f4b0706b5d7 in socketNotifierSourceDispatch(GSource*, GSourceFunc, gpointer) (source=source@entry=0x55dbe21234b0)
    at kernel/qeventdispatcher_glib.cpp:107
#13 0x00007f4b0789a7af in g_main_dispatch (context=0x7f4af0005000) at ../glib/gmain.c:3309
#14 g_main_context_dispatch (context=0x7f4af0005000) at ../glib/gmain.c:3974
#15 0x00007f4b0789ab38 in g_main_context_iterate
    (context=context@entry=0x7f4af0005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/gmain.c:4047
#16 0x00007f4b0789ac03 in g_main_context_iteration (context=0x7f4af0005000, may_block=may_block@entry=1) at ../glib/gmain.c:4108
#17 0x00007f4b0706ab73 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
    (this=0x55dbe2273b10, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#18 0x00007f4b0701d91b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffe92e431a0, flags=..., 
    flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:136
#19 0x00007f4b070255a6 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:118
#20 0x000055dbe094fee1 in main(int, char**) (argc=<optimized out>, qt_argv=<optimized out>)
    at /usr/src/debug/wireshark-3.2.4-1.fc32.x86_64/ui/qt/main.cpp:964

Comment 1 Mikhail Zabaluev 2020-06-24 09:27:11 UTC
BTW, I tried to submit this with abrt, but it seems that someone has let a hostname entry slip away:
Could not resolve host: retrace.fedoraproject.org

Comment 2 Mikhail Zabaluev 2020-06-24 09:34:26 UTC
Excerpt from coredumpctl info:

  Command Line: /usr/bin/wireshark /home/mzabaluev/Downloads/relay-a-backup-1-relay-a-1-pcap-logs/relay-a-backup-1-18-00.pcap
    Executable: /usr/bin/wireshark
 Control Group: /user.slice/user-1000.slice/user/dbus\x2d:1.2\x2dorg.gnome.Nautilus.slice/dbus-:1.2-org.gnome.Nautilus
          Unit: user
     User Unit: dbus-:1.2-org.gnome.Nautilus
         Slice: user-1000.slice

Comment 3 Mikhail Zabaluev 2020-06-24 09:41:00 UTC
Nautilus may have to do with it:

Jun 24 11:58:00 nautilus[481266]: 11:58:00.602     Main Warn Wayland does not support QWindow::requestActivate()
Jun 24 11:58:00 audit[481266]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=481266 comm="wireshark" exe="/usr/bin/wireshark" sig=6 res=1
Jun 24 11:58:00 nautilus[481266]: 11:58:00.606     Main Warn Wayland does not support QWindow::requestActivate()
Jun 24 11:58:00 gnome-shell[3580]: WL: error in client communication (pid 481266)

Comment 4 Mikhail Zabaluev 2020-06-24 11:24:38 UTC
This message may be of relevance, it is printed by Wireshark on every startup, with or without WAYLAND_DISPLAY in the environment:
QSocketNotifier: Can only be used with threads started with QThread

Comment 5 Mikhail Zabaluev 2020-06-24 11:26:20 UTC
Reproduced the crash also without Nautilus, Wireshark is started from gnome-shell "Run Command" prompt.

Comment 6 Mikhail Zabaluev 2020-06-24 12:18:16 UTC
These messages are printed by the app itself, the app crashed after some more UI activity:

14:53:30.973     Main Warn This plugin supports grabbing the mouse only for popup windows
14:53:52.723     Main Warn Wayland does not support QWindow::requestActivate()

WAYLAND_DISPLAY was unset.

Comment 7 Mikhail Zabaluev 2020-06-24 13:49:25 UTC
The environment variable that really switches the graphical background is XDG_SESSION_TYPE.
When it is set to "x11", no crashes or error messages are observed.

Comment 8 Mikhail Zabaluev 2020-06-25 09:12:59 UTC
(In reply to Mikhail Zabaluev from comment #7)
> switches the graphical background

That ought to have meant "switches the display backend in Qt".

Comment 9 Fedora Program Management 2021-04-29 16:54:52 UTC
This message is a reminder that Fedora 32 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 32 on 2021-05-25.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '32'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 32 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 10 Ben Cotton 2021-05-25 17:24:05 UTC
Fedora 32 changed to end-of-life (EOL) status on 2021-05-25. Fedora 32 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


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