Bug 469440 - The Media Control Applet crashes Plasma at QOpenGLContext::functions()
Summary: The Media Control Applet crashes Plasma at QOpenGLContext::functions()
Status: REPORTED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Media Player widget (show other bugs)
Version: 5.27.2
Platform: Debian testing Linux
: NOR crash
Target Milestone: 1.0
Assignee: Alex
URL:
Keywords:
: 476044 476575 480104 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-05-07 10:23 UTC by Alex
Modified: 2024-12-03 22:40 UTC (History)
8 users (show)

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


Attachments
Backtrace of the Crash (47.75 KB, text/plain)
2023-07-16 11:16 UTC, Alex
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex 2023-05-07 10:23:41 UTC
SUMMARY
The Media Control Plasmoid (the one with the cover and controls in its icons, NOT the one with the musical note and the clapperboard) sometimes crashes plasmashell.


STEPS TO REPRODUCE
1. Have  horizontal panel
2. Add the Media Control Applet
3. Play some music
4. Click the song title to see cover, artist and controls

OBSERVED RESULT
Sometimes (like 1 in 5 times when I use it naturally, less often when I try to reproduce) the whole plasmashell crashes.

EXPECTED RESULT
No crash


SOFTWARE/OS VERSIONS
Operating System: Debian GNU/Linux 12
KDE Plasma Version: 5.27.2
KDE Frameworks Version: 5.103.0
Qt Version: 5.15.8
Graphics Platform: X11

ADDITIONAL INFORMATION
Sadly I have no more information about how to reproduce it. But I also think a Plasmoid should not be able to crash the whole shell.
Comment 1 Nate Graham 2023-05-15 20:07:05 UTC
If something crashed, we need a backtrace of it so we can figure out what's going on. Can you please attach a backtrace of the crash using the coredumpctl command-line program, as detailed in https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl? Thanks!

Side note:

