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 593017 - evolution-data-server-2.28 crashed with SIGSEGV
evolution-data-server-2.28 crashed with SIGSEGV
Status: RESOLVED OBSOLETE
Product: evolution-data-server
Classification: Platform
Component: general
3.2.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: Evolution Shell Maintainers Team
Evolution QA team
evolution[dbus]
: 595252 601985 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-08-25 13:50 UTC by Pedro Villavicencio
Modified: 2012-10-08 14:35 UTC
See Also:
GNOME target: ---
GNOME version: 3.1/3.2



Description Pedro Villavicencio 2009-08-25 13:50:49 UTC
this report has been filed here:

https://bugs.edge.launchpad.net/ubuntu/+source/evolution-data-server/+bug/412325

"crashed after login"

"this looks like an evolution-data-server bug (freeing an already free watch)"

".

Thread 3 (process 3605)

  • #0 __lll_unlock_wake
    from /lib/libpthread.so.0
  • #1 _L_unlock_672
    from /lib/libpthread.so.0
  • #2 pthread_mutex_unlock
    from /lib/libpthread.so.0
  • #3 ORBit_POA_handle_request
    at poa.c line 1647
  • #4 ORBit_handle_request
    at orbit-adaptor.c line 300
  • #5 giop_connection_handle_input
    at giop-recv-buffer.c line 1312
  • #6 link_connection_io_handler
    at linc-connection.c line 1475
  • #7 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.21.4/glib/gmain.c line 1960
  • #8 g_main_context_iterate
    at /build/buildd/glib2.0-2.21.4/glib/gmain.c line 2591
  • #9 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.21.4/glib/gmain.c line 2799
  • #10 link_io_thread_fn
    at linc.c line 396
  • #11 g_thread_create_proxy
    at /build/buildd/glib2.0-2.21.4/glib/gthread.c line 635
  • #12 start_thread
    from /lib/libpthread.so.0
  • #13 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 112
  • #14 ??

Thread 2 (process 3604)

  • #0 close
    from /lib/libpthread.so.0
  • #1 _dbus_close
    at dbus-sysdeps-unix.c line 2666
  • #2 socket_disconnect
    at dbus-transport-socket.c line 930
  • #3 _dbus_transport_disconnect
    at dbus-transport.c line 494
  • #4 _dbus_transport_queue_messages
    at dbus-transport.c line 1137
  • #5 _dbus_connection_get_dispatch_status_unlocked
    at dbus-connection.c line 4023
  • #6 _dbus_connection_block_pending_call
    at dbus-connection.c line 2341
  • #7 dbus_connection_send_with_reply_and_block
    at dbus-connection.c line 3356
  • #8 dbus_bus_register
    at dbus-bus.c line 698
  • #9 internal_bus_get
    at dbus-bus.c line 491
  • #10 gconf_get_server
    at gconf-internals.c line 2453
  • #11 gconf_activate_server
    at gconf-internals.c line 2861
  • #12 gconf_get_config_server
    at gconf.c line 2234
  • #13 gconf_engine_connect
    at gconf.c line 364
  • #14 gconf_engine_get_default
    at gconf.c line 575
  • #15 gconf_client_get_default
    at gconf-client.c line 433
  • #16 offline_listener_new
    at offline-listener.c line 94
  • #17 main
    at server.c line 344

Thread 1 (process 3607)

  • #0 _dbus_watch_unref
    at dbus-watch.c line 128
  • #1 free_watches
    at dbus-transport-socket.c line 83
  • #2 socket_disconnect
    at dbus-transport-socket.c line 928
  • #3 _dbus_transport_disconnect
    at dbus-transport.c line 494
  • #4 _dbus_transport_queue_messages
    at dbus-transport.c line 1137
  • #5 do_reading
    at dbus-transport-socket.c line 792
  • #6 socket_do_iteration
    at dbus-transport-socket.c line 1103
  • #7 _dbus_transport_do_iteration
    at dbus-transport.c line 956
  • #8 _dbus_connection_do_iteration_unlocked
    at dbus-connection.c line 1163
  • #9 _dbus_connection_flush_unlocked
    at dbus-connection.c line 3400
  • #10 _dbus_connection_block_pending_call
    at dbus-connection.c line 2295
  • #11 dbus_connection_send_with_reply_and_block
    at dbus-connection.c line 3356
  • #12 dbus_bus_register
    at dbus-bus.c line 698
  • #13 internal_bus_get
    at dbus-bus.c line 491
  • #14 gconf_get_server
    at gconf-internals.c line 2453
  • #15 gconf_activate_server
    at gconf-internals.c line 2861
  • #16 gconf_get_config_server
    at gconf.c line 2234
  • #17 gconf_engine_connect
    at gconf.c line 364
  • #18 gconf_engine_get_database
    at gconf.c line 439
  • #19 gconf_engine_notify_add
    at gconf.c line 820
  • #20 gconf_client_add_dir
    at gconf-client.c line 569
  • #21 e_source_list_new_for_gconf
    at e-source-list.c line 376
  • #22 get_sources
    at e-cal.c line 5330
  • #23 impl_CalFactory_getCal
    at e-data-cal-factory.c line 303
  • #24 _ORBIT_skel_small_GNOME_Evolution_Calendar_CalFactory_getCal
    at Evolution-DataServer-Calendar-common.c line 244
  • #25 ORBit_small_invoke_adaptor
    at orbit-small.c line 846
  • #26 ORBit_POAObject_handle_request
    at poa.c line 1357
  • #27 ORBit_POAObject_invoke_incoming_request
    at poa.c line 1427
  • #28 giop_thread_queue_process
    at giop.c line 792
  • #29 giop_request_handler_thread
    at giop.c line 502
  • #30 g_thread_pool_thread_proxy
    at /build/buildd/glib2.0-2.21.4/glib/gthreadpool.c line 265
  • #31 g_thread_create_proxy
    at /build/buildd/glib2.0-2.21.4/glib/gthread.c line 635
  • #32 start_thread
    from /lib/libpthread.so.0
  • #33 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 112
  • #34 ??

