BuddiesOfBudgie / budgie-desktop

Budgie Desktop is a familiar, modern desktop environment.
https://buddiesofbudgie.org
GNU General Public License v2.0
928 stars 47 forks source link

[Bug] budgie-panel crash from clock applet custom string #489

Open solomongrundy6 opened 9 months ago

solomongrundy6 commented 9 months ago

Description

I was playing around with the custom string option of the clock applet for budgie-panel today, and was trying out different markup to see just how much I could customize the text. I was going off the ones listed here.

When trying out 'baseline_shift', budgie-panel suddenly crashed, and trying to run it again failed as I assume it was trying to display the clock and crashing again. I managed to get it to work again by going into the dconf editor and changing the clock's custom string to something else, however upon starting budgie-panel back up my panel was completely blank with nothing except the budgie menu on the far left (no tasklist or icon tasklist or anything). An easy fix, but annoying.

Anyway, I thought I would file a bug report for this - I have no particular need for baseline_shift or know whether anyone ever would, but at the very least maybe some kind of safety check could prevent malformed custom clock strings from crashing budgie-panel and hosing their panel layout.

Budgie version

10.8.2

Operating System

Solus 4.4

Steps to reproduce the issue

I'd rather not try to reproduce this myself, but I'd assume just including baseline_shift in the custom clock string will do it.

Actual result

crash

Expected result

no crash

Additional information

One of the crashes from journalctl:

