GNOME Bugzilla – Bug 660586
setting to third party Adium theme leads to crash
Last modified: 2011-10-11 21:47:42 UTC
When switching theme to my own Adium theme (http://www.adiumxtras.com/index.php?a=xtras&xtra_id=7049) which used to work perfectly well on previous versions of Empathy, /usr/libexec/empathy-chat crashes immediately: mitmanek:~ $ gdb /usr/libexec/empathy-chat GNU gdb (GDB) Fedora (7.3.50.20110722-7.fc16) Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/libexec/empathy-chat...Reading symbols from /usr/lib/debug/usr/libexec/empathy-chat.debug...done. done. (gdb) run Starting program: /usr/libexec/empathy-chat [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". warning: the debug information found in "/usr/lib/debug//usr/lib64/libclutter-gst-1.0.so.0.314.0.debug" does not match "/usr/lib64/libclutter-gst-1.0.so.0" (CRC mismatch). warning: the debug information found in "/usr/lib/debug/usr/lib64/libclutter-gst-1.0.so.0.314.0.debug" does not match "/usr/lib64/libclutter-gst-1.0.so.0" (CRC mismatch). warning: the debug information found in "/usr/lib/debug//usr/lib64/libmx-1.0.so.2.299.0.debug" does not match "/usr/lib64/libmx-1.0.so.2" (CRC mismatch). warning: the debug information found in "/usr/lib/debug/usr/lib64/libmx-1.0.so.2.299.0.debug" does not match "/usr/lib64/libmx-1.0.so.2" (CRC mismatch). warning: the debug information found in "/usr/lib/debug//usr/lib64/libgnome-desktop-3.so.2.0.1.debug" does not match "/usr/lib64/libgnome-desktop-3.so.2" (CRC mismatch). warning: the debug information found in "/usr/lib/debug/usr/lib64/libgnome-desktop-3.so.2.0.1.debug" does not match "/usr/lib64/libgnome-desktop-3.so.2" (CRC mismatch). warning: the debug information found in "/usr/lib/debug//usr/lib64/gio/modules/libgvfsdbus.so.debug" does not match "/usr/lib64/gio/modules/libgvfsdbus.so" (CRC mismatch). warning: the debug information found in "/usr/lib/debug/usr/lib64/gio/modules/libgvfsdbus.so.debug" does not match "/usr/lib64/gio/modules/libgvfsdbus.so" (CRC mismatch). warning: the debug information found in "/usr/lib/debug//usr/lib64/libgvfscommon.so.0.0.0.debug" does not match "/usr/lib64/libgvfscommon.so.0" (CRC mismatch). warning: the debug information found in "/usr/lib/debug/usr/lib64/libgvfscommon.so.0.0.0.debug" does not match "/usr/lib64/libgvfscommon.so.0" (CRC mismatch). warning: the debug information found in "/usr/lib/debug//usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so.debug" does not match "/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so" (CRC mismatch). warning: the debug information found in "/usr/lib/debug/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so.debug" does not match "/usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so" (CRC mismatch). warning: the debug information found in "/usr/lib/debug//usr/lib64/gio/modules/libdconfsettings.so.debug" does not match "/usr/lib64/gio/modules/libdconfsettings.so" (CRC mismatch). warning: the debug information found in "/usr/lib/debug/usr/lib64/gio/modules/libdconfsettings.so.debug" does not match "/usr/lib64/gio/modules/libdconfsettings.so" (CRC mismatch). [New Thread 0x7fffec751700 (LWP 32101)] [New Thread 0x7fffebf50700 (LWP 32102)] [New Thread 0x7fffeb74f700 (LWP 32106)] [New Thread 0x7fffeae30700 (LWP 32107)] Program received signal SIGSEGV, Segmentation fault. 0x0000000000472550 in adium_info_dup_path_for_variant (info=<optimized out>, variant=0x9fc730 "WhiteBackground") at empathy-theme-adium.c:1751 1751 variant = g_ptr_array_index (variants, 0); Missing separate debuginfos, use: debuginfo-install adwaita-gtk3-theme-3.2.0.2-1.fc16.x86_64 clutter-gst-1.3.14-2.fc16.x86_64 dconf-0.10.0-1.fc16.x86_64 gnome-desktop3-3.2.0-1.fc16.x86_64 gvfs-1.10.0-1.fc16.x86_64 libicu-4.6-2.fc16.x86_64 libmx-1.3.1-2.fc16.x86_64 librsvg2-2.34.1-1.fc16.x86_64 libxslt-1.1.26-8.fc16.x86_64 (gdb) thread apply all backtrace
+ Trace 228658
Thread 1 (Thread 0x7ffff40d49c0 (LWP 32086))
i have the same problem. attaching the the theme that crashes empathy 0x080f90ed in adium_info_dup_path_for_variant (info=0x85cf728, variant=0x85ea458 "Left") at empathy-theme-adium.c:1751 1751 empathy-theme-adium.c: No such file or directory. in empathy-theme-adium.c (gdb) bt full
+ Trace 228680
Created attachment 198234 [details] theme that crashes empathy
Created attachment 198813 [details] [review] Use default variant if we can't find any variants We use to crash here trying to get the first element of an empty GPtrArray.
Created attachment 198814 [details] [review] preferences: don't display variants checkbox if there is no variant
(In reply to comment #2) > Created an attachment (id=198234) [details] > theme that crashes empathy I found another bug with that theme btw: bug #661495
Review of attachment 198813 [details] [review]: ::: libempathy-gtk/empathy-theme-adium.c @@ +1758,3 @@ + if (variants->len == 0) + return g_strdup ("main.css"); + The comment above is for the loop's fallback not this one. So it should be moved after.
The rest looks good.
Merged to master and 2.32. Attachment 198813 [details] pushed as e487926 - Use default variant if we can't find any variants Attachment 198814 [details] pushed as 434aec0 - preferences: don't display variants checkbox if there is no variant