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 453109 - Evolution crashed as soon as i entered password and clicked ok
Evolution crashed as soon as i entered password and clicked ok
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Contacts
2.22.x (obsolete)
Other Linux
: High critical
: ---
Assigned To: evolution-addressbook-maintainers
Evolution QA team
: 526134 527276 565654 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-07-02 13:50 UTC by Akhil Laddha
Modified: 2008-12-29 19:49 UTC
See Also:
GNOME target: ---
GNOME version: 2.19/2.20


Attachments
My mistake (594 bytes, patch)
2008-04-14 14:36 UTC, Matthew Barnes
committed Details | Review

Description Akhil Laddha 2007-07-02 13:50:20 UTC
I clicked on folder and it popped window to enter password.I entered password and as soon as i clicked on 'Ok' , it crashed.

Thread 1 (Thread -1235867440 (LWP 32566))

  • #0 __pthread_mutex_unlock_usercnt
    from /lib/libpthread.so.0
  • #1 pthread_mutex_unlock
    from /lib/libpthread.so.0
  • #2 e_book_clear_op
    at e-book.c line 228
  • #3 emit_async_generic_response
    at e-book.c line 2519
  • #4 g_idle_dispatch
    at gmain.c line 3928
  • #5 g_main_context_dispatch
    at gmain.c line 2045
  • #6 g_main_context_iterate
    at gmain.c line 2677
  • #7 g_main_context_iteration
    at gmain.c line 2736
  • #8 ep_msg_send
    at e-passwords.c line 186
  • #9 e_passwords_forget_password
    at e-passwords.c line 1066
  • #10 load_source_auth_cb
    at e-book-auth-util.c line 114
  • #11 emit_async_generic_response
    at e-book.c line 2512
  • #12 g_idle_dispatch
    at gmain.c line 3928
  • #13 g_main_context_dispatch
    at gmain.c line 2045
  • #14 g_main_context_iterate
    at gmain.c line 2677
  • #15 g_main_context_iteration
    at gmain.c line 2736
  • #16 ep_msg_send
    at e-passwords.c line 186
  • #17 e_passwords_forget_password
    at e-passwords.c line 1066
  • #18 load_source_auth_cb
    at e-book-auth-util.c line 114
  • #19 emit_async_generic_response
    at e-book.c line 2512
  • #20 g_idle_dispatch
    at gmain.c line 3928
  • #21 g_main_context_dispatch
    at gmain.c line 2045
  • #22 g_main_context_iterate
    at gmain.c line 2677
  • #23 g_main_context_iteration
    at gmain.c line 2736
  • #24 ep_msg_send
    at e-passwords.c line 186
  • #25 e_passwords_forget_password
    at e-passwords.c line 1066
  • #26 load_source_auth_cb
    at e-book-auth-util.c line 114
  • #27 emit_async_generic_response
    at e-book.c line 2512
  • #28 g_idle_dispatch
    at gmain.c line 3928
  • #29 g_main_context_dispatch
    at gmain.c line 2045
  • #30 g_main_context_iterate
    at gmain.c line 2677
  • #31 g_main_context_iteration
    at gmain.c line 2736
  • #32 ep_msg_send
    at e-passwords.c line 186
  • #33 e_passwords_forget_password
    at e-passwords.c line 1066
  • #34 load_source_auth_cb
    at e-book-auth-util.c line 114
  • #35 emit_async_generic_response
    at e-book.c line 2512
  • #36 g_idle_dispatch
    at gmain.c line 3928
  • #37 g_main_context_dispatch
    at gmain.c line 2045
  • #38 g_main_context_iterate
    at gmain.c line 2677
  • #39 g_main_context_iteration
    at gmain.c line 2736
  • #40 ep_msg_send
    at e-passwords.c line 186
  • #41 e_passwords_forget_password
    at e-passwords.c line 1066
  • #42 load_source_auth_cb
    at e-book-auth-util.c line 114
  • #43 emit_async_generic_response
    at e-book.c line 2512
  • #44 g_idle_dispatch
    at gmain.c line 3928
  • #45 g_main_context_dispatch
    at gmain.c line 2045
  • #46 g_main_context_iterate
    at gmain.c line 2677
  • #47 g_main_context_iteration
    at gmain.c line 2736
  • #48 ep_msg_send
    at e-passwords.c line 186
  • #49 e_passwords_forget_password
    at e-passwords.c line 1066
  • #50 load_source_auth_cb
    at e-book-auth-util.c line 114
  • #51 emit_async_generic_response
    at e-book.c line 2512
  • #52 g_idle_dispatch
    at gmain.c line 3928
  • #53 g_main_context_dispatch
    at gmain.c line 2045
  • #54 g_main_context_iterate
    at gmain.c line 2677
  • #55 g_main_context_iteration
    at gmain.c line 2736
  • #56 ep_msg_send
    at e-passwords.c line 186
  • #57 e_passwords_forget_password
  • #58 load_source_auth_cb
    at e-book-auth-util.c line 114
  • #59 emit_async_generic_response
    at e-book.c line 2512
  • #60 g_idle_dispatch
    at gmain.c line 3928
  • #61 g_main_context_dispatch
    at gmain.c line 2045
  • #62 g_main_context_iterate
    at gmain.c line 2677
  • #63 g_main_context_iteration
    at gmain.c line 2736
  • #64 ep_msg_send
    at e-passwords.c line 186
  • #65 e_passwords_ask_password
  • #66 addressbook_authenticate
    at e-book-auth-util.c line 205
  • #67 load_source_auth_cb
    at e-book-auth-util.c line 115
  • #68 emit_async_generic_response
    at e-book.c line 2512
  • #69 g_idle_dispatch
    at gmain.c line 3928
  • #70 g_main_context_dispatch
    at gmain.c line 2045
  • #71 g_main_context_iterate
    at gmain.c line 2677
  • #72 g_main_loop_run
    at gmain.c line 2881
  • #73 bonobo_main
    at bonobo-main.c line 311
  • #74 main