Nov 09 17:33:12 hostname systemd-coredump[41449]: [🡕] Process 39545 (budgie-panel) of user 1000 dumped core.

                                                  Stack trace of thread 39545:
                                                  #0  0x00007fcc8ae63f8b __pthread_kill_implementation (libc.so.6 + 0x98f8b)
                                                  #1  0x00007fcc8ae0d196 __GI_raise (libc.so.6 + 0x42196)
                                                  #2  0x00007fcc8adf1835 __GI_abort (libc.so.6 + 0x26835)
                                                  #3  0x00007fcc8b9be12a n/a (libglib-2.0.so.0 + 0x1d12a)
                                                  #4  0x00007fcc8ba28325 g_assertion_message_expr (libglib-2.0.so.0 + 0x87325)
                                                  #5  0x00007fcc8ab313f9 n/a (libpango-1.0.so.0 + 0x403f9)
                                                  #6  0x00007fcc8ab21881 n/a (libpango-1.0.so.0 + 0x30881)
                                                  #7  0x00007fcc8b3921a2 n/a (libgtk-3.so.0 + 0x1921a2)
                                                  #8  0x00007fcc8b2ec9ad n/a (libgtk-3.so.0 + 0xec9ad)
                                                  #9  0x00007fcc8b2f06ab n/a (libgtk-3.so.0 + 0xf06ab)
                                                  #10 0x00007fcc8b38dc64 n/a (libgtk-3.so.0 + 0x18dc64)
                                                  #11 0x00007fcc8b42ca19 n/a (libgtk-3.so.0 + 0x22ca19)
                                                  #12 0x00007fcc8b42d1f7 gtk_widget_get_preferred_height_and_baseline_for_width (libgtk-3.so.0 + 0x22d1f7)
                                                  #13 0x00007fcc8b2a3257 n/a (libgtk-3.so.0 + 0xa3257)
                                                  #14 0x00007fcc8b2ec9ad n/a (libgtk-3.so.0 + 0xec9ad)
                                                  #15 0x00007fcc8b2f06ab n/a (libgtk-3.so.0 + 0xf06ab)
                                                  #16 0x00007fcc8b2a2999 n/a (libgtk-3.so.0 + 0xa2999)
                                                  #17 0x00007fcc8b42ca19 n/a (libgtk-3.so.0 + 0x22ca19)
                                                  #18 0x00007fcc8b42d1f7 gtk_widget_get_preferred_height_and_baseline_for_width (libgtk-3.so.0 + 0x22d1f7)
                                                  #19 0x00007fcc8b42ca19 n/a (libgtk-3.so.0 + 0x22ca19)
                                                  #20 0x00007fcc8b42d1f7 gtk_widget_get_preferred_height_and_baseline_for_width (libgtk-3.so.0 + 0x22d1f7)
                                                  #21 0x00007fcc8b42ca19 n/a (libgtk-3.so.0 + 0x22ca19)
                                                  #22 0x00007fcc8b42d1f7 gtk_widget_get_preferred_height_and_baseline_for_width (libgtk-3.so.0 + 0x22d1f7)
                                                  #23 0x00007fcc8b2a3257 n/a (libgtk-3.so.0 + 0xa3257)
                                                  #24 0x00007fcc8b2ec9ad n/a (libgtk-3.so.0 + 0xec9ad)
                                                  #25 0x00007fcc8b2f06ab n/a (libgtk-3.so.0 + 0xf06ab)
                                                  #26 0x00007fcc8b2a2999 n/a (libgtk-3.so.0 + 0xa2999)
                                                  #27 0x00007fcc8b42ca19 n/a (libgtk-3.so.0 + 0x22ca19)
                                                  #28 0x00007fcc8b42d1f7 gtk_widget_get_preferred_height_and_baseline_for_width (libgtk-3.so.0 + 0x22d1f7)
                                                  #29 0x00007fcc8b2a3257 n/a (libgtk-3.so.0 + 0xa3257)
                                                  #30 0x00007fcc8b2ec9ad n/a (libgtk-3.so.0 + 0xec9ad)
                                                  #31 0x00007fcc8b2f06ab n/a (libgtk-3.so.0 + 0xf06ab)
                                                  #32 0x00007fcc8b2a2999 n/a (libgtk-3.so.0 + 0xa2999)
                                                  #33 0x00007fcc8b42ca19 n/a (libgtk-3.so.0 + 0x22ca19)
                                                  #34 0x00007fcc8b42d1f7 gtk_widget_get_preferred_height_and_baseline_for_width (libgtk-3.so.0 + 0x22d1f7)
                                                  #35 0x00007fcc8b2a3257 n/a (libgtk-3.so.0 + 0xa3257)
                                                  #36 0x00007fcc8b2ec9ad n/a (libgtk-3.so.0 + 0xec9ad)
                                                  #37 0x00007fcc8b2f06ab n/a (libgtk-3.so.0 + 0xf06ab)
                                                  #38 0x00007fcc8b2a2999 n/a (libgtk-3.so.0 + 0xa2999)
                                                  #39 0x00007fcc8b42ca19 n/a (libgtk-3.so.0 + 0x22ca19)
                                                  #40 0x00007fcc8b42c7e4 gtk_widget_get_preferred_height (libgtk-3.so.0 + 0x22c7e4)
                                                  #41 0x00007fcc8b4d4498 n/a (libgtk-3.so.0 + 0x2d4498)
                                                  #42 0x00007fcc8b42c999 n/a (libgtk-3.so.0 + 0x22c999)
                                                  #43 0x00007fcc8b42d1f7 gtk_widget_get_preferred_height_and_baseline_for_width (libgtk-3.so.0 + 0x22d1f7)
                                                  #44 0x00007fcc8b42d316 n/a (libgtk-3.so.0 + 0x22d316)
                                                  #45 0x00007fcc8b4d59b6 n/a (libgtk-3.so.0 + 0x2d59b6)
                                                  #46 0x00007fcc8b4dbfd4 n/a (libgtk-3.so.0 + 0x2dbfd4)
                                                  #47 0x00007fcc8baf6642 n/a (libgobject-2.0.so.0 + 0x12642)
                                                  #48 0x00007fcc8bb0b80b n/a (libgobject-2.0.so.0 + 0x2780b)
                                                  #49 0x00007fcc8bb113fe g_signal_emit_valist (libgobject-2.0.so.0 + 0x2d3fe)
                                                  #50 0x00007fcc8bb114c0 g_signal_emit (libgobject-2.0.so.0 + 0x2d4c0)
                                                  #51 0x00007fcc8b2e6158 n/a (libgtk-3.so.0 + 0xe6158)
                                                  #52 0x00007fcc8baf6642 n/a (libgobject-2.0.so.0 + 0x12642)
                                                  #53 0x00007fcc8bb0b80b n/a (libgobject-2.0.so.0 + 0x2780b)
                                                  #54 0x00007fcc8bb113fe g_signal_emit_valist (libgobject-2.0.so.0 + 0x2d3fe)
                                                  #55 0x00007fcc8bb114c0 g_signal_emit (libgobject-2.0.so.0 + 0x2d4c0)
                                                  #56 0x00007fcc8b168705 n/a (libgdk-3.so.0 + 0x2e705)
                                                  #57 0x00007fcc8b1580bb n/a (libgdk-3.so.0 + 0x1e0bb)
                                                  #58 0x00007fcc8b9fbc72 n/a (libglib-2.0.so.0 + 0x5ac72)
                                                  #59 0x00007fcc8b9f7c37 n/a (libglib-2.0.so.0 + 0x56c37)
                                                  #60 0x00007fcc8b9faef7 n/a (libglib-2.0.so.0 + 0x59ef7)
                                                  #61 0x00007fcc8b9fb857 g_main_loop_run (libglib-2.0.so.0 + 0x5a857)
                                                  #62 0x00007fcc8b3a5261 gtk_main (libgtk-3.so.0 + 0x1a5261)
                                                  #63 0x000056264f8921fc main (budgie-panel + 0x111fc)

                                                  Stack trace of thread 39574:
                                                  #0  0x00007fcc8aeed5ad syscall (libc.so.6 + 0x1225ad)
                                                  #1  0x00007fcc8ba5941c g_cond_wait (libglib-2.0.so.0 + 0xb841c)
                                                  #2  0x00007fcc8b9c36bc n/a (libglib-2.0.so.0 + 0x226bc)
                                                  #3  0x00007fcc8ba2a5d7 n/a (libglib-2.0.so.0 + 0x895d7)
                                                  #4  0x00007fcc8ba29f58 n/a (libglib-2.0.so.0 + 0x88f58)
                                                  #5  0x00007fcc8ae6210a start_thread (libc.so.6 + 0x9710a)
                                                  #6  0x00007fcc8aeefcbc __clone3 (libc.so.6 + 0x124cbc)

                                                  Stack trace of thread 39577:
                                                  #0  0x00007fcc8aee2aef __GI___poll (libc.so.6 + 0x117aef)
                                                  #1  0x00007fcc8b9fae57 n/a (libglib-2.0.so.0 + 0x59e57)
                                                  #2  0x00007fcc8b9fb857 g_main_loop_run (libglib-2.0.so.0 + 0x5a857)
                                                  #3  0x00007fcc8bc63730 n/a (libgio-2.0.so.0 + 0x121730)
                                                  #4  0x00007fcc8ba29f58 n/a (libglib-2.0.so.0 + 0x88f58)
                                                  #5  0x00007fcc8ae6210a start_thread (libc.so.6 + 0x9710a)
                                                  #6  0x00007fcc8aeefcbc __clone3 (libc.so.6 + 0x124cbc)

                                                  Stack trace of thread 39656:
                                                  #0  0x00007fcc8aeaf895 __GI___clock_nanosleep (libc.so.6 + 0xe4895)
                                                  #0  0x00007fcc8aeaf895 __GI___clock_nanosleep (libc.so.6 + 0xe4895)
                                                  #1  0x00007fcc8aec2b57 __GI___nanosleep (libc.so.6 + 0xf7b57)
                                                  #2  0x00007fcc8ba2ba48 g_usleep (libglib-2.0.so.0 + 0x8aa48)
                                                  #3  0x00007fcc785e2be7 n/a (libweathershow.so + 0xebe7)
                                                  #4  0x00007fcc8ba29f58 n/a (libglib-2.0.so.0 + 0x88f58)
                                                  #5  0x00007fcc8ae6210a start_thread (libc.so.6 + 0x9710a)
                                                  #6  0x00007fcc8aeefcbc __clone3 (libc.so.6 + 0x124cbc)

                                                  Stack trace of thread 39638:
                                                  #0  0x00007fcc8aee2aef __GI___poll (libc.so.6 + 0x117aef)
                                                  #1  0x00007fcc8b9fae57 n/a (libglib-2.0.so.0 + 0x59e57)
                                                  #2  0x00007fcc8b9fb571 g_main_context_iteration (libglib-2.0.so.0 + 0x5a571)
                                                  #3  0x00007fcc89dcdb2e n/a (libdconfsettings.so + 0xab2e)
                                                  #4  0x00007fcc8ba29f58 n/a (libglib-2.0.so.0 + 0x88f58)
                                                  #5  0x00007fcc8ae6210a start_thread (libc.so.6 + 0x9710a)
                                                  #6  0x00007fcc8aeefcbc __clone3 (libc.so.6 + 0x124cbc)

                                                  Stack trace of thread 39575:
                                                  #0  0x00007fcc8aee2aef __GI___poll (libc.so.6 + 0x117aef)
                                                  #1  0x00007fcc8b9fae57 n/a (libglib-2.0.so.0 + 0x59e57)
                                                  #2  0x00007fcc8b9fb571 g_main_context_iteration (libglib-2.0.so.0 + 0x5a571)
                                                  #3  0x00007fcc8b9fb5c2 n/a (libglib-2.0.so.0 + 0x5a5c2)
                                                  #4  0x00007fcc8ba29f58 n/a (libglib-2.0.so.0 + 0x88f58)
                                                  #5  0x00007fcc8ae6210a start_thread (libc.so.6 + 0x9710a)
                                                  #6  0x00007fcc8aeefcbc __clone3 (libc.so.6 + 0x124cbc)
                                                  ELF object binary architecture: AMD x86-64
Nov 09 17:33:12 hostname systemd[1]: systemd-coredump@0-41448-0.service: Deactivated successfully.
fossfreedom commented 6 months ago

I can't reproduce this issue - "baseline_shift" as a custom string just displays "baseline_shift". Restarted the panel. Same thing.

solomongrundy6 commented 5 months ago

Don't put "baseline_shift" as just a string, it's an option to a span tag. Example:

<span baseline_shift="12">test</span>

The above crashed budgie completely for me, forcing me to log out (I got the 'uh oh something went wrong' screen), and when I came back my panel was blank except for the start menu.