Bug 498463 - Causes random crashes in moodbar-enabled Strawberry
Summary: Causes random crashes in moodbar-enabled Strawberry
Status: RESOLVED DOWNSTREAM
Alias: None
Product: Breeze
Classification: Plasma
Component: QStyle (show other bugs)
Version: 6.2.5
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-10 11:16 UTC by Peterson Silva
Modified: 2025-01-20 00:29 UTC (History)
3 users (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 Peterson Silva 2025-01-10 11:16:21 UTC
SUMMARY

Strawberry, the music application, crashes randomly when switching to another song in the playlist if a song's playing. This bug was already report to Strawberry's developers - see https://github.com/strawberrymusicplayer/strawberry/issues/1633 - and upon triaging it seems that the issue is with Breeze, specifically on Wayland. A backtrace is included at the bottom of this description.

STEPS TO REPRODUCE
1. Install and run Strawberry;
1.1. The bug is reproducible in version 1.2.3, as well as the latest git version as of today. It also occurred in openSUSE Tumbleweed - versioning information for probably relevant software below.
2. Enable the first two options in the moodbar tab in settings;  
3. Have multiple songs in a playlist;
4. Start playing a song;
5. Switch to a different one while the first is still playing.

Sometimes the app will just crash. This can happen by either double-clicking the new song or pressing 'Enter' after selecting it. It seems like it can also happen if the previously playing song is paused, and it takes something like half a second after the new song starts playing for the app to crash.

OBSERVED RESULT

A segfault.

EXPECTED RESULT

The new song starts and continues to play normally.

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20250106
KDE Plasma Version: 6.2.5
KDE Frameworks Version: 6.9.0
Qt Version: 6.8.1
Kernel Version: 6.12.6-1-default (64-bit)
Graphics Platform: Wayland
Processors: 6 × AMD Ryzen 5 3500X 6-Core Processor
Memory: 15.5 GiB of RAM
Graphics Processor: NV106

ADDITIONAL INFORMATION

interface: 'wl_compositor',                              version:  6, name:  1
interface: 'zwp_tablet_manager_v2',                      version:  1, name:  3
interface: 'zwp_keyboard_shortcuts_inhibit_manager_v1',  version:  1, name:  4
interface: 'zxdg_decoration_manager_v1',                 version:  1, name:  5
interface: 'wp_viewporter',                              version:  1, name:  6
interface: 'wp_security_context_manager_v1',             version:  1, name:  7
interface: 'wp_fractional_scale_manager_v1',             version:  1, name:  8
interface: 'wl_shm',                                     version:  1, name:  9
interface: 'wl_seat',                                    version:  9, name: 10
interface: 'zwp_pointer_gestures_v1',                    version:  3, name: 11
interface: 'zwp_pointer_constraints_v1',                 version:  1, name: 12
interface: 'zwp_relative_pointer_manager_v1',            version:  1, name: 13
interface: 'wl_data_device_manager',                     version:  3, name: 14
interface: 'zwlr_data_control_manager_v1',               version:  2, name: 15
interface: 'wp_cursor_shape_manager_v1',                 version:  1, name: 16
interface: 'zwp_primary_selection_device_manager_v1',    version:  1, name: 17
interface: 'org_kde_kwin_idle',                          version:  1, name: 18
interface: 'zwp_idle_inhibit_manager_v1',                version:  1, name: 19
interface: 'ext_idle_notifier_v1',                       version:  1, name: 20
interface: 'org_kde_plasma_shell',                       version:  8, name: 21
interface: 'org_kde_kwin_appmenu_manager',               version:  1, name: 22
interface: 'org_kde_kwin_server_decoration_palette_manager', version:  1, name: 23
interface: 'org_kde_plasma_virtual_desktop_management',  version:  2, name: 25
interface: 'org_kde_kwin_shadow_manager',                version:  2, name: 27
interface: 'org_kde_kwin_dpms_manager',                  version:  1, name: 28
interface: 'org_kde_kwin_server_decoration_manager',     version:  1, name: 29
interface: 'kde_output_management_v2',                   version:  9, name: 30
interface: 'zxdg_output_manager_v1',                     version:  3, name: 31
interface: 'wl_subcompositor',                           version:  1, name: 32
interface: 'zxdg_exporter_v2',                           version:  1, name: 33
interface: 'zxdg_importer_v2',                           version:  1, name: 34
interface: 'xdg_activation_v1',                          version:  1, name: 37
interface: 'wp_content_type_manager_v1',                 version:  1, name: 39
interface: 'wp_tearing_control_manager_v1',              version:  1, name: 40
interface: 'xdg_toplevel_drag_manager_v1',               version:  1, name: 41
interface: 'kde_screen_edge_manager_v1',                 version:  1, name: 42
interface: 'frog_color_management_factory_v1',           version:  1, name: 43
interface: 'wp_presentation',                            version:  1, name: 44
interface: 'xx_color_manager_v4',                        version:  1, name: 45
interface: 'xdg_wm_dialog_v1',                           version:  1, name: 46
interface: 'kde_external_brightness_v1',                 version:  1, name: 47
interface: 'wp_alpha_modifier_v1',                       version:  1, name: 48
interface: 'xdg_wm_base',                                version:  6, name: 51
interface: 'zwlr_layer_shell_v1',                        version:  5, name: 52
interface: 'wp_drm_lease_device_v1',                     version:  1, name: 54
interface: 'kde_output_order_v1',                        version:  1, name: 55
interface: 'zwp_text_input_manager_v1',                  version:  1, name: 56
interface: 'zwp_text_input_manager_v2',                  version:  1, name: 57
interface: 'zwp_text_input_manager_v3',                  version:  1, name: 58
interface: 'wl_drm',                                     version:  2, name: 60
interface: 'zwp_linux_dmabuf_v1',                        version:  4, name: 61
interface: 'wp_linux_drm_syncobj_manager_v1',            version:  1, name: 62
interface: 'kde_output_device_v2',                       version:  9, name: 63
interface: 'wl_output',                                  version:  4, name: 64
interface: 'org_kde_kwin_blur_manager',                  version:  1, name: 65
interface: 'org_kde_kwin_contrast_manager',              version:  2, name: 66
interface: 'org_kde_kwin_slide_manager',                 version:  1, name: 67

BACKTRACE: https://pastebin.com/uxyu1HQ6
Comment 1 Nate Graham 2025-01-13 17:55:55 UTC
Backtrace:

Thread 1 (Thread 0x7ffff2d36fc0 (LWP 251367) "strawberry"):
#0  0x00007ffff51baf9b in QMetaObject::cast(QObject const*) const () from /lib64/libQt6Core.so.6
#1  0x00007fffe93ebba7 in ?? () from /usr/lib64/qt6/plugins/styles/breeze6.so
#2  0x00007ffff51a7fa8 in QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) () from /lib64/libQt6Core.so.6
#3  0x00007ffff73dec70 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt6Widgets.so.6
#4  0x00007ffff51ac948 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt6Core.so.6
#5  0x00007ffff51b4c78 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt6Core.so.6
#6  0x00007ffff5403287 in ?? () from /lib64/libQt6Core.so.6
#7  0x00007ffff57e3eb8 in ?? () from /lib64/libglib-2.0.so.0
#8  0x00007ffff57e5ca8 in ?? () from /lib64/libglib-2.0.so.0
#9  0x00007ffff57e64bc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#10 0x00007ffff5400741 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6
#11 0x00007ffff51b5aa2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6
#12 0x00007ffff51b5f8a in QCoreApplication::exec() () from /lib64/libQt6Core.so.6
#13 0x00005555556d28e2 in main ()

Unfortunately the one line we need symbols for  (#1) is missing them. Can you install symbols for Breeze, reproduce the crash, and attach a new backtrace of just the crashing thread (should be thread 1, at the very bottom).
Comment 2 Peterson Silva 2025-01-20 00:29:50 UTC
(In reply to Nate Graham from comment #1)
> Backtrace:
> 
> Thread 1 (Thread 0x7ffff2d36fc0 (LWP 251367) "strawberry"):
> #0  0x00007ffff51baf9b in QMetaObject::cast(QObject const*) const () from
> /lib64/libQt6Core.so.6
> #1  0x00007fffe93ebba7 in ?? () from /usr/lib64/qt6/plugins/styles/breeze6.so
> #2  0x00007ffff51a7fa8 in
> QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*,
> QEvent*) () from /lib64/libQt6Core.so.6
> #3  0x00007ffff73dec70 in QApplicationPrivate::notify_helper(QObject*,
> QEvent*) () from /lib64/libQt6Widgets.so.6
> #4  0x00007ffff51ac948 in QCoreApplication::notifyInternal2(QObject*,
> QEvent*) () from /lib64/libQt6Core.so.6
> #5  0x00007ffff51b4c78 in
> QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
> from /lib64/libQt6Core.so.6
> #6  0x00007ffff5403287 in ?? () from /lib64/libQt6Core.so.6
> #7  0x00007ffff57e3eb8 in ?? () from /lib64/libglib-2.0.so.0
> #8  0x00007ffff57e5ca8 in ?? () from /lib64/libglib-2.0.so.0
> #9  0x00007ffff57e64bc in g_main_context_iteration () from
> /lib64/libglib-2.0.so.0
> #10 0x00007ffff5400741 in
> QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
> () from /lib64/libQt6Core.so.6
> #11 0x00007ffff51b5aa2 in
> QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
> /lib64/libQt6Core.so.6
> #12 0x00007ffff51b5f8a in QCoreApplication::exec() () from
> /lib64/libQt6Core.so.6
> #13 0x00005555556d28e2 in main ()
> 
> Unfortunately the one line we need symbols for  (#1) is missing them. Can
> you install symbols for Breeze, reproduce the crash, and attach a new
> backtrace of just the crashing thread (should be thread 1, at the very
> bottom).

Hi there,

It was fixed downstream, apparently the culprit wasn't Breeze. This should be closed - thank you!