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 739375 - Crash when sort folder with Due By column
Crash when sort folder with Due By column
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
3.12.x (obsolete)
Other Linux
: High critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2014-10-29 22:02 UTC by Ralf
Modified: 2014-10-30 08:17 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Ralf 2014-10-29 22:02:24 UTC
When sorting Mails inside the virtual Junk folder of Evolution 3.12.7 by Due By and I try to access the Junk folder, Evolution most of the times crashes. Everything is ok when set to Not sorted.
Comment 1 André Klapper 2014-10-29 22:24:56 UTC
Thanks for taking the time to report this bug.
Without a stack trace from the crash it's very hard to determine what caused it.
Can you get us a stack trace with debug symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
Comment 3 Milan Crha 2014-10-30 06:58:44 UTC
Program received signal SIGSEGV, Segmentation fault.
e_int64ptr_compare (data1=0x0, data2=0x0) at e-table-extras.c:116
116             return (*pa == *pb) ? 0 : (*pa < *pb) ? -1 : 1;
(gdb) bt
  • #0 e_int64ptr_compare
    at e-table-extras.c line 116
  • #1 e_sort_callback
    at e-table-sorting-utils.c line 119
  • #2 ??
    from /usr/lib/libglib-2.0.so.0
  • #3 ??
    from /usr/lib/libglib-2.0.so.0
  • #4 ??
    from /usr/lib/libglib-2.0.so.0
  • #5 ??
    from /usr/lib/libglib-2.0.so.0
  • #6 ??
    from /usr/lib/libglib-2.0.so.0
  • #7 e_table_sorting_utils_tree_sort
    at e-table-sorting-utils.c line 386
  • #8 resort_node
    at e-tree-table-adapter.c line 219
  • #9 generate_tree
    at e-tree-table-adapter.c line 394
  • #10 update_node
    at e-tree-table-adapter.c line 509
  • #11 tree_table_adapter_source_model_node_changed_cb
    at e-tree-table-adapter.c line 583
  • #12 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #13 ??
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #16 build_flat
    at message-list.c line 4149
  • #17 message_list_regen_done_cb
    at message-list.c line 5690
  • #18 g_simple_async_result_complete
    from /usr/lib/libgio-2.0.so.0
  • #19 ??
    from /usr/lib/libgio-2.0.so.0
  • #20 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #21 ??
    from /usr/lib/libglib-2.0.so.0
  • #22 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #23 gtk_main
    from /usr/lib/libgtk-3.so.0
  • #24 main
    at main.c line 685

Comment 4 Milan Crha 2014-10-30 08:17:43 UTC
The problem was that the compare function didn't count with NULL values, while the NULL was legitimate/possible there.

Created commit 8de3757 in evo master (3.13.8+) [1]
Created commit 77df354 in evo master (missed one change) [2]
Created commit a6c26a3 in evo evolution-3-12 (3.12.8+)

[1] https://git.gnome.org/browse/evolution/commit/?id=8de3757
[2] https://git.gnome.org/browse/evolution/commit/?id=77df354