GNOME Bugzilla – Bug 612792
Crash when trying to delete WebDav addressbook
Last modified: 2013-09-13 01:06:36 UTC
Version: 2.30.x What were you doing when the application crashed? I was modifying WebDAV-based contact list options (one of them was URL) Distribution: Gentoo Base System release 2.0.1 Gnome Release: 2.28.2 2010-03-07 (Gentoo) BugBuddy Version: 2.28.0 System: Linux 2.6.33-04714-geaa5eec #190 SMP Thu Mar 4 11:57:24 EET 2010 x86_64 X Vendor: The X.Org Foundation X Vendor Release: 10705000 Selinux: No Accessibility: Disabled GTK+ Theme: Clearlooks Compact Icon Theme: gnome GTK+ Modules: canberra-gtk-module, gnomebreakpad Memory status: size: 758865920 vsize: 758865920 resident: 44625920 share: 25321472 rss: 44625920 rss_rlim: 18446744073709551615 CPU usage: start_time: 1268489992 rtime: 190 utime: 180 stime: 10 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100 Backtrace was generated from '/usr/bin/evolution' [?1034hTraceback (most recent call last): File "/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.2304.0-gdb.py", line 9, in <module> from gobject import register File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module> import gdb.backtrace ImportError: No module named backtrace [Thread debugging using libthread_db enabled] [New Thread 0x7f5ab3f7f710 (LWP 18370)] [New Thread 0x7f5abcff9710 (LWP 18359)] [New Thread 0x7f5abd7fa710 (LWP 18353)] [New Thread 0x7f5abe7fc710 (LWP 18350)] [New Thread 0x7f5abeffd710 (LWP 18349)] [New Thread 0x7f5abf7fe710 (LWP 18348)] [New Thread 0x7f5abffff710 (LWP 18347)] [New Thread 0x7f5ac5712710 (LWP 18344)] [New Thread 0x7f5ac5f13710 (LWP 18343)] [New Thread 0x7f5ac6935710 (LWP 18342)] [New Thread 0x7f5ac7136710 (LWP 18341)] 0x00007f5adcfccbcd in __libc_waitpid (pid=18400, stat_loc=<value optimized out>, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:41 in ../sysdeps/unix/sysv/linux/waitpid.c
+ Trace 220944
Thread 1 (Thread 0x7f5adf0f9760 (LWP 18337))
Inferior 1 [process 18337] will be detached. Quit anyway? (y or n) [answered Y; input not from terminal]
Simple right click on addressbook on sidebar and then selecting the "Delete this addressbook" causes crash.
Created attachment 156174 [details] [review] Patch to fix the immediate crash The bug was caused by not passing a NULL to a function expecting a NULL terminated list of strings. Fixed this and a few other cases which I was able to catch with some followup cleaning I did. Will post that patch next.
Created attachment 156175 [details] [review] Followup work to prevent this from happening again This patch adds a "sentinel" function attribute to some of the functions that take a NULL-terminated string list (and also discards an unnecessary function parameter so the attribute works right). This will allow GCC to catch any future cases like this and alert us with a compiler warning.
I emailed release-team for approval on this.
I tested both patches and they seem to do the right thing.
Code-freeze isn't in effect just yet so I'm going to commit these now. I'm pretty confident they fix the crash, but Priit if you could verify I'd appreciate it, as neither Milan nor I can reproduce it. Crash fix: http://git.gnome.org/browse/evolution/commit/?id=ea52ab83fe121796a12a090ce81ba114d2c368ed Followup work: http://git.gnome.org/browse/evolution/commit/?id=58d0d111af5580051b4d9a5cbaef4d7b96fdcfa8