View Issue Details

IDProjectCategoryView StatusLast Update
0008997Kali LinuxGeneral Bugpublic2024-12-01 10:19
Reporterbirefringence Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Summary0008997: Wireshark crashes when opening file dialog (open / save) on Raspberry 400 (64-bit)
Description

With the latest packages (wireshark 4.4.0-1, libqt6gui6:arm64 6.7.2+dfsg-4kali1), trying to open or save segfaults wireshark. This seems to be related to the Qt file dialog.

Downgrading to wireshark 4.2.5-1 does not fix it, so I believe this is a Qt problem.

With wireshark 4.2.5-1 and the Qt libraries contained in the latest Raspberry 400 64-bit image available for download it works fine.

Steps to reproduce:
1) Start wireshark
2) Click on File / Open (alternatively capture some packets and click on File / Save)

Backtrace:

Thread 1 "wireshark" received signal SIGSEGV, Segmentation fault.
0x0000007ff6f62aac in ?? () from /lib/aarch64-linux-gnu/libQt6Gui.so.6
(gdb) bt
#0  0x0000007ff6f62aac in ?? () from /lib/aarch64-linux-gnu/libQt6Gui.so.6
0000001  0x0000007ff692f5f8 in QVariant::~QVariant() () from /lib/aarch64-linux-gnu/libQt6Core.so.6
#2  0x0000007ff7b0bd5c in QHeaderView::sectionSizeFromContents(int) const () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
#3  0x0000007ff7afabcc in QHeaderView::sizeHint() const () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000004  0x0000007ff7b68e0c in QTreeView::updateGeometries() () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000005  0x0000007ff7ae0aa4 in QAbstractItemView::doItemsLayout() () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000006  0x0000007ff7b5fc04 in QTreeView::doItemsLayout() () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000007  0x0000007ff7a8ee5c in QFileDialogPrivate::restoreFromSettings() () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000008  0x0000007ff7a9cffc in ?? () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000009  0x0000007ff7a898f0 in QFileDialog::setOptions(QFlags<QFileDialog::Option>) () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000010 0x0000005555734930 in ?? ()
0000011 0x00000055559ab728 in ?? ()
0000012 0x00000055559ac480 in ?? ()
0000013 0x0000007ff692d034 in ?? () from /lib/aarch64-linux-gnu/libQt6Core.so.6
0000014 0x0000007ff72536a4 in QAction::triggered(bool) () from /lib/aarch64-linux-gnu/libQt6Gui.so.6
0000015 0x0000007ff7258490 in QAction::activate(QAction::ActionEvent) () from /lib/aarch64-linux-gnu/libQt6Gui.so.6
0000016 0x0000007ff79f08f8 in ?? () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000017 0x0000007ff79f1464 in ?? () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000018 0x0000007ff788c238 in QWidget::event(QEvent*) () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000019 0x0000007ff7841598 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000020 0x0000007ff7844e8c in QApplication::notify(QObject*, QEvent*) () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000021 0x0000007ff68d0a18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/aarch64-linux-gnu/libQt6Core.so.6
0000022 0x0000007ff783a098 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
   from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000023 0x0000007ff78a1e38 in ?? () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000024 0x0000007ff78a48ac in ?? () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000025 0x0000007ff7841598 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/aarch64-linux-gnu/libQt6Widgets.so.6
0000026 0x0000007ff68d0a18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/aarch64-linux-gnu/libQt6Core.so.6
0000027 0x0000007ff6fa983c in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
   from /lib/aarch64-linux-gnu/libQt6Gui.so.6
