[Evolution] Evolution segfault creating or modifying repeating calendar entry



Platform: Ubuntu 09.04 (Jaunty)
evolution: 2.26.1-0ubuntu2
libecal1.2-7: 2.26.1-0ubuntu2
libedata-cal1.2-6: 2.26.1-0ubuntu2
libedataserver1.2-11: 2.26.1-0ubuntu2

I'm creating a calendar entry and want it to repeat. The calendar entry is in the local (Personal) calendar. The steps used to create are as follows:

Launch evolution
Click: Calendar icon in lower left corner
Click: "Week View"
Right-click within "Monday 03 August" and select: "New Appointment"
Fill in appointment details as follows:
Summary: Meeting
Time: 19:00 for 2 hours 30 minutes
Time zone: America/Chicago
Click: Recurrence
Click: checkbox for "this appointment recurs"
Click: "day(s)" and change to "week(s)"
Click: "for" and change to "forever"
Click: Close
Click: Save

evolution crashes with a segfault. The code is trying to fetch a value from memory location 0. Oops.

Here is a log with debugging symbols loaded. After the segfault is a backtrace, integer register values and 10 instructions that surround the one that fails.

The log shows an attempt to modify the existing entry so it will repeat. Lines prefixed with # are commentary on what I was doing at the time. I have removed the thread messages (New Thread, Thread exited) that were printed at evolution startup.

Suggestions on where to go next are appreciated. I can reproduce this at will and would be happy to provide additional gdb output upon request.

Thanks!

-Jeff


$ gdb evolution
GNU gdb 6.8-debian
Copyright (C) 2008 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 "i486-linux-gnu"...
(gdb) run
Starting program: /usr/bin/evolution
[Thread debugging using libthread_db enabled]
** (evolution:10030): DEBUG: mailto URL command: evolution --component=mail %s
** (evolution:10030): DEBUG: mailto URL program: evolution
** (evolution:10030): DEBUG: EI: SHELL STARTUP
# Calendar display (week view) appears
# Right-click and open calendar entry
[New Thread 0xb4661b90 (LWP 10147)]
[Thread 0xb4661b90 (LWP 10147) exited]
[New Thread 0xb4661b90 (LWP 10148)]
[New Thread 0xb184ab90 (LWP 10151)]
[Thread 0xb184ab90 (LWP 10151) exited]
[New Thread 0xb184ab90 (LWP 10154)]
[Thread 0xb184ab90 (LWP 10154) exited]
# Click Recurrence
# Click checkbox: this appointment recurs
[New Thread 0xb184ab90 (LWP 10187)]
[Thread 0xb184ab90 (LWP 10187) exited]
# every week
[New Thread 0xb184ab90 (LWP 10219)]
[Thread 0xb184ab90 (LWP 10219) exited]

(evolution:10030): calendar-gui-CRITICAL **: simple_recur_to_comp: assertion `GTK_BIN (priv->special)->child != NULL' failed

(evolution:10030): Gtk-CRITICAL **: gtk_widget_get_toplevel: assertion `GTK_IS_WIDGET (widget)' failed

(evolution:10030): Gtk-CRITICAL **: gtk_widget_get_toplevel: assertion `GTK_IS_WIDGET (widget)' failed

(evolution:10030): Gtk-CRITICAL **: gtk_widget_get_toplevel: assertion `GTK_IS_WIDGET (widget)' failed

(evolution:10030): Gtk-CRITICAL **: gtk_widget_get_toplevel: assertion `GTK_IS_WIDGET (widget)' failed
# forever

(evolution:10030): Gtk-CRITICAL **: gtk_widget_get_toplevel: assertion `GTK_IS_WIDGET (widget)' failed

