Bug 428977 - Dragging tabs from Firefox over the desktop results in a crash
Summary: Dragging tabs from Firefox over the desktop results in a crash
Status: RESOLVED WORKSFORME
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: master
Platform: Other Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: wayland
Depends on:
Blocks:
 
Reported: 2020-11-11 14:06 UTC by Claudius Ellsel
Modified: 2021-03-26 04:33 UTC (History)
3 users (show)

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


Attachments
Backtrace (10.60 KB, text/plain)
2020-11-11 14:06 UTC, Claudius Ellsel
Details
Terminnal output of plasmashell --replace after crash (8.28 KB, text/plain)
2020-11-11 15:26 UTC, Claudius Ellsel
Details
Terminal output of plasmashell --replace before crash (12.12 KB, text/plain)
2020-11-11 22:53 UTC, Claudius Ellsel
Details
New crash information added by DrKonqi (11.94 KB, text/plain)
2020-11-28 20:14 UTC, Claudius Ellsel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Claudius Ellsel 2020-11-11 14:06:35 UTC
Created attachment 133234 [details]
Backtrace

SUMMARY
-> See title, follow up from https://bugs.kde.org/show_bug.cgi?id=425793.

STEPS TO REPRODUCE
1. Start Plasma
2. Start Firefox
3. Drag a tab onto the desktop, don't release mouse button
4. Start dragging around on the desktop

OBSERVED RESULT
Plasmashell crashes (background turns black, panel disappears).

EXPECTED RESULT
No crash

