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 590707 - Initialize DBus threading on start
Initialize DBus threading on start
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Calendar
2.28.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
evolution[dbus-hybrid] evolution[google]
Depends on:
Blocks:
 
 
Reported: 2009-08-04 08:06 UTC by Akhil Laddha
Modified: 2013-09-13 01:04 UTC
See Also:
GNOME target: ---
GNOME version: 2.25/2.26


Attachments
proposed eds patch (378 bytes, patch)
2009-08-28 15:06 UTC, Milan Crha
none Details | Review
proposed evo patch (573 bytes, patch)
2009-09-02 17:13 UTC, Milan Crha
committed Details | Review

Description Akhil Laddha 2009-08-04 08:06:26 UTC
Evolution 2.27.5 

It crashes every time.

** ERROR **: Out of memory
aborting...

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb2ccab90 (LWP 25686)]
0xffffe430 in __kernel_vsyscall ()
(gdb) t a a bt

Thread 1 (Thread 0xb5ffe760 (LWP 25445))

  • #0 __kernel_vsyscall
  • #1 writev
    from /lib/libc.so.6
  • #2 ??
    from /lib/libdbus-1.so.3
  • #3 ??
    from /lib/libdbus-1.so.3
  • #4 ??
    from /lib/libdbus-1.so.3
  • #5 ??
    from /lib/libdbus-1.so.3
  • #6 ??
    from /lib/libdbus-1.so.3
  • #7 ??
    from /lib/libdbus-1.so.3
  • #8 ??
    from /lib/libdbus-1.so.3
  • #9 ??
    from /lib/libdbus-1.so.3
  • #10 dbus_connection_send_with_reply
    from /lib/libdbus-1.so.3
  • #11 dbus_g_proxy_begin_call_internal
    from /usr/lib/libdbus-glib-1.so.2
  • #12 dbus_g_proxy_begin_call
    from /usr/lib/libdbus-glib-1.so.2
  • #13 org_gnome_evolution_dataserver_addressbook_Book_open_async
    at e-data-book-bindings.h line 59
  • #14 e_book_async_open
    at e-book.c line 1585
  • #15 e_load_book_source
    at e-book-auth-util.c line 298
  • #16 source_changed
    at e-name-selector-dialog.c line 732
  • #17 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #18 IA__g_closure_invoke
    at gclosure.c line 767
  • #19 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #20 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #21 IA__g_signal_emit
    at gsignal.c line 3034
  • #22 gtk_combo_box_set_active_internal
    at gtkcombobox.c line 4931
  • #23 IA__gtk_combo_box_set_active_iter
    at gtkcombobox.c line 4985
  • #24 e_source_combo_box_set_active_uid
    at e-source-combo-box.c line 545
  • #25 e_name_selector_dialog_init
    at e-name-selector-dialog.c line 241
  • #26 IA__g_type_create_instance
    at gtype.c line 1674
  • #27 g_object_constructor
    at gobject.c line 1338
  • #28 IA__g_object_newv
    at gobject.c line 1215
  • #29 IA__g_object_new_valist
    at gobject.c line 1278
  • #30 IA__g_object_new
    at gobject.c line 1060
  • #31 e_name_selector_dialog_new
    at e-name-selector-dialog.c line 343
  • #32 e_name_selector_peek_dialog
    at e-name-selector.c line 286
  • #33 e_meeting_list_view_init
    at e-meeting-list-view.c line 150
  • #34 IA__g_type_create_instance
    at gtype.c line 1674
  • #35 g_object_constructor
    at gobject.c line 1338
  • #36 IA__g_object_newv
    at gobject.c line 1215
  • #37 IA__g_object_new_valist
  • #38 IA__g_object_new
    at gobject.c line 1060
  • #39 e_meeting_list_view_new
    at e-meeting-list-view.c line 696
  • #40 get_widgets
    at event-page.c line 2249
  • #41 event_page_construct
    at event-page.c line 3099
  • #42 event_page_new
    at event-page.c line 3157
  • #43 event_editor_constructor
    at event-editor.c line 298
  • #44 IA__g_object_newv
    at gobject.c line 1215
  • #45 IA__g_object_new_valist
    at gobject.c line 1319
  • #46 IA__g_object_new
    at gobject.c line 1060
  • #47 event_editor_new
    at event-editor.c line 670
  • #48 e_calendar_view_open_event_with_flags
    at e-calendar-view.c line 2108
  • #49 e_calendar_view_new_appointment_for
    at e-calendar-view.c line 2008
  • #50 e_calendar_view_new_appointment_full
    at e-calendar-view.c line 2079
  • #51 e_calendar_view_new_appointment
    at e-calendar-view.c line 2087
  • #52 on_new_appointment
    at e-calendar-view.c line 1247
  • #53 ep_activate
    at e-popup.c line 293
  • #54 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #55 IA__g_closure_invoke
    at gclosure.c line 767
  • #56 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #57 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #58 IA__g_signal_emit
    at gsignal.c line 3034
  • #59 IA__gtk_widget_activate
    at gtkwidget.c line 4792
  • #60 IA__gtk_menu_shell_activate_item
    at gtkmenushell.c line 1139
  • #61 gtk_menu_shell_button_release
    at gtkmenushell.c line 678
  • #62 gtk_menu_button_release
    at gtkmenu.c line 2950
  • #63 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #64 g_type_class_meta_marshal
    at gclosure.c line 878
  • #65 IA__g_closure_invoke
    at gclosure.c line 767
  • #66 signal_emit_unlocked_R
    at gsignal.c line 3282
  • #67 IA__g_signal_emit_valist
    at gsignal.c line 2987
  • #68 IA__g_signal_emit
    at gsignal.c line 3034
  • #69 gtk_widget_event_internal
    at gtkwidget.c line 4761
  • #70 IA__gtk_propagate_event
    at gtkmain.c line 2396
  • #71 IA__gtk_main_do_event
    at gtkmain.c line 1601
  • #72 gdk_event_dispatch
    at gdkevents-x11.c line 2365
  • #73 IA__g_main_context_dispatch
    at gmain.c line 1814
  • #74 g_main_context_iterate
    at gmain.c line 2448
  • #75 IA__g_main_loop_run
    at gmain.c line 2656
  • #76 bonobo_main
    at bonobo-main.c line 311
  • #77 main
    at main.c line 732
  • #0 __kernel_vsyscall
  • #1 raise
    from /lib/libc.so.6
  • #2 abort
    from /lib/libc.so.6
  • #3 IA__g_logv
    at gmessages.c line 497
  • #4 IA__g_log
    at gmessages.c line 517
  • #5 dbus_g_proxy_begin_call_internal
    from /usr/lib/libdbus-glib-1.so.2
  • #6 dbus_g_proxy_begin_call
    from /usr/lib/libdbus-glib-1.so.2
  • #7 org_gnome_evolution_dataserver_addressbook_Book_open_async
    at e-data-book-bindings.h line 59
  • #8 e_book_async_open
    at e-book.c line 1585
  • #9 e_load_book_source
    at e-book-auth-util.c line 298
  • #10 load_books_thread
    at e-name-selector.c line 107
  • #11 g_thread_create_proxy
    at gthread.c line 635
  • #12 start_thread
    from /lib/libpthread.so.0
  • #13 clone
    from /lib/libc.so.6
