Segmentation fault on launch

Bug #1929709 reported by James Fox
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lxappearance (Ubuntu)
New
Undecided
Unassigned

Bug Description

Ubuntu 21.04 (Canonical Gnome Desktop not flavour). Installed openbox (3.6.1-9+deb11u1) and lxappearance (0.6.3-1) from standard repos.

Launching immediately segfaults.
Rebuilding the package still segfaults.

It seems to be having issues parsing:
    /usr/share/icons/gnome/index.theme
    /usr/share/icons/DMZ-Black/index.theme

These files look normal and have correct permissions.

I added a small hack to src/icon-theme.c to ignore these files and lxappearance now works correctly but is missing these themes.

########### BACKTRACE FROM GDB
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff791179d in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb) b
Breakpoint 1 at 0x7ffff791179d
(gdb) backtrace
#0 0x00007ffff791179d in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1 0x00007ffff7911cc1 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007ffff7911f41 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff7912079 in g_key_file_load_from_file () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x000055555555d5d4 in load_icon_themes_from_dir
    (base_dir=0x55555570c180 "/usr/share/icons", theme_dir=0x55555570c180 "/usr/share/icons", kf=0x55555570d990) at icon-theme.c:84
#5 0x000055555555d92a in load_icon_themes () at icon-theme.c:125
#6 icon_theme_init (b=b@entry=0x5555555d49c0) at icon-theme.c:247
#7 0x000055555555ab0e in main (argc=<optimised out>, argv=<optimised out>) at lxappearance.c:663

########### HACK TO FIX ISSUE
--- lxappearance-0.6.3.orig/src/icon-theme.c
+++ lxappearance-0.6.3/src/icon-theme.c
@@ -81,7 +81,15 @@ void load_icon_themes_from_dir(const cha
                 theme->base_dir = base_dir;
                 theme->is_removable = (0 == access(base_dir, W_OK));

+ // printf("%s\n", index_theme);
+ if (strcmp(index_theme, "/usr/share/icons/gnome/index.theme") == 0)
+ continue;
+
+ if (strcmp(index_theme, "/usr/share/icons/DMZ-Black/index.theme") == 0)
+ continue;
+
                 if(g_key_file_load_from_file(kf, index_theme, 0, NULL))
                 {
                     /* skip hidden ones */
                     if(!g_key_file_get_boolean(kf, "Icon Theme", "Hidden", NULL))

Tags: hirsute
Chris Guiver (guiverc)
tags: added: hirsute
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.