(evolution:10030): Gtk-CRITICAL **: gtk_widget_get_toplevel: assertion `GTK_IS_WIDGET (widget)' failed
# Close
# Save
[New Thread 0xb184ab90 (LWP 10251)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb614e770 (LWP 10030)]
0xb5b72506 in comp_util_sanitize_recurrence_master (comp=0xa778890, client=0xa5d47b0) at comp-util.c:823
823 comp-util.c: No such file or directory.
in comp-util.c
(gdb) bt
#0 0xb5b72506 in comp_util_sanitize_recurrence_master (comp=0xa778890, client=0xa5d47b0) at comp-util.c:823
#1 0xb5c07e6a in save_comp (editor=0xa77f008) at comp-editor.c:804
#2 0xb5c0810e in save_comp_with_send (editor=0xa77f008) at comp-editor.c:913
#3 0xb5c0acba in action_save_cb (action=0xa7c6400, editor=0xa77f008) at comp-editor.c:1186 #4 0xb6b513a4 in IA__g_cclosure_marshal_VOID__VOID (closure=0xa84a850, return_value=0x0, n_param_values=1, param_values=0xaa5dcc8, invocation_hint=0xbf93e7fc, marshal_data=0xb5c0ab80) at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c:77 #5 0xb6b43c7b in IA__g_closure_invoke (closure=0xa84a850, return_value=0x0, n_param_values=1, param_values=0xaa5dcc8, invocation_hint=0xbf93e7fc)
at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c:767
#6 0xb6b59e57 in signal_emit_unlocked_R (node=0xa84ab80, detail=0, instance=0xa7c6400, emission_return=0x0, instance_and_params=0xaa5dcc8)
at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c:3247
#7 0xb6b5b4b9 in IA__g_signal_emit_valist (instance=0xa7c6400, signal_id=531, detail=0, var_args=0xbf93e99c "ïï;ï")
at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c:2980
#8 0xb6b5b936 in IA__g_signal_emit (instance=0xa7c6400, signal_id=531, detail=0) at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c:3037 #9 0xb7074305 in _gtk_action_emit_activate (action=0xa7c6400) at /build/buildd/gtk+2.0-2.16.1/gtk/gtkaction.c:727 #10 0xb7076365 in IA__gtk_action_activate (action=0xa7c6400) at /build/buildd/gtk+2.0-2.16.1/gtk/gtkaction.c:757 #11 0xb721dece in button_clicked (widget=0xa851970, button=0xa64bbf0) at /build/buildd/gtk+2.0-2.16.1/gtk/gtktoolbutton.c:705 #12 0xb6b513a4 in IA__g_cclosure_marshal_VOID__VOID (closure=0xa871808, return_value=0x0, n_param_values=1, param_values=0xaa5de50, invocation_hint=0xbf93eb6c, marshal_data=0xb721dea0) at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c:77 #13 0xb6b43c7b in IA__g_closure_invoke (closure=0xa871808, return_value=0x0, n_param_values=1, param_values=0xaa5de50, invocation_hint=0xbf93eb6c)
at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c:767
#14 0xb6b59e57 in signal_emit_unlocked_R (node=0xa06e440, detail=0, instance=0xa851970, emission_return=0x0, instance_and_params=0xaa5de50)
at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c:3247
#15 0xb6b5b4b9 in IA__g_signal_emit_valist (instance=0xa851970, signal_id=104, detail=0, var_args=0xbf93ed0c "ïeïïï_ïïp\031\205\n(ï\223ïï\001\tïp\031\205\nï\001\tïHï\223ïï\023ïïp\031\205\nï|\003\n=4ïïï_ïïhï\231\nïï\006\nxï\223ïï#ïïïï\006\n")
at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c:2980
#16 0xb6b5b936 in IA__g_signal_emit (instance=0xa851970, signal_id=104, detail=0) at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c:3037 #17 0xb708ebda in IA__gtk_button_clicked (button=0xa851970) at /build/buildd/gtk+2.0-2.16.1/gtk/gtkbutton.c:1106 #18 0xb70901f8 in gtk_real_button_released (button=0xa851970) at /build/buildd/gtk+2.0-2.16.1/gtk/gtkbutton.c:1702 #19 0xb6b513a4 in IA__g_cclosure_marshal_VOID__VOID (closure=0xa06e9e0, return_value=0x0, n_param_values=1, param_values=0xa99f768, invocation_hint=0xbf93eedc, marshal_data=0xb70901b0) at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c:77 #20 0xb6b423d9 in g_type_class_meta_marshal (closure=0xa06e9e0, return_value=0x0, n_param_values=1, param_values=0xa99f768, invocation_hint=0xbf93eedc,
marshal_data=0x1a4) at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c:878
#21 0xb6b43c7b in IA__g_closure_invoke (closure=0xa06e9e0, return_value=0x0, n_param_values=1, param_values=0xa99f768, invocation_hint=0xbf93eedc)
at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c:767
#22 0xb6b596c0 in signal_emit_unlocked_R (node=0xa06ea20, detail=0, instance=0xa851970, emission_return=0x0, instance_and_params=0xa99f768)
at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c:3177
#23 0xb6b5b4b9 in IA__g_signal_emit_valist (instance=0xa851970, signal_id=103, detail=0, var_args=0xbf93f07c "ïeïïïï;ï\220ï\bï\230ï\223ïïï\bïp\031\205\n\220ï\bïïï\223ï&\225\024ïp\031\205\n\210ï[\n ï\006\nï_ïïïï\220\n \235\004\nïï\223ïï#ïï \235\004\n`ï\223ï\002") at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c:2980 #24 0xb6b5b936 in IA__g_signal_emit (instance=0xa851970, signal_id=103, detail=0) at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c:3037 #25 0xb708ec7a in IA__gtk_button_released (button=0xa851970) at /build/buildd/gtk+2.0-2.16.1/gtk/gtkbutton.c:1098 #26 0xb708ecb3 in gtk_button_button_release (widget=0xa851970, event=0xa5bd788) at /build/buildd/gtk+2.0-2.16.1/gtk/gtkbutton.c:1594 #27 0xb7149526 in _gtk_marshal_BOOLEAN__BOXED (closure=0xa049d20, return_value=0xbf93f260, n_param_values=2, param_values=0xa90ffb8, invocation_hint=0xbf93f24c, marshal_data=0xb708ec90) at /build/buildd/gtk+2.0-2.16.1/gtk/gtkmarshalers.c:84 #28 0xb6b423d9 in g_type_class_meta_marshal (closure=0xa049d20, return_value=0xbf93f260, n_param_values=2, param_values=0xa90ffb8, invocation_hint=0xbf93f24c,
marshal_data=0xb4) at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c:878
#29 0xb6b43c7b in IA__g_closure_invoke (closure=0xa049d20, return_value=0xbf93f260, n_param_values=2, param_values=0xa90ffb8, invocation_hint=0xbf93f24c)
at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c:767
#30 0xb6b59aff in signal_emit_unlocked_R (node=0xa049fd8, detail=0, instance=0xa851970, emission_return=0xbf93f398, instance_and_params=0xa90ffb8)
at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c:3285
#31 0xb6b5b34f in IA__g_signal_emit_valist (instance=0xa851970, signal_id=37, detail=0, var_args=0xbf93f3f0 "\bï\223ï\210ï[\np\031\205\nïï&ïp\031\205\n ï\006\n") at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c:2990 #32 0xb6b5b936 in IA__g_signal_emit (instance=0xa851970, signal_id=37, detail=0) at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c:3037 #33 0xb72642ae in gtk_widget_event_internal (widget=0xa851970, event=0xa5bd788) at /build/buildd/gtk+2.0-2.16.1/gtk/gtkwidget.c:4761 #34 0xb7141f7c in IA__gtk_propagate_event (widget=0xa851970, event=0xa5bd788) at /build/buildd/gtk+2.0-2.16.1/gtk/gtkmain.c:2396 #35 0xb7143327 in IA__gtk_main_do_event (event=0xa5bd788) at /build/buildd/gtk+2.0-2.16.1/gtk/gtkmain.c:1601 #36 0xb6e9434a in gdk_event_dispatch (source=0xa05f080, callback=0, user_data=0x0) at /build/buildd/gtk+2.0-2.16.1/gdk/x11/gdkevents-x11.c:2364 #37 0xb6abab88 in IA__g_main_context_dispatch (context=0xa05f0c8) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:1814 #38 0xb6abe0eb in g_main_context_iterate (context=0xa05f0c8, block=1, dispatch=1, self=0xa02f538) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:2448 #39 0xb6abe5ba in IA__g_main_loop_run (loop=0xa0a2d18) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:2656
#40 0xb74a5cc3 in bonobo_main () from /usr/lib/libbonobo-2.so.0
#41 0x0805d563 in main (argc=1, argv=0xbf93f6e4) at main.c:704
(gdb) info registers
eax 0x0 0
ecx 0x0 0
edx 0x0 0
ebx 0xb5c41ff4 -1245437964
esp 0xbf93e480 0xbf93e480
ebp 0xbf93e538 0xbf93e538
esi 0xa8b9630 176920112
edi 0xa778890 175605904
eip 0xb5b72506 0xb5b72506 <comp_util_sanitize_recurrence_master+230>
eflags 0x10246 [ PF ZF IF RF ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
(gdb) x/10i 0xb5b72500
0xb5b72500 <comp_util_sanitize_recurrence_master+224>: inc %esp
0xb5b72501 <comp_util_sanitize_recurrence_master+225>: and $0x4c,%al
0xb5b72503 <comp_util_sanitize_recurrence_master+227>: mov -0x40(%ebp),%edx
0xb5b72506 <comp_util_sanitize_recurrence_master+230>: mov (%edx),%eax ###segfault here###
0xb5b72508 <comp_util_sanitize_recurrence_master+232>: mov %eax,(%esp)
0xb5b7250b <comp_util_sanitize_recurrence_master+235>: mov 0x4(%edx),%eax
0xb5b7250e <comp_util_sanitize_recurrence_master+238>: mov %eax,0x4(%esp)
0xb5b72512 <comp_util_sanitize_recurrence_master+242>: mov 0x8(%edx),%eax
0xb5b72515 <comp_util_sanitize_recurrence_master+245>: mov %eax,0x8(%esp)
0xb5b72519 <comp_util_sanitize_recurrence_master+249>: mov 0xc(%edx),%eax





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