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 699448 - Crash under e_book_backend_ldap_stop_view()
Crash under e_book_backend_ldap_stop_view()
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Contacts
3.8.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-addressbook-maintainers
Evolution QA team
Depends on: 694112
Blocks:
 
 
Reported: 2013-05-02 09:41 UTC by David Woodhouse
Modified: 2014-08-27 12:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
eds patch (1.64 KB, patch)
2013-06-05 13:56 UTC, Milan Crha
committed Details | Review

Description David Woodhouse 2013-05-02 09:41:57 UTC
I was sending an email to myself and I think it was trying to autocomplete the address. It got as far as replacing what I'd typed:
 dwmw2@infradead.org
... with something ugly and redundant:
 dwmw2@infradead.org <dwmw2@infradead.org>

... and then Evolution stopped responding. Went to my terminal window and found this:

Program received signal SIGSEGV, Segmentation fault.

Thread 140737353787456 (LWP 12454)

  • #0 ldap_op_finished
    at e-book-backend-ldap.c line 1165
  • #1 e_book_backend_ldap_stop_view
    at e-book-backend-ldap.c line 5042
  • #2 impl_DataBookView_dispose
    at e-data-book-view.c line 311
  • #3 e_gdbus_marshallers_BOOLEAN__OBJECT
    at e-gdbus-marshallers.c line 124
  • #4 g_closure_invoke
    at gclosure.c line 777
  • #5 signal_emit_unlocked_R
    at gsignal.c line 3584
  • #6 g_signal_emit_valist
    at gsignal.c line 3338
  • #7 g_signal_emit
    at gsignal.c line 3384
  • #8 e_gdbus_stub_handle_method_call
    at e-gdbus-templates.c line 679
  • #9 call_in_idle_cb
    at gdbusconnection.c line 4737
  • #10 g_main_dispatch
    at gmain.c line 3054
  • #11 g_main_context_dispatch
    at gmain.c line 3630
  • #12 g_main_context_iterate
    at gmain.c line 3701
  • #13 g_main_loop_run
    at gmain.c line 3895
  • #14 dbus_server_run_server
    at e-dbus-server.c line 222
  • #15 ffi_call_unix64
    from /lib64/libffi.so.6
  • #16 ffi_call
    from /lib64/libffi.so.6
  • #17 g_cclosure_marshal_generic_va
    at gclosure.c line 1550
  • #18 _g_closure_invoke_va
    at gclosure.c line 840
  • #19 g_signal_emit_valist
    at gsignal.c line 3234
  • #20 g_signal_emit
    at gsignal.c line 3384
  • #21 e_dbus_server_run
    at e-dbus-server.c line 414
  • #22 main
    at evolution-addressbook-factory.c line 132

Comment 1 Milan Crha 2013-06-05 13:56:32 UTC
Created attachment 246075 [details] [review]
eds patch

for evolution-data-server;

I'm not able to reproduce this, of course, but I think I see what's going on here. When the e_book_backend_ldap_stop_view() is called twice, then the second call uses already freed memory, which causes this crash. Making sure the second call will not do anything should address the crash.
Comment 2 Milan Crha 2013-06-05 13:59:37 UTC
Created commit a21ccfa in eds master (3.9.3+)
Created commit bbbf17d in eds gnome-3-8 (3.8.3+)
Comment 3 Milan Crha 2014-08-27 12:33:46 UTC
See bug #694112, which has a backtrace from 3.8.3, thus the fix from here didn't help that much.