0000028 0x0000007ff700bcf8 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /lib/aarch64-linux-gnu/libQt6Gui.so.6
0000029 0x0000007fe7fd5578 in ?? () from /lib/aarch64-linux-gnu/libQt6XcbQpa.so.6
0000030 0x0000007fee44d520 in ?? () from /lib/aarch64-linux-gnu/libglib-2.0.so.0
0000031 0x0000007fee44f8dc in ?? () from /lib/aarch64-linux-gnu/libglib-2.0.so.0
0000032 0x0000007fee450088 in g_main_context_iteration () from /lib/aarch64-linux-gnu/libglib-2.0.so.0
0000033 0x0000007ff6af0018 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/aarch64-linux-gnu/libQt6Core.so.6
0000034 0x0000007ff68dd194 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/aarch64-linux-gnu/libQt6Core.so.6
--Type <RET> for more, q to quit, c to continue without paging--
0000035 0x0000007ff68d4528 in QCoreApplication::exec() () from /lib/aarch64-linux-gnu/libQt6Core.so.6                                                         
0000036 0x000000555566a7c0 in main ()

Activities

arnaudr

arnaudr

2024-11-14 02:46

manager   ~0020039

Hello. I can't reproduce, I tried running wireshark, I can capture packets, I can save to file, I can then load this file. No problem. I tried wireshark as root and non-root. I ran my test on a up-to-date Kali Rolling VM, and I can confirm that I have the same versions as you (wireshark 4.4.0-1, libqt6gui6:arm64 6.7.2+dfsg-4kali1).

Can you please make sure that your system is up-to-date (sudo apt update && sudo apt full-upgrade)? And please reboot your system after that, just to be 200% sure?

Note that I could only test on a amd64 VM, I don't have a arm64 machine around to test... It could be that you're hitting a arch-specific bug.

arnaudr

arnaudr

2024-11-14 02:54

manager   ~0020040

Last edited: 2024-11-14 02:55

There are indeed arm64 qt6 bugs reported on the Debian bugtracker, similar to your bug:

Assuming you run Wayland, you could try to switch to X11 instead (the exact procedure to do that depends on whether you run GNOME, KDE, XFCE)

arnaudr

arnaudr

2024-11-14 03:28

manager   ~0020041

I tried both X11 session or Wayland session with GNOME, amd64 VM, and I still can't reproduce, so it really seems to be specific to arm64

birefringence

birefringence

2024-11-14 19:33

reporter   ~0020043

Yes, I'm quite sure it is arm64 specific. The system is up to date and I have also rebooted.

Also, to cross check, I've reinstalled from a fresh image. This works fine. Then, I upgraded only wireshark and Qt and I got the same crash as on the fully up-to-date system.

The Debian bug reports look very much like the same problem.

I'm using XFCE, which only supports X11, I believe.

arnaudr

arnaudr

2024-11-15 03:52

manager   ~0020046

I'm using XFCE, which only supports X11, I believe.

You are correct.

If you're motivated, you could try another install with GNOME, check that you can reproduce the issue. If so, then enable Wayland (by default Kali's GNOME runs X11), and check that the bug can still be reproduced. That would help to know if it's a bug that is specific to X11 or Wayland, and maybe it would help us to find if a patch is available already. Or at least, it would help to refine the existing bug report.

To make sure you run wayland or x11, you can run:

$ printenv | grep SESSION_TYPE
XDG_SESSION_TYPE=wayland

To enable Wayland on Kali's GNOME, check the file /usr/lib/systemd/system/gdm.service.d/disable-wayland.conf, it gives the procedure to switch from X11 to Wayland.

I upgraded only wireshark and Qt and I got the same crash as on the fully up-to-date system.

The thing is, we can't roll back this change, now latest Qt6 is in kali-rolling, and it will be released in Kali 2024.4 in around 2 weeks or so.

birefringence

birefringence

2024-11-15 21:05

reporter   ~0020049

OK, I tried the instructions, but I couldn't get a Wayland session to run. GDM still only offered to start X11 sessions. Again, the arm64 build for Raspberry may be a bit of a special case here ...

arnaudr

arnaudr

2024-11-18 02:55

manager   ~0020054