> But I also think a Plasmoid should not be able to crash the whole shell.
In an ideal world, that would be the case. However the overhead of separating widgets into their own processes would increase code complexity, fragility, and resource usage, so we decided not to do it. See Bug 454539.
Comment 2 Bug Janitor Service 2023-05-30 03:45:20 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 3 Alex 2023-05-30 08:49:08 UTC
I guess I make a new bug when I get to have a backtrace, so the bug isn't annyoing us.
Comment 4 Alex 2023-05-30 08:49:31 UTC
(In reply to Alex from comment #3)
> I guess I make a new bug when I get to have a backtrace, so the bug isn't
> annyoing us.

The BOT isn't annoying us.
Comment 5 Alex 2023-07-16 11:16:02 UTC
Created attachment 160311 [details]
Backtrace of the Crash

I've got a backtrace.
Comment 6 Nate Graham 2023-07-25 20:03:35 UTC
Pasting the backtrace inline for searchability:

Thread 1 (Thread 0x7f7145457980 (LWP 3393)):
[KCrash Handler]
#5  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#6  0x00007f7149ca9d2f in __pthread_kill_internal (signo=11, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#7  0x00007f7149c5aef2 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#8  <signal handler called>
#9  0x00007f7149ca4d34 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x560ba68e44a0) at ./nptl/futex-internal.c:57
#10 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x560ba68e44a0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ./nptl/futex-internal.c:87
#11 0x00007f7149ca4d9b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x560ba68e44a0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#12 0x00007f7149ca73f8 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x560ba68e4450, cond=0x560ba68e4478) at ./nptl/pthread_cond_wait.c:503
#13 ___pthread_cond_wait (cond=0x560ba68e4478, mutex=0x560ba68e4450) at ./nptl/pthread_cond_wait.c:618
#14 0x00007f7149ed1a2b in QWaitCondition::wait(QMutex*, QDeadlineTimer) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007f714be0bd58 in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#16 0x00007f714be0d013 in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#17 0x00007f714a5493f5 in QWindow::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#18 0x00007f714af62fae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007f714a0b16f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007f714a53e5cd in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#21 0x00007f714a511cac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#22 0x00007f7144efbeca in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#23 0x00007f7148b027a9 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f7148b02a38 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007f7148b02acc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007f714a109836 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007f714a0b017b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007f714a0b82d6 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x0000560ba0233dc3 in ?? ()
#30 0x00007f7149c4618a in __libc_start_call_main (main=main@entry=0x560ba0232ee0, argc=argc@entry=2, argv=argv@entry=0x7fffcb568d58) at ../sysdeps/nptl/libc_start_call_main.h:58
#31 0x00007f7149c46245 in __libc_start_main_impl (main=0x560ba0232ee0, argc=2, argv=0x7fffcb568d58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffcb568d48) at ../csu/libc-start.c:381
#32 0x0000560ba0233ee1 in ?? ()
Comment 7 Nate Graham 2023-07-25 20:04:16 UTC
Oh actually there are two crashing threads and here's the second one:

Thread 16 (Thread 0x7f7095ffb6c0 (LWP 137742)):
[KCrash Handler]
#4  0x00007f714a57e806 in QOpenGLContext::functions() const () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
#5  0x00007f714be0207d in QSGOpenGLLayer::invalidated() () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007f714be0297c in QSGOpenGLLayer::~QSGOpenGLLayer() () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007f714be029d9 in QSGOpenGLLayer::~QSGOpenGLLayer() () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#8  0x00007f714bf5c4f3 in QQuickShaderEffectSource::invalidateSceneGraph() () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#9  0x00007f714a0bc88e in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f714be64139 in QQuickWindowPrivate::cleanupNodesOnShutdown(QQuickItem*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#11 0x00007f714be6406c in QQuickWindowPrivate::cleanupNodesOnShutdown(QQuickItem*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#12 0x00007f714be6406c in QQuickWindowPrivate::cleanupNodesOnShutdown(QQuickItem*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#13 0x00007f714be6406c in QQuickWindowPrivate::cleanupNodesOnShutdown(QQuickItem*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#14 0x00007f714be6406c in QQuickWindowPrivate::cleanupNodesOnShutdown(QQuickItem*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#15 0x00007f714be6406c in QQuickWindowPrivate::cleanupNodesOnShutdown(QQuickItem*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#16 0x00007f714be6406c in QQuickWindowPrivate::cleanupNodesOnShutdown(QQuickItem*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#17 0x00007f714be6d019 in QQuickWindowPrivate::cleanupNodesOnShutdown() () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#18 0x00007f714be079bd in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#19 0x00007f714be09b35 in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#20 0x00007f714be0a46f in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#21 0x00007f7149ecbd43 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007f7149ca7fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#23 0x00007f7149d285bc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Comment 8 Nate Graham 2023-10-24 18:20:17 UTC
*** Bug 476044 has been marked as a duplicate of this bug. ***
Comment 9 Nate Graham 2023-10-24 18:20:44 UTC
Alex, are you by any chance using multiple virtual desktops?
Comment 10 Alex 2023-10-24 18:22:05 UTC
Four virtual desktops and two activities (but only one loaded)
Comment 11 Nate Graham 2023-10-25 15:30:19 UTC
Does the problem only happen when playing music in an app that's on a virtual desktop that isn't the current one?
Comment 12 blue 2023-10-25 15:48:57 UTC
Playing a video on Firefox in Desktop 2 whilst Spotify was playing in Desktop 1 caused the crash for me almost instantly, after about an hour of Spotify playing without issue. I don't think it has to do with playing media outside your current virtual desktop.
Comment 13 Alex 2023-10-25 16:15:00 UTC
(In reply to Nate Graham from comment #11)
> Does the problem only happen when playing music in an app that's on a
> virtual desktop that isn't the current one?

No. And it's probably not related to Firefox here either.
Comment 14 Fushan Wen 2024-03-14 14:20:11 UTC
Is it still reproducible in Plasma 6?
Comment 15 Bug Janitor Service 2024-03-29 03:46:54 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 16 Alex 2024-04-01 10:19:48 UTC
Still waiting for a consistent set of plasma 6 packages in Debian testing. The last time I tried to upgrade and leave some package conflicts unresolved I had no working desktop afterward.
Comment 17 Akseli Lahtinen 2024-06-07 14:25:26 UTC
In the meanwhile you may want to inform Debian maintainers about this bug. https://www.debian.org/Bugs/Reporting

I am setting this waiting for info, just in case you encounter the bug again with plasma 6 when testing it. If so, feel free to report in this bug or make a new one. Thanks!
Comment 18 Bug Janitor Service 2024-06-22 03:47:45 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 19 TraceyC 2024-08-23 19:37:56 UTC
*** Bug 480104 has been marked as a duplicate of this bug. ***
Comment 20 TraceyC 2024-08-23 19:41:52 UTC
*** Bug 476575 has been marked as a duplicate of this bug. ***
Comment 21 Justin Zobel 2024-09-01 03:05:32 UTC
Hi Alex, I see you changed the bug back to reported, but no additional information was provided. Were you able to test Plasma 6 and confirm if this crash still occurs?
Comment 22 Alex 2024-09-01 10:13:26 UTC
(In reply to Justin Zobel from comment #21)
> Hi Alex, I see you changed the bug back to reported, but no additional
> information was provided. Were you able to test Plasma 6 and confirm if this
> crash still occurs?

I changed it back, because the stupid bot will otherwise close the bug before I get a chance to test it, and I am still waiting on Debian packages.

It seems that removing the NEEDSINFO tag is the only way to stop the bot from automatically closing the bug before I get the chance to give feedback, so I had to remove it. Tell me, if there are other ways to disable the bot, as the NEEDSINFO flag is, without the bot, a nice reminder that I still intend to give feedback.
Comment 23 Alex 2024-09-01 10:17:00 UTC
In addition I see a few recent duplicates, which probably mean that the bug may indeed still be in more recent plasma versions. That's why I WILL test it in my setup, once Debian manages to get recent packages. I wonder what's the blocker on their side, but that's another story.
Comment 24 Justin Zobel 2024-09-02 01:27:19 UTC
The NEEDSINFO takes 30 days to fully close the ticket if no changes are made to the status. If that's not enough time to test, then that is fine. Just need to know with a comment in the ticket. Thanks again for testing!
Comment 25 Bug Janitor Service 2024-09-17 03:47:01 UTC
🐛🧹 ⚠️ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME.

For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging.

Thank you for helping us make KDE software even better for everyone!
Comment 26 Alex 2024-09-17 07:27:07 UTC
Still waiting on Debian, which Ships 5.27.11-1 in Trixie and Sid.
I'd also happy to finally get Plasma 6, but they seem to need their time, bot.
Comment 27 Fushan Wen 2024-09-17 07:33:49 UTC
I think the bug still exists in Qt 6.7.2 unfortunately
Comment 28 Alex 2024-09-17 07:44:52 UTC
Would you want/need a new stacktrace if I can reproduce with Plasma 6?
Comment 29 Fushan Wen 2024-09-17 07:49:51 UTC
Yes please.
Comment 30 Alex 2024-12-03 22:40:00 UTC
Plasma 6.2.2 hit Debian testing and I can test now. I am not sure if all packages are complete (Some icons seem to be missing when using Oxygen theme), so it may still change a bit in the next days.

I also need to see what was needed to reproduce the bug (I got the habit to avoid it ...) but I think changing between an audio player and Firefox (e.g. Youtube) playing audio and afterward clicking the applet was the issue?
Anyway, I'll report back when I get a crash and otherwise close sometime later if it works for me now, if nobody else still still reports the bugto happen.
Wwhat about you, Fushan Wen?