(gdb)
Comment 1 Akhil Laddha 2009-08-04 08:08:03 UTC
It's with dbus-hybrid branch. 
Comment 2 Akhil Laddha 2009-08-04 08:09:22 UTC
I guess e-address-factory also crashed at the same time. 

(process:26602): libebookbackend-WARNING **: libdb error: Database handles open during environment close

(process:26602): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `EBookBackend'

(process:26602): libedata-book-CRITICAL **: e_book_backend_remove_client: assertion `E_IS_BOOK_BACKEND (backend)' failed

e_book_backend_groupwise_dispose...

Program received signal SIGSEGV, Segmentation fault.
0xb7fad31d in __memp_fsync_eds (dbmfp=0x8070638) at ../mp/mp_sync.c:103
103		dbenv = dbmp->dbenv;
(gdb) t a a bt

Thread 1 (Thread 0xb7148730 (LWP 26602))

  • #0 __memp_fsync_eds
    at ../mp/mp_sync.c line 103
  • #1 __db_sync_eds
    at ../db/db_am.c line 832
  • #2 __db_refresh_eds
    at ../db/db.c line 736
  • #3 __db_close_i_eds
    at ../db/db.c line 653
  • #4 __db_close_eds
    at ../db/db.c line 621
  • #5 e_book_backend_groupwise_dispose
    at e-book-backend-groupwise.c line 3805
  • #6 IA__g_object_unref
    at gobject.c line 2393
  • #7 e_data_book_dispose
    at e-data-book.c line 197
  • #8 IA__g_object_unref
    at gobject.c line 2393
  • #9 IA__g_list_foreach
    at glist.c line 789
  • #10 name_owner_changed
    at e-data-book-factory.c line 346
  • #11 _dbus_g_marshal_VOID__STRING_STRING_STRING
    from /usr/lib/libdbus-glib-1.so.2
  • #12 marshal_dbus_message_to_g_marshaller
    from /usr/lib/libdbus-glib-1.so.2
  • #13 IA__g_closure_invoke
    at gclosure.c line 767
  • #14 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #15 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #16 IA__g_signal_emit
    at gsignal.c line 3034
  • #17 dbus_g_proxy_manager_filter
    from /usr/lib/libdbus-glib-1.so.2
  • #18 dbus_connection_dispatch
    from /lib/libdbus-1.so.3
  • #19 message_queue_dispatch
    from /usr/lib/libdbus-glib-1.so.2
  • #20 IA__g_main_context_dispatch
    at gmain.c line 1814
  • #21 g_main_context_iterate
    at gmain.c line 2448
  • #22 IA__g_main_loop_run
    at gmain.c line 2656
  • #23 main
    at e-data-book-factory.c line 410
  • #0 __memp_fsync_eds
    at ../mp/mp_sync.c line 103
  • #1 __db_sync_eds
    at ../db/db_am.c line 832
  • #2 __db_refresh_eds
    at ../db/db.c line 736
  • #3 __db_close_i_eds
    at ../db/db.c line 653
  • #4 __db_close_eds
    at ../db/db.c line 621
  • #5 e_book_backend_groupwise_dispose
    at e-book-backend-groupwise.c line 3805
  • #6 IA__g_object_unref
    at gobject.c line 2393
  • #7 e_data_book_dispose
    at e-data-book.c line 197
  • #8 IA__g_object_unref
    at gobject.c line 2393
  • #9 IA__g_list_foreach
    at glist.c line 789
  • #10 name_owner_changed
    at e-data-book-factory.c line 346
  • #11 _dbus_g_marshal_VOID__STRING_STRING_STRING
    from /usr/lib/libdbus-glib-1.so.2
  • #12 marshal_dbus_message_to_g_marshaller
    from /usr/lib/libdbus-glib-1.so.2
  • #13 IA__g_closure_invoke
    at gclosure.c line 767
  • #14 signal_emit_unlocked_R
    at gsignal.c line 3244
  • #15 IA__g_signal_emit_valist
    at gsignal.c line 2977
  • #16 IA__g_signal_emit
    at gsignal.c line 3034
  • #17 dbus_g_proxy_manager_filter
    from /usr/lib/libdbus-glib-1.so.2
  • #18 dbus_connection_dispatch
    from /lib/libdbus-1.so.3
  • #19 message_queue_dispatch
    from /usr/lib/libdbus-glib-1.so.2
  • #20 IA__g_main_context_dispatch
    at gmain.c line 1814
  • #21 g_main_context_iterate
    at gmain.c line 2448
  • #22 IA__g_main_loop_run
    at gmain.c line 2656
  • #23 main
    at e-data-book-factory.c line 410
	request_name_ret = 1
	offline_listener = (OfflineListener *) 0x8054500