I know that the instructions work for amd64, I just tried it myself when I wrote the message, but that was for a amd64 VM, indeed, I didn't test arm64. However I don't think arm64 should be special in that regard... Do you use an image downloaded from https://www.kali.org/get-kali/#kali-arm?

GDM still only offered to start X11 sessions

After enabling Wayland, I just log in without touching any setting, I didn't even notice that GDM offers to start X11. By default it should log you in Wayland.

birefringence

birefringence

2024-11-20 11:58

reporter   ~0020064

OK, I was missing the "dtoverlay=vc4-kms-v3d" line in /boot/config.txt

Now, I also tested with Wayland: Exactly the same crash happens there as well.

arnaudr

arnaudr

2024-11-29 03:41

manager   ~0020090

I checked the Qt6 bug tracker, I just can't find this issue reported. I also checked the Git tree, couldn't really find any commit that seems related.

There is a commit in the 6.8 branch that "prevent crash" in various Q*Dialog widgets. Despite the promising name, it doesn't look related at all to our issue: no mention of ARM, and seemingly fixing an issue reported more than 10 years ago... Cf.

So we only know that this bug was reported twice on the Debian bugtracker (cf. https://bugs.kali.org/view.php?id=8997#c20040), however the Debian maintainers didn't respond. We can hope that the next Qt6 version in Debian will magically fix it. Or, reach out on the Qt6 upstream bugtracker to report the issue -- feel free to do so @birefringence if you have the time :)

birefringence

birefringence

2024-11-29 22:21

reporter   ~0020092

OK, I tried to report it here: https://bugreports.qt.io/browse/QTBUG-131747

arnaudr

arnaudr

2024-11-30 00:51

manager   ~0020093

Hey, I think it should be fixed in kali-rolling, please sudo apt update && sudo apt full-upgrade, you should see new version 6.7.2+dfsg-4kali1+b1 of qt6 being installed. Can you please confirm? Thanks!

birefringence

birefringence

2024-11-30 09:26

reporter   ~0020099

Yes, it's fixed! So that means I can close the Qt bug report again?

arnaudr

arnaudr

2024-11-30 14:31

manager   ~0020102

Yes, it's fixed!

Nice to hear.

We just rebuilt the qt6 package. So it means something changed in the build dependencies, there was something bogus with the earlier build (both in Kali and Debian). I will compare the build logs on Monday, out of curiosity.

So that means I can close the Qt bug report again?

Yep, sorry for wasting your time. If I find something interesting in the build logs, I'll mention it in the Qt bug report.

birefringence

birefringence

2024-12-01 09:29

reporter   ~0020103

No problem, thanks for fixing this!

kali-bugreport

kali-bugreport

2024-12-01 10:19

reporter   ~0020104

Could worth to add this info to the Debian bugs?

Issue History

Date Modified Username Field Change
2024-11-11 23:01 birefringence New Issue
2024-11-14 02:40 arnaudr Description Updated
2024-11-14 02:46 arnaudr Note Added: 0020039
2024-11-14 02:54 arnaudr Note Added: 0020040
2024-11-14 02:55 arnaudr Note Edited: 0020040
2024-11-14 03:28 arnaudr Note Added: 0020041
2024-11-14 19:33 birefringence Note Added: 0020043
2024-11-15 03:52 arnaudr Note Added: 0020046
2024-11-15 21:05 birefringence Note Added: 0020049
2024-11-18 02:55 arnaudr Note Added: 0020054
2024-11-20 11:58 birefringence Note Added: 0020064
2024-11-29 03:41 arnaudr Note Added: 0020090
2024-11-29 22:21 birefringence Note Added: 0020092
2024-11-30 00:51 arnaudr Note Added: 0020093
2024-11-30 09:26 birefringence Note Added: 0020099
2024-11-30 14:31 arnaudr Note Added: 0020102
2024-12-01 09:29 birefringence Note Added: 0020103
2024-12-01 10:19 kali-bugreport Note Added: 0020104