SOFTWARE/OS VERSIONS
Operating System: Manjaro Linux
KDE Plasma Version: 5.20.80
KDE Frameworks Version: 5.76.0
Qt Version: 5.15.1
Kernel Version: 5.8.18-1-MANJARO
OS Type: 64-bit
Processors: 4 × Intel® Xeon® CPU E3-1225 v3 @ 3.20GHz
Memory: 11.6 GiB of RAM
Graphics Processor: Mesa DRI Intel® HD Graphics P4600/P4700
Comment 1 Claudius Ellsel 2020-11-11 14:10:55 UTC
Interestingly plasmashell came back when I detached gdb (it crashes also without having gdb attached, though).
Comment 2 Vlad Zahorodnii 2020-11-11 14:52:20 UTC
I can't reproduce it. If I drag a tab and drop it on the desktop, a new firefox window gets created and plasma doesn't crash. According to the provided backtrace, it seems like plasma crashes because of a protocol error. Can you run `plasmashell --replace` from terminal and check whether anything useful gets printed?
Comment 3 Claudius Ellsel 2020-11-11 15:16:51 UTC
(In reply to Vlad Zahorodnii from comment #2)
Can you run `plasmashell --replace` from terminal and check whether
> anything useful gets printed?

You mean after it crashed?
Comment 4 Claudius Ellsel 2020-11-11 15:26:20 UTC
Created attachment 133237 [details]
Terminnal output of plasmashell --replace after crash

This is the output when running that after the crash.
Comment 5 Vlad Zahorodnii 2020-11-11 22:28:14 UTC
(In reply to Claudius Ellsel from comment #3)
> (In reply to Vlad Zahorodnii from comment #2)
> Can you run `plasmashell --replace` from terminal and check whether
> > anything useful gets printed?
> 
> You mean after it crashed?

No, before the crash. Run plasmashell --replace and try to reproduce this crash.
Comment 6 Claudius Ellsel 2020-11-11 22:53:28 UTC
Created attachment 133250 [details]
Terminal output of plasmashell --replace before crash

Ah, alright (I thought you were interested in some error messages when plasmashell was picking up from the crashed state).

Attached the correct output now. I used the compiled from master plasmashell for that.
Comment 7 Claudius Ellsel 2020-11-11 23:02:12 UTC
Not sure whether this is correct, but when looking at the coredumps for plasmashell I see two entries for one time when I tried to reproduce it. So that might be two consecutive crashes.

The backtraces:

First:

Program terminated with signal SIGABRT, Aborted.
#0  0x00007fec20ecd615 in raise () from /usr/lib/libc.so.6
[Current thread is 1 (Thread 0x7fec1d1f4ac0 (LWP 5712))]
(gdb) bt
#0  0x00007fec20ecd615 in raise () at /usr/lib/libc.so.6
#1  0x00007fec20ecd6a0 in <signal handler called> () at /usr/lib/libc.so.6
#2  0x00007fec20ecd615 in raise () at /usr/lib/libc.so.6
#3  0x00007fec20eb6862 in abort () at /usr/lib/libc.so.6
#4  0x00007fec214289ac in  () at /usr/lib/libQt5Core.so.5
#5  0x00007fec1cdad0fa in  () at /usr/lib/libQt5WaylandClient.so.5
#6  0x00007fec1cdbb491 in QtWaylandClient::QWaylandDisplay::flushRequests() () at /usr/lib/libQt5WaylandClient.so.5
#7  0x00007fec21683070 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007fec216865a0 in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) ()
    at /usr/lib/libQt5Core.so.5
#9  0x00007fec21686dad in QSocketNotifier::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#10 0x00007fec22467752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#11 0x00007fec2164bcda in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#12 0x00007fec216a5556 in  () at /usr/lib/libQt5Core.so.5
#13 0x00007fec1f93f914 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#14 0x00007fec1f9937d1 in  () at /usr/lib/libglib-2.0.so.0
#15 0x00007fec1f93e121 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#16 0x00007fec216a4941 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#17 0x00007fec2164a65c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#18 0x00007fec21652af4 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#19 0x000056089bb5e53e in main(int, char**) (argc=<optimized out>, argv=0x7ffede074d70) at /home/clel/kde/src/plasma-workspace/shell/main.cpp:244

Second:

Program terminated with signal SIGABRT, Aborted.
#0  0x00007f34a4a98615 in raise () from /usr/lib/libc.so.6
[Current thread is 1 (Thread 0x7f34a0dbfac0 (LWP 5755))]
(gdb) bt
#0  0x00007f34a4a98615 in raise () from /usr/lib/libc.so.6
#1  0x00007f34a4a81862 in abort () from /usr/lib/libc.so.6
#2  0x00007f34a4ff39ac in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/libQt5Core.so.5
#3  0x00007f34a09780fa in ?? () from /usr/lib/libQt5WaylandClient.so.5
#4  0x00007f34a0986491 in QtWaylandClient::QWaylandDisplay::flushRequests() () from /usr/lib/libQt5WaylandClient.so.5
#5  0x00007f34a524e070 in ?? () from /usr/lib/libQt5Core.so.5
#6  0x00007f34a526f915 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#7  0x00007f34a521565c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#8  0x00007f34a521daf4 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#9  0x000055e4f225053e in main (argc=<optimized out>, argv=0x7ffc5e218940) at /home/clel/kde/src/plasma-workspace/shell/main.cpp:244
Comment 8 Claudius Ellsel 2020-11-14 17:57:05 UTC
I can also reproduce this in a Neon unstable VM.

You might have to move the mouse with the dragged item back and forth over the desktop pretty fast for it to crash. I also noticed that when having Konsole open next to Firefox and dragging over it, it crashes Konsole. So might be generic to any Wayland application that the tab is dragged over.
Comment 9 Claudius Ellsel 2020-11-14 17:58:56 UTC
I failed to reproduce the crash for Konsole, though.
Comment 10 Claudius Ellsel 2020-11-28 20:14:04 UTC
Created attachment 133716 [details]
New crash information added by DrKonqi

plasmashell (5.20.80) using Qt 5.15.1

Crash report from Dr. Konqi from a KDE Neon unstable VM.

-- Backtrace (Reduced):
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#5  0x00007f937ef3c859 in __GI_abort () at abort.c:79
#6  0x00007f937f37ebe7 in QMessageLogger::fatal(char const*, ...) const () from /lib/x86_64-linux-gnu/libQt5Core.so.5
[...]
#8  0x00007f937d4cf45e in QtWaylandClient::QWaylandDisplay::flushRequests() () from /lib/x86_64-linux-gnu/libQt5WaylandClient.so.5
[...]
#10 0x00007f937f5d89c3 in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
Comment 11 Claudius Ellsel 2021-01-25 17:18:27 UTC
Still easily reproducible on my setup, currently tested on openSUSE Tumbleweed with 5.20.90.
Comment 12 Nate Graham 2021-02-24 05:32:28 UTC
> #5  0x00007fec1cdad0fa in  () at /usr/lib/libQt5WaylandClient.so.5
> #6  0x00007fec1cdbb491 in QtWaylandClient::QWaylandDisplay::flushRequests() () at /usr/lib/libQt5WaylandClient.so.5
What's supposed to be inside that () for frame 5 is what we need to debug this further. Could you get a new backtrace with debug symbols? Thanks!
Comment 13 Bug Janitor Service 2021-03-11 04:33:37 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 14 Bug Janitor Service 2021-03-26 04:33:43 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!