Comment 1 Matthew Barnes 2009-08-25 14:16:22 UTC
Actually this looks like a GConf-over-DBus issue.  Reassigning.
Comment 2 Ray Strode [halfline] 2009-10-09 17:47:11 UTC
GConf is not a threadsafe library.  Evolution is trying to use it from multiple threads at the same time.  This isn't allowed.

Punting back to evolution.
Comment 3 C de-Avillez 2009-10-29 17:50:46 UTC
Marking as NEW. We are getting quite a number of these on Karmic.
Comment 4 Akhil Laddha 2009-11-16 04:13:54 UTC
*** Bug 601985 has been marked as a duplicate of this bug. ***
Comment 5 Johnny Jacob 2010-02-08 12:43:45 UTC
*** Bug 595252 has been marked as a duplicate of this bug. ***
Comment 6 Milan Crha 2011-11-29 11:21:43 UTC
Similar downstream bug report from eds 3.2.2:
https://bugzilla.redhat.com/show_bug.cgi?id=757782

It's similar in a way of happening inside gconf_client_add_dir() under dbus code. I wish GConf will use GDBus instead, though it might not matter much, since GSettings will be used in evo/eds and the dependency on GConf will be dropped.

Thread 1 (Thread 0x7f79d4e1b700 (LWP 22113))

  • #0 _dbus_list_unlink
    at dbus-list.c line 517
  • #1 _dbus_list_remove_link
    at dbus-list.c line 538
  • #2 _dbus_list_pop_last
    at dbus-list.c line 690
  • #3 _dbus_validate_signature_with_reason
    at dbus-marshal-validate.c line 220
  • #4 validate_body_helper
  • #5 validate_body_helper
  • #6 validate_body_helper
    at dbus-marshal-validate.c line 644
  • #7 validate_body_helper
    at dbus-marshal-validate.c line 494
  • #8 _dbus_validate_body_with_reason
    at dbus-marshal-validate.c line 731
  • #9 _dbus_header_load
    at dbus-marshal-header.c line 993
  • #10 load_message
    at dbus-message.c line 3970
  • #11 _dbus_message_loader_queue_messages
    at dbus-message.c line 4173
  • #12 _dbus_transport_get_dispatch_status
    at dbus-transport.c line 1099
  • #13 _dbus_transport_queue_messages
    at dbus-transport.c line 1126
  • #14 do_reading
    at dbus-transport-socket.c line 851
  • #15 do_reading
    at dbus-transport-socket.c line 706
  • #16 socket_do_iteration
    at dbus-transport-socket.c line 1162
  • #17 _dbus_transport_do_iteration
    at dbus-transport.c line 974
  • #18 _dbus_connection_do_iteration_unlocked
    at dbus-connection.c line 1206
  • #19 _dbus_connection_block_pending_call
    at dbus-connection.c line 2409
  • #20 dbus_connection_send_with_reply_and_block
    at dbus-connection.c line 3556
  • #21 gconf_engine_all_entries
    at gconf-dbus.c line 1849
  • #22 cache_pairs_in_dir
    at gconf-client.c line 971
  • #23 gconf_client_add_dir
    at gconf-client.c line 631
  • #24 e_account_list_construct
    at e-account-list.c line 253
  • #25 e_account_list_new
    at e-account-list.c line 238
  • #26 e_cal_backend_user_declined
    at e-cal-backend-util.c line 163
  • #27 process_object
    at e-cal-backend-caldav.c line 4008
  • #28 do_receive_objects
    at e-cal-backend-caldav.c line 4140
  • #29 caldav_receive_objects
    at e-cal-backend-caldav.c line 4239
  • #30 cal_backend_receive_objects
    at e-cal-backend-sync.c line 797
  • #31 operation_thread
    at e-data-cal.c line 226
  • #32 g_thread_pool_thread_proxy
    at gthreadpool.c line 319
  • #33 g_thread_create_proxy
    at gthread.c line 1962
  • #34 start_thread
    at pthread_create.c line 309
  • #35 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 115

Comment 7 Matthew Barnes 2012-10-08 14:35:20 UTC
We've completely ditched GConf as of version 3.6, and with it dbus-glib.

We're now using the more thread-safe GDBus APIs in GLib, so I'm closing this as OBSOLETE.