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 636956 - [abrt] evolution-data-server-2.32.1-1.fc14: (SIGSEGV) authenticate, gdata_service_authenticate, e_book_backend_google_authenticate_user
[abrt] evolution-data-server-2.32.1-1.fc14: (SIGSEGV) authenticate, gdata_ser...
Status: RESOLVED OBSOLETE
Product: evolution-data-server
Classification: Platform
Component: Contacts
2.32.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-addressbook-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2010-12-10 13:27 UTC by Milan Crha
Modified: 2012-09-04 19:06 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Milan Crha 2010-12-10 13:27:15 UTC
Moving this from a downstream bug report:
https://bugzilla.redhat.com/show_bug.cgi?id=661692

abrt version: 1.1.14
architecture: x86_64
Attached file: backtrace
cmdline: /usr/libexec/e-addressbook-factory
component: evolution-data-server
crash_function: authenticate
executable: /usr/libexec/e-addressbook-factory
kernel: 2.6.35.9-64.fc14.x86_64
package: evolution-data-server-2.32.1-1.fc14
rating: 4
reason: Process /usr/libexec/e-addressbook-factory was killed by signal 11
(SIGSEGV)
release: Fedora release 14 (Laughlin)
time: 1291897433
uid: 500

How to reproduce
-----
I'm not sure how to actually reproduce it, but here is what I did this time:

1. crash evolution
2. start evolution
3. recover open drafts

Core was generated by `/usr/libexec/e-addressbook-factory'.
Program terminated with signal 11, Segmentation fault.

Thread 6 (Thread 2546)

  • #0 __open_nocancel
    from /lib64/libc.so.6
  • #1 _IO_new_file_fopen
    from /lib64/libc.so.6
  • #2 __fopen_internal
    from /lib64/libc.so.6
  • #3 do_init
    from /lib64/libc.so.6
  • #4 pthread_once
    from /lib64/libpthread.so.0
  • #5 gaih_inet
    from /lib64/libc.so.6
  • #6 getaddrinfo
    from /lib64/libc.so.6
  • #7 do_lookup_by_name
    at gthreadedresolver.c line 373
  • #8 threaded_resolver_thread
    at gthreadedresolver.c line 308
  • #9 g_thread_pool_thread_proxy
    at gthreadpool.c line 319
  • #10 g_thread_create_proxy
    at gthread.c line 1897
  • #11 start_thread
    from /lib64/libpthread.so.0
  • #12 clone
    from /lib64/libc.so.6

Thread 2 (Thread 2541)

  • #0 __strchr_sse42
    from /lib64/libc.so.6
  • #1 g_variant_type_string_scan
    at gvarianttype.c line 546
  • #2 g_variant_type_peek_string
    at gvarianttype.c line 718
  • #3 g_variant_type_is_array
    at gvarianttype.c line 910
  • #4 append_value_to_blob
    at gdbusmessage.c line 1995
  • #5 append_value_to_blob
    at gdbusmessage.c line 2046
  • #6 g_dbus_message_to_blob
    at gdbusmessage.c line 2295
  • #7 g_dbus_connection_send_message_unlocked
    at gdbusconnection.c line 1414
  • #8 g_dbus_connection_send_message
    at gdbusconnection.c line 1517
  • #9 g_dbus_method_invocation_return_dbus_error
    at gdbusmethodinvocation.c line 603
  • #10 g_dbus_method_invocation_return_gerror
    at gdbusmethodinvocation.c line 551
  • #11 data_book_return_error
    at e-data-book.c line 436
  • #12 e_data_book_respond_authenticate_user
    at e-data-book.c line 448
  • #13 _e_book_backend_authenticate_user
    at e-book-backend-sync.c line 474
  • #14 operation_thread
    at e-data-book.c line 106
  • #15 g_thread_pool_thread_proxy
    at gthreadpool.c line 319
  • #16 g_thread_create_proxy
    at gthread.c line 1897
  • #17 start_thread
    from /lib64/libpthread.so.0
  • #18 clone
    from /lib64/libc.so.6

Thread 1 (Thread 2538)

  • #0 authenticate
    at gdata/gdata-service.c line 572
  • #1 gdata_service_authenticate
    at gdata/gdata-service.c line 812
  • #2 e_book_backend_google_authenticate_user
    at e-book-backend-google.c line 1046
  • #3 _e_book_backend_authenticate_user
    at e-book-backend-sync.c line 472
  • #4 operation_thread
    at e-data-book.c line 106
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 319
  • #6 g_thread_create_proxy
    at gthread.c line 1897
  • #7 start_thread
    from /lib64/libpthread.so.0
  • #8 clone
    from /lib64/libc.so.6

Comment 1 Philip Withnall 2010-12-13 19:14:30 UTC
What version of libgdata is this with?
Comment 2 Florian Ludwig 2010-12-20 22:57:28 UTC
That probably was with libgdata version 0.6.4-4.fc14

Thanks.
Comment 3 Philip Withnall 2010-12-21 17:21:23 UTC
I'm not quite sure how this could've happened. It looks like the GDataService instance being passed to gdata_service_authenticate() is NULL, which indicates a bug in the Google Contacts e-d-s backend (rather than libgdata). The only way I can think of that this could've happened, however, is for e_book_backend_google_set_mode() to have been called from another thread to set the backend to offline mode, while the thread that crashed was between lines 1037 and 1046 of e-book-backend-google.c.

Milan, does that sound possible? I don't know enough about the interactions between threads in synchronous address book backends to be able to say.
Comment 4 Milan Crha 2011-01-05 14:44:42 UTC
It's done semi-asynchronously, so it's also possible that the backend was freed or manipulated before the authentication got to the processing. I do not think the libgdata is causing this, so I filled this against eds.
Comment 5 Milan Crha 2012-09-04 19:06:16 UTC
Thanks for taking the time to report this bug.
However, you are using a version that is too old and not supported anymore. GNOME developers are no longer working on that version, so unfortunately there will not be any bug fixes for the version that you use.

By upgrading to a newer version of GNOME you could receive bug fixes and new functionality. You may need to upgrade your Linux distribution to obtain a newer version of GNOME.
Please feel free to reopen this bug if the problem still occurs with a newer version of GNOME.