I was using exchange as back end.
Comment 1 Akhil Laddha 2007-07-02 13:52:12 UTC
My mistake , i was using evolution with group wise.
Sorry for inconvenience.
Comment 2 André Klapper 2007-07-02 22:14:51 UTC
for future reference, crashers are "critical".
Comment 3 Karsten Bräckelmann 2007-07-03 15:50:24 UTC
Also, both e-book.c and e-passwords.c are e-d-s...
Comment 4 Akhil Laddha 2008-04-11 06:30:44 UTC
Evolution 2.23.1
I clicked on 'New' to open a composer window, password window popped up for 'Frequent contact' address book, evolution crashed as soon as i entered password.

Gdb traces of evolution process

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb64a78d0 (LWP 32214)]
pass_response (dialog=0xcfdc8d0, response=-5, data=0xaf438a8) at e-passwords.c:844
844                     if ((pending->dispatch == ep_forget_password
(gdb) thread apply all bt

Thread 1 (Thread 0xb64a78d0 (LWP 32214))

  • #0 pass_response
    at e-passwords.c line 844
  • #1 g_cclosure_marshal_VOID__INT
    at gmarshal.c line 216
  • #2 g_closure_invoke
    at gclosure.c line 490
  • #3 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #4 g_signal_emit_valist
    at gsignal.c line 2199
  • #5 g_signal_emit
    at gsignal.c line 2243
  • #6 gtk_dialog_response
    at gtkdialog.c line 905
  • #7 action_widget_activated
    at gtkdialog.c line 604
  • #8 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #9 g_closure_invoke
    at gclosure.c line 490
  • #10 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #11 g_signal_emit_valist
    at gsignal.c line 2199
  • #12 g_signal_emit
    at gsignal.c line 2243
  • #13 gtk_button_clicked
    at gtkbutton.c line 889
  • #14 gtk_real_button_released
    at gtkbutton.c line 1484
  • #15 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #16 g_type_class_meta_marshal
    at gclosure.c line 567
  • #17 g_closure_invoke
    at gclosure.c line 490
  • #18 signal_emit_unlocked_R
    at gsignal.c line 2370
  • #19 g_signal_emit_valist
  • #20 g_signal_emit
    at gsignal.c line 2243
  • #21 gtk_button_released
    at gtkbutton.c line 881
  • #22 gtk_button_button_release
    at gtkbutton.c line 1377
  • #23 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #24 g_type_class_meta_marshal
    at gclosure.c line 567
  • #25 g_closure_invoke
    at gclosure.c line 490
  • #26 signal_emit_unlocked_R
    at gsignal.c line 2478
  • #27 g_signal_emit_valist
    at gsignal.c line 2209
  • #28 g_signal_emit
    at gsignal.c line 2243
  • #29 gtk_widget_event_internal
    at gtkwidget.c line 4676
  • #30 gtk_propagate_event
    at gtkmain.c line 2336
  • #31 gtk_main_do_event
    at gtkmain.c line 1556
  • #32 gdk_event_dispatch
    at gdkevents-x11.c line 2365
  • #33 g_main_context_dispatch
    at gmain.c line 2009
  • #34 g_main_context_iterate
    at gmain.c line 2642
  • #35 g_main_context_iteration
    at gmain.c line 2705
  • #36 ep_msg_send
    at e-passwords.c line 439
  • #37 e_passwords_get_password
    at e-passwords.c line 1179
  • #38 addressbook_authenticate
    at e-book-auth-util.c line 166
  • #39 emit_async_open_response
    at e-book.c line 2728
  • #40 g_idle_dispatch
    at gmain.c line 4087
  • #41 g_main_context_dispatch
    at gmain.c line 2009
  • #42 g_main_context_iterate
    at gmain.c line 2642
  • #43 g_main_context_iteration
    at gmain.c line 2705
  • #44 ep_msg_send
    at e-passwords.c line 439
  • #45 e_passwords_ask_password
  • #46 addressbook_authenticate
    at e-book-auth-util.c line 207
  • #47 emit_async_open_response
    at e-book.c line 2728
  • #48 g_idle_dispatch
    at gmain.c line 4087
  • #49 g_main_context_dispatch
    at gmain.c line 2009
  • #50 g_main_context_iterate
    at gmain.c line 2642
  • #51 g_main_loop_run
    at gmain.c line 2850
  • #52 bonobo_main
    at bonobo-main.c line 311
  • #53 main
    at main.c line 782

Comment 5 Akhil Laddha 2008-04-11 06:31:12 UTC
(gdb) bt full
  • #0 pass_response
    at e-passwords.c line 844
  • #1 g_cclosure_marshal_VOID__INT
    at gmarshal.c line 216
  • #2 g_closure_invoke
    at gclosure.c line 490
  • #3 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #4 g_signal_emit_valist
    at gsignal.c line 2199
  • #5 g_signal_emit
    at gsignal.c line 2243
  • #6 gtk_dialog_response
    at gtkdialog.c line 905
  • #7 action_widget_activated
    at gtkdialog.c line 604
  • #8 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #9 g_closure_invoke
    at gclosure.c line 490
  • #10 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #11 g_signal_emit_valist
    at gsignal.c line 2199
  • #12 g_signal_emit
    at gsignal.c line 2243
  • #13 gtk_button_clicked
    at gtkbutton.c line 889
  • #14 gtk_real_button_released
    at gtkbutton.c line 1484
  • #15 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #16 g_type_class_meta_marshal
    at gclosure.c line 567
  • #17 g_closure_invoke
    at gclosure.c line 490
  • #18 signal_emit_unlocked_R
    at gsignal.c line 2370
  • #19 g_signal_emit_valist
  • #20 g_signal_emit
    at gsignal.c line 2243
  • #21 gtk_button_released
    at gtkbutton.c line 881
  • #22 gtk_button_button_release
    at gtkbutton.c line 1377
  • #23 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #24 g_type_class_meta_marshal
    at gclosure.c line 567
  • #25 g_closure_invoke
    at gclosure.c line 490
  • #26 signal_emit_unlocked_R
    at gsignal.c line 2478
  • #27 g_signal_emit_valist
    at gsignal.c line 2209
  • #28 g_signal_emit
    at gsignal.c line 2243
  • #29 gtk_widget_event_internal
    at gtkwidget.c line 4676
  • #30 gtk_propagate_event
    at gtkmain.c line 2336
  • #31 gtk_main_do_event
    at gtkmain.c line 1556
  • #32 gdk_event_dispatch
    at gdkevents-x11.c line 2365
  • #33 g_main_context_dispatch
    at gmain.c line 2009
  • #34 g_main_context_iterate
    at gmain.c line 2642
  • #35 g_main_context_iteration
    at gmain.c line 2705
  • #36 ep_msg_send
    at e-passwords.c line 439
  • #37 e_passwords_get_password
    at e-passwords.c line 1179
  • #38 addressbook_authenticate
    at e-book-auth-util.c line 166
  • #39 emit_async_open_response
    at e-book.c line 2728
  • #40 g_idle_dispatch
    at gmain.c line 4087
  • #41 g_main_context_dispatch
    at gmain.c line 2009
  • #42 g_main_context_iterate
    at gmain.c line 2642
  • #43 g_main_context_iteration
    at gmain.c line 2705
  • #44 ep_msg_send
    at e-passwords.c line 439
  • #45 e_passwords_ask_password
  • #46 addressbook_authenticate
    at e-book-auth-util.c line 207
  • #47 emit_async_open_response
    at e-book.c line 2728
  • #48 g_idle_dispatch
    at gmain.c line 4087
  • #49 g_main_context_dispatch
    at gmain.c line 2009
  • #50 g_main_context_iterate
    at gmain.c line 2642
  • #51 g_main_loop_run
    at gmain.c line 2850
  • #52 bonobo_main
    at bonobo-main.c line 311
  • #53 main
    at main.c line 782

Comment 6 Akhil Laddha 2008-04-14 05:35:55 UTC
Some functions' value during crash

(gdb) p message_queue
$26 = {head = 0x8f3a880, tail = 0x8f3a880, length = 1}
(gdb) p iter
$27 = (GList *) 0x8e92880
(gdb) p *iter
$28 = {data = 0x0, next = 0x0, prev = 0x0}
(gdb) p message_queue->head
$29 = (GList *) 0x8f3a880
(gdb) p message_queue->head->data
$30 = (gpointer) 0x8e558c0
(gdb) p *message_queue->head
$31 = {data = 0x8e558c0, next = 0x0, prev = 0x0}
Comment 7 Srinivasa Ragavan 2008-04-14 05:38:48 UTC
I debugged in Akhil's machine. Seems like the iter that comes our of message_queue is corrupted.

Matt any thoughts? 
Comment 8 Matthew Barnes 2008-04-14 14:10:59 UTC
This is a dupe of another bug for which I can't recall the number, because I remember looking into this before.

The problem seems to occur when password prompt requests pile up, such as after forgetting all passwords and restarting Evolution.  Last I looked, I couldn't figure out how a NULL pointer could be getting in the message_queue.  It looks like it uses locks in all the right places, and I couldn't get GDB to catch it inserting a NULL anywhere.

I'll give it another shot, though.  Maybe there's still a race somewhere.
Comment 9 Matthew Barnes 2008-04-14 14:36:58 UTC
Created attachment 109243 [details] [review]
My mistake

Okay, so, I'm an idiot.  I went ahead just committed the fix.
Comment 10 Matthew Barnes 2008-04-14 14:43:00 UTC
Off-Topic:

I notice the crash recovery dialog keeps stepping on the password dialog at startup.  Perhaps we need some sort of centralized queue that serializes all dialogs in Evolution and E-D-S.
Comment 11 Matthew Barnes 2008-04-14 23:58:25 UTC
*** Bug 526134 has been marked as a duplicate of this bug. ***
Comment 12 Srinivasa Ragavan 2008-04-15 09:08:55 UTC
*** Bug 527276 has been marked as a duplicate of this bug. ***
Comment 13 André Klapper 2008-12-29 19:49:12 UTC
*** Bug 565654 has been marked as a duplicate of this bug. ***