[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[E-devel] Unlimited Loop: Null icon



Situation:

I was changing the icons in my Ibar, and the only way to get updates
to the same PNG file to show in the Ibar, I would have to change the
filename of the icon to something else, apply it, then change it back
to the file I had just updated. Instead of selecting a different file,
I checked "Use Icon Theme" from the advanced options, applied that
---- This is where it freezes. If there is no icon in the icon theme,
E goes into an infinite loop and effectively freezes. There was no
icon because the app I was changing was Ephoto, which I had just
compiled.

Even though users shouldn't be setting NULL values for icons, wouldn't
it be good to add a conditional: "if (icon == NULL) { icon =
"/path/to/unknown_icon.png"; }
Forgive my php syntax, lol. I don't know C. I also wasn't able to read
any of the code that was causing this, because I don't know where it
is or how to interpret this backtrace much at all. I just assumed some
things.

I hope this helps.

#0  0x00002b504a4f1bd5 in __xstat64 () from /lib/libc.so.6
#1  0x00002b5047f9d345 in ecore_desktop_paths_file_find () from
/usr/lib/libecore_desktop.so.1
#2  0x00002b5047f9953a in ecore_desktop_icon_theme_get () from
/usr/lib/libecore_desktop.so.1
#3  0x00002b5047f99499 in ecore_desktop_icon_theme_get () from
/usr/lib/libecore_desktop.so.1
#4  0x00002b5047f9965b in ecore_desktop_icon_find () from
/usr/lib/libecore_desktop.so.1
#5  0x0000000000459e26 in e_app_fields_empty ()
#6  0x000000000045a02c in e_app_icon_add ()
#7  0x00002aaaab8f6f44 in e_modapi_shutdown ()
#8  0x00002aaaab8f77da in e_modapi_shutdown ()
  from /usr/lib/enlightenment/modules/ibar/linux-gnu-x86_64/module.so
#9  0x0000000000459bfe in e_app_fields_empty ()
#10 0x0000000000459cbd in e_app_fields_empty ()
#11 0x0000000000459ea1 in e_app_fields_empty ()
#12 0x000000000045a02c in e_app_icon_add ()
#13 0x00002aaaab8f6f44 in e_modapi_shutdown ()
  from /usr/lib/enlightenment/modules/ibar/linux-gnu-x86_64/module.so
#14 0x00002aaaab8f77da in e_modapi_shutdown ()
  from /usr/lib/enlightenment/modules/ibar/linux-gnu-x86_64/module.so
#15 0x0000000000459bfe in e_app_fields_empty ()
......................................infinite loop

#################################################################################################
Debug commands:
#################################################################################################
fr 4
 #4  0x00002b5047f9965b in ecore_desktop_icon_find () from
/usr/lib/libecore_desktop.so.1
l
 1       in /var/tmp/portage/glibc-2.4-r3/work/build-amd64-x86_64-pc-linux-gnu-nptl/nptl/crti.S
fr 5
 #5  0x0000000000459e26 in e_app_fields_empty ()
l
 1       in /var/tmp/portage/glibc-2.4-r3/work/build-amd64-x86_64-pc-linux-gnu-nptl/nptl/crti.S

p ret
No symbol "ret" in current context.
(gdb) p
$1 = void

--David (hesperaux)