After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 595501 - Crash on a changed filter rule removal
Crash on a changed filter rule removal
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Tasks
2.28.x (obsolete)
Other Linux
: High critical
: ---
Assigned To: Milan Crha
Evolution QA team
evolution[filters]
: 604092 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-09-17 19:07 UTC by Thomas
Modified: 2013-09-13 01:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed evo patch (1.13 KB, patch)
2009-09-18 09:55 UTC, Milan Crha
committed Details | Review
proposed evo patch ][ (1.89 KB, patch)
2009-12-21 12:05 UTC, Milan Crha
committed Details | Review

Description Thomas 2009-09-17 19:07:26 UTC
I am running the latest code from the gnome-2-28 branch on ubuntu jaunty. Here is the stack trace:

(gdb) bt

Thread 1 (Thread 0xb62e6750 (LWP 22970))

  • #0 filter_rule_remove_part
    at ../../../evolution/filter/filter-rule.c line 521
  • #1 less_parts
    at ../../../evolution/filter/filter-rule.c line 726
  • #2 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c line 77
  • #3 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #4 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3247
  • #5 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #6 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #7 IA__gtk_button_clicked
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkbutton.c line 1106
  • #8 gtk_real_button_released
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkbutton.c line 1702
  • #9 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.20.1/gobject/gmarshal.c line 77
  • #10 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 878
  • #11 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #12 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3177
  • #13 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2980
  • #14 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #15 IA__gtk_button_released
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkbutton.c line 1098
  • #16 gtk_button_button_release
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkbutton.c line 1594
  • #17 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkmarshalers.c line 84
  • #18 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 878
  • #19 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.20.1/gobject/gclosure.c line 767
  • #20 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3285
  • #21 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 2990
  • #22 IA__g_signal_emit
    at /build/buildd/glib2.0-2.20.1/gobject/gsignal.c line 3037
  • #23 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkwidget.c line 4761
  • #24 IA__gtk_propagate_event
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkmain.c line 2396
  • #25 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.16.1/gtk/gtkmain.c line 1601
  • #26 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.16.1/gdk/x11/gdkevents-x11.c line 2364
  • #27 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.20.1/glib/gmain.c line 1814
  • #28 g_main_context_iterate
    at /build/buildd/glib2.0-2.20.1/glib/gmain.c line 2448
  • #29 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.20.1/glib/gmain.c line 2656
  • #30 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #31 main
    at ../../../evolution/shell/main.c line 732

Comment 1 Thomas 2009-09-17 19:19:18 UTC
Here is some additional info to reproduce this:

1) I opened the dialog "Open saved searches" in tasks and selected an item.
2) In this rule, all conditions had to be satisfied and two conditions were there.
   - priority not low
   - status not completed
3) I added another condition pressing the button top left.
4) I chose priority, and "is", and "normal" and hit the "Remove" button and boom!!
Comment 2 Akhil Laddha 2009-09-18 05:01:44 UTC
I can reproduce on evolution 2.27.92

Program received signal SIGSEGV, Segmentation fault.
0x00007fffe1652016 in filter_rule_remove_part (fr=0x138c280, fp=0x14d0600)
    at filter-rule.c:521
521	filter-rule.c: No such file or directory.
	in filter-rule.c
(gdb) bt full
  • #0 filter_rule_remove_part
    at filter-rule.c line 521
  • #1 less_parts
    at filter-rule.c line 726
  • #2 IA__g_closure_invoke
    at gclosure.c line 767
  • #3 signal_emit_unlocked_R
    at gsignal.c line 3247
  • #4 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #5 IA__g_signal_emit
    at gsignal.c line 3037
  • #6 gtk_real_button_released
    at gtkbutton.c line 1702
  • #7 IA__g_closure_invoke
    at gclosure.c line 767
  • #8 signal_emit_unlocked_R
    at gsignal.c line 3177
  • #9 IA__g_signal_emit_valist
    at gsignal.c line 2980
  • #10 IA__g_signal_emit
    at gsignal.c line 3037
  • #11 gtk_button_button_release
    at gtkbutton.c line 1594
  • #12 _gtk_marshal_BOOLEAN__BOXED
  • #13 IA__g_closure_invoke
    at gclosure.c line 767
  • #14 signal_emit_unlocked_R
    at gsignal.c line 3285
  • #15 IA__g_signal_emit_valist
    at gsignal.c line 2990
  • #16 IA__g_signal_emit
    at gsignal.c line 3037
  • #17 gtk_widget_event_internal
    at gtkwidget.c line 4761
  • #18 IA__gtk_propagate_event
    at gtkmain.c line 2396
  • #19 IA__gtk_main_do_event
    at gtkmain.c line 1601
  • #20 gdk_event_dispatch
    at gdkevents-x11.c line 2365
  • #21 IA__g_main_context_dispatch
    at gmain.c line 1814
  • #22 g_main_context_iterate
    at gmain.c line 2448
  • #23 IA__g_main_loop_run
    at gmain.c line 2656
  • #24 bonobo_main
    from /usr/lib64/libbonobo-2.so.0
  • #25 main
    at main.c line 732

Comment 3 Milan Crha 2009-09-18 09:55:56 UTC
Created attachment 143429 [details] [review]
proposed evo patch

for evolution;

Confirming. I did a mistake when removing deprecated Gtk+ symbols.
Comment 4 Matthew Barnes 2009-09-18 11:02:55 UTC
Looks fine.  Commit.
Comment 5 Milan Crha 2009-09-18 11:43:08 UTC
Just after a code freeze. Someone should notify me of "all of them" :)
Comment 6 Milan Crha 2009-09-23 11:55:39 UTC
Created commit 033337a in evo master (2.29.1+)
Created commit f68dc8e in evo gnome-2-28 (2.28.1+)
Comment 7 Akhil Laddha 2009-12-09 04:00:12 UTC
*** Bug 604092 has been marked as a duplicate of this bug. ***
Comment 8 Thomas 2009-12-20 03:16:52 UTC
Just got segfault in less_parts in em-filter-rule.c and - smart as I am - first did a search before creating a new bug. And it looks like the changes to filter/filter-rule.c did not make it into mail/em-filter-rule.c.
Unfortunately, when I tried to apply the above patch, there would still be an assertion:
(evolution:9171): evolution-mail-CRITICAL **: less_parts: assertion `part_data != NULL' failed

(gdb) bt full
  • #0 less_parts
    at ../../../evolution/mail/em-filter-rule.c line 436
  • #1 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #2 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #3 ??
    from /usr/lib/libgobject-2.0.so.0
  • #4 ??
  • #5 ??
(gdb)
Comment 9 Milan Crha 2009-12-21 12:05:17 UTC
Created attachment 150165 [details] [review]
proposed evo patch ][

for evolution;

ah, right, the similar functions, but different file. Pity. Please try with this patch instead. There were necessary more changes. I also do not get the crash, but I saw some runtime warnings on console while clicking on "remove" button in message filters bottom part.
Comment 10 Thomas 2009-12-23 06:49:20 UTC
(In reply to comment #9)
> Created an attachment (id=150165) [details] [review]
> proposed evo patch ][
> 
> for evolution;
> 
> ah, right, the similar functions, but different file. Pity. Please try with
> this patch instead. 

Yep. Works. Thanks, Milan!
Comment 11 Milan Crha 2009-12-23 10:14:07 UTC
Created commit 6ba2bdc in evo master (2.29.5+)
Created commit a1bd223 in evo gnome-2-28 (2.28.3+)

Thanks for noticing and testing, Thomas.