Skip to content

gs-app: Fix deadlock on recursive icon lookup

The function was recursing and trying to acquire the lock it already held. Fixes a regression in commit 550ad49a.

Backtrace on deadlock:

2  0x00007ffff6962d97 in g_mutex_lock (mutex=0x617000036f00) at ../../source/glib/glib/gthread-posix.c:1417
3  0x00007ffff736aea9 in g_mutex_locker_new (mutex=0x617000036f00) at /opt/gnome/install/include/glib-2.0/glib/gthread.h:335
4  0x00007ffff737d3c2 in gs_app_get_icon_for_size (app=0x617000037170, size=128, scale=1, fallback_icon_name=0x0) at ../../source/gnome-software/lib/gs-app.c:1958
5  0x00007ffff737e0ad in gs_app_get_icon_for_size (app=0x617000037170, size=128, scale=2, fallback_icon_name=0x0) at ../../source/gnome-software/lib/gs-app.c:2010
6  0x00000000004f3b8b in filter_hi_res_icon (app=0x617000037170, user_data=0x61600008f000) at ../../source/gnome-software/src/gs-overview-page.c:288

Signed-off-by: Philip Withnall pwithnall@endlessos.org

Edited by Philip Withnall

Merge request reports