Bug 451476 - crashes in QCoreApplication::notifyInternal2()
Summary: crashes in QCoreApplication::notifyInternal2()
Status: RESOLVED WORKSFORME
Alias: None
Product: kwayland-integration
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Flatpak Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-03-14 00:58 UTC by skierpage
Modified: 2022-07-19 02:51 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description skierpage 2022-03-14 00:58:13 UTC
SUMMARY
I tried running the Flatpak nightly (master) build under Wayland and it would crash after a few minutes of use.

STEPS TO REPRODUCE
1. flatpak run --command=sh --devel org.kde.skrooge ~/Documents/p/finance/pages.sk
2. Enter some transactions ("operations"). There may be a connection with Skrooge's pop-up window containin matching text inputs.

OBSERVED RESULT
Four times in an hour, Skrooge crashed. I folllowed https://docs.flatpak.org/en/latest/debugging.html to get a backtrace:

#0  0x00007ffff6a54ad0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007ffff799253d in QCompleter::eventFilter(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#2  0x00007ffff6a548c3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff762616e in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#4  0x00007ffff6a54b5a in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fffee44609f in  () at /usr/lib/x86_64-linux-gnu/libQt5WaylandClient.so.5
#6  0x00007ffff762a37d in QApplication::setActiveWindow(QWidget*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7  0x00007ffff762a44b in QApplicationPrivate::notifyActiveWindowChange(QWindow*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007ffff6f10965 in QGuiApplicationPrivate::processActivatedEvent(QWindowSystemInterfacePrivate::ActivatedWindowEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#9  0x00007ffff6eea56c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#10 0x00007ffff6eea7d8 in QWindowSystemInterface::flushWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#11 0x00007ffff6a80b81 in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff762617f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff6a54b5a in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff6a57591 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007ffff6aac8b3 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007ffff256d85b in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007ffff256db08 in g_main_context_iterate.constprop () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff256dbd3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff6aabf3f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ffff6a5350b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007ffff6a5b790 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x000055555555a12d in  ()
#23 0x00007ffff63ec062 in __libc_start_main () at /usr/lib/x86_64-linux-gnu/libc.so.6
#24 0x000055555555a19e in  ()


EXPECTED RESULT
No crashes

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
(available in About System) <-- this isn't so relevant for a Flatpak.
Flatpak runtime: org.kde.Sdk/x86_64/5.15

ADDITIONAL INFORMATION
This may be related to the Wayland hangs and crashes I reported in bug 446352
Comment 1 skierpage 2022-03-18 01:28:55 UTC
I had two more crashes with the same 5 top stack frames in the backtrace when I was _not_ running under Wayland, so I changed the title. Both crashes in creating a transfer operation. In both  #6 is in QWidget::setFocus, but then the next block of the stack trace is different, #7 QApplicationPrivate::giveFocusAccordingToFocusPolicy() vs. #7 QWidget::focusNextPrevChild()
Comment 2 Stephane MANKOWSKI 2022-06-25 18:45:23 UTC
I don't know what to do with this ticket.
Could be due to wayland.
Comment 3 skierpage 2022-07-19 02:51:07 UTC
Good news: I haven't experienced a crash in about a month of light Skrooge use, in which I mostly allow Skrooge to run as a Wayland app. I just made a dummy transfer and there was no crash.

[*] Because the workaround for bug 408970 in commit c7fd9964a, "disregarding XDG_SESSION_TYPE=wayland", doesn't work