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 624422 - Crash in g_list_last, e_list_get_iterator at e-list.c:79
Crash in g_list_last, e_list_get_iterator at e-list.c:79
Status: RESOLVED DUPLICATE of bug 596663
Product: evolution
Classification: Applications
Component: general
2.32.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: Evolution Shell Maintainers Team
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-07-15 06:33 UTC by Akhil Laddha
Modified: 2011-02-28 08:09 UTC
See Also:
GNOME target: ---
GNOME version: 2.29/2.30



Description Akhil Laddha 2010-07-15 06:33:19 UTC
evolution 2.31.6

What i did

1. Disabled imapx account
2. Enabled groupwise account
3. Restarted evolution
4. It crashed on start up

gdb traces of evolution

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xa7569b70 (LWP 10236)]
0xb64e582b in g_list_last (list=0x0) at glist.c:836
836	      while (list->next)
(gdb) t a a bt

Thread 1 (Thread 0xb6140710 (LWP 10216))

  • #0 g_malloc_n
    at gmem.c line 282
  • #1 g_strndup
    at gstrfuncs.c line 154
  • #2 camel_url_new_with_base
    at camel-url.c line 134
  • #3 camel_url_new
    at camel-url.c line 308
  • #4 camel_store_folder_uri_equal
    at camel-store.c line 1590
  • #5 uri_is_ignore
    at mail-vfolder.c line 347
  • #6 mail_vfolder_add_uri
    at mail-vfolder.c line 455
  • #7 mail_vfolder_notify_uri_available
    at mail-vfolder.c line 547
  • #8 folder_available_cb
    at mail-vfolder.c line 981
  • #9 e_marshal_VOID__OBJECT_STRING
    at e-marshal.c line 1754
  • #10 g_closure_invoke
    at gclosure.c line 766
  • #11 signal_emit_unlocked_R
    at gsignal.c line 3252
  • #12 g_signal_emit_valist
    at gsignal.c line 2983
  • #13 g_signal_emit
    at gsignal.c line 3040
  • #14 real_flush_updates
    at mail-folder-cache.c line 175
  • #15 do_async_event
    at mail-mt.c line 621
  • #16 idle_async_event
    at mail-mt.c line 633
  • #17 g_idle_dispatch
    at gmain.c line 4224
  • #18 g_main_dispatch
    at gmain.c line 2119
  • #19 g_main_context_dispatch
    at gmain.c line 2672
  • #20 g_main_context_iterate
    at gmain.c line 2750
  • #21 g_main_loop_run
    at gmain.c line 2958
  • #22 IA__gtk_main
    at gtkmain.c line 1219
  • #23 main
    at main.c line 631
  • #0 g_list_last
    at glist.c line 836
  • #1 g_list_append
    at glist.c line 247
  • #2 e_list_get_iterator
    at e-list.c line 79
  • #3 e_account_list_find
    at e-account-list.c line 475
  • #4 e_get_account_by_uid
    at e-account-utils.c line 135
  • #5 vfolder_adduri_desc
    at mail-vfolder.c line 217
  • #6 mail_msg_proxy
    at mail-mt.c line 462
  • #7 g_thread_pool_thread_proxy
    at gthreadpool.c line 314
  • #8 g_thread_create_proxy
    at gthread.c line 1897
  • #9 start_thread
    from /lib/libpthread.so.0
  • #10 clone
    from /lib/libc.so.6
(gdb)
Comment 1 Matthew Barnes 2010-07-15 09:23:17 UTC
That's really strange.  I don't see how g_list_last() could possibly crash.


  GList*
  g_list_last (GList *list)
  {
    if (list)
      {
        while (list->next)
          list = list->next;
      }

    return list;
  }

If the list argument was NULL, it should have just skipped over the loop and returned NULL.

Something else must be going on here -- race condition or memory corruption or something.  Would be interested to know if you can reproduce this again.
Comment 2 Milan Crha 2010-12-13 09:23:57 UTC
Similar downstream bug report from 2.32.1:
https://bugzilla.redhat.com/show_bug.cgi?id=662100
Comment 3 Milan Crha 2011-02-28 08:09:10 UTC

*** This bug has been marked as a duplicate of bug 596663 ***