(gdb) 
Comment 3 Akhil Laddha 2009-08-04 08:15:25 UTC
Evolution seems to crash with same traces when i try to open a birthday calendar entry. 
Comment 4 Milan Crha 2009-08-28 15:06:12 UTC
Created attachment 141935 [details] [review]
proposed eds patch

for evolution-data-server;

This seems to do the trick for me. I got very similar crash as in the initial back trace when running evolution for the first time, like:
a) evolution --force-shutdown
b) one console: run eds
c) other console: run evo

when doing the c) the eds crashed. Visible when running online in calendar, with Birthdays & Anniversaries calendar enabled. Other eds instance had been started after the previous crash. I tried the very similar steps ten times in a row and no crash so far with the patch. With respect of group wise, no idea here, please try.

I guess when also calendar will use dbus the function will be covered in some utility function, which will ensure only once the init will be called in the given address space. But let's see.
Comment 5 Milan Crha 2009-08-28 15:07:20 UTC
Unfortunately crashing evolution I didn't see at all.
Comment 6 Milan Crha 2009-08-28 15:13:16 UTC
I can create appointments/meetings on google regardless the patch applied or not. :(
Comment 7 Milan Crha 2009-08-31 17:52:34 UTC
Ross, can you confirm the patch in comment #4, please?
Comment 8 Milan Crha 2009-09-02 17:13:23 UTC
Created attachment 142336 [details] [review]
proposed evo patch

for evolution;

as spoken with robster, doing it on evo side, not in eds. I had a little hard time to test this patch, whether it really works. I'll try on the other machine some time soon and report back.
Comment 9 Chenthill P 2009-09-09 11:46:43 UTC
Comment on attachment 142336 [details] [review]
proposed evo patch

Please commit the patch and close the bug if u find that the crash is fixed after testing.
Comment 10 Ross Burton 2009-09-09 12:23:28 UTC
There was a good reason to not do that in libebook/libecal, but I can't recall what it was...  Yes, the patch in #8 should be committed.
Comment 11 Milan Crha 2009-09-09 21:02:41 UTC
Err, I cannot reproduce a crash mentioned in comment #4, no idea why, but I cannot. I'll commit the patch from comment #8 tomorrow. Thanks Ross and Robster.
Comment 12 Milan Crha 2009-09-10 10:13:23 UTC
Created commit 3f00bdb in evo master (2.29.1+)

Closing this, as neiother I not Akhil can reproduce the bug. Feel free to reopen or something when you'll find how to reproduce it. Thanks.