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 378759 - crash in Evolution: I was sending email sign...
crash in Evolution: I was sending email sign...
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: general
2.8.x (obsolete)
Other All
: High critical
: ---
Assigned To: Milan Crha
Evolution QA team
: 412027 428687 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-11-24 08:23 UTC by pferschmann
Modified: 2007-09-24 13:49 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
proposed eds patch (1.08 KB, patch)
2007-08-30 16:07 UTC, Milan Crha
committed Details | Review
proposed evo patch (1.83 KB, patch)
2007-08-30 16:20 UTC, Milan Crha
committed Details | Review

Description pferschmann 2006-11-24 08:23:54 UTC
What were you doing when the application crashed?
I was sending email signed by S/MIME and I was asked for password. After filling the password the application crashed.


Distribution: Ubuntu 6.10 (edgy)
Gnome Release: 2.16.1 2006-10-02 (Ubuntu)
BugBuddy Version: 2.16.0

Memory status: size: 301793280 vsize: 0 resident: 301793280 share: 0 rss: 59498496 rss_rlim: 0
CPU usage: start_time: 1164355857 rtime: 0 utime: 2265 stime: 0 cutime:1948 cstime: 0 timeout: 317 it_real_value: 0 frequency: 16583

Backtrace was generated from '/usr/bin/evolution-2.8'

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1232804176 (LWP 22617)]
[New Thread -1409324128 (LWP 23407)]
[New Thread -1390335072 (LWP 22673)]
[New Thread -1363870816 (LWP 22670)]
[New Thread -1390068832 (LWP 22668)]
[New Thread -1381651552 (LWP 22664)]
[New Thread -1355256928 (LWP 22634)]
[New Thread -1346663520 (LWP 22633)]
[New Thread -1292964960 (LWP 22625)]
[New Thread -1284572256 (LWP 22624)]
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1232804176 (LWP 22617))

  • #0 __kernel_vsyscall
  • #1 waitpid
    from /lib/tls/i686/cmov/libc.so.6
  • #2 gnome_gtk_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 segv_redirect
    at main.c line 426
  • #4 <signal handler called>
  • #5 strcmp
    from /lib/tls/i686/cmov/libc.so.6
  • #6 pass_response
    at e-passwords.c line 782
  • #7 IA__g_cclosure_marshal_VOID__INT
    at gmarshal.c line 216
  • #8 IA__g_closure_invoke
    at gclosure.c line 490
  • #9 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #10 IA__g_signal_emit_valist
  • #11 IA__g_signal_emit
    at gsignal.c line 2243
  • #12 gtk_dialog_response
    from /usr/lib/libgtk-x11-2.0.so.0
  • #13 gtk_dialog_response
    from /usr/lib/libgtk-x11-2.0.so.0
  • #14 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #15 IA__g_closure_invoke
    at gclosure.c line 490
  • #16 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #17 IA__g_signal_emit_valist
    at gsignal.c line 2199
  • #18 IA__g_signal_emit
    at gsignal.c line 2243
  • #19 gtk_button_clicked
    from /usr/lib/libgtk-x11-2.0.so.0
  • #20 gtk_button_set_alignment
    from /usr/lib/libgtk-x11-2.0.so.0
  • #21 gtk_button_set_alignment
    from /usr/lib/libgtk-x11-2.0.so.0
  • #22 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #23 g_type_class_meta_marshal
    at gclosure.c line 567
  • #24 IA__g_closure_invoke
    at gclosure.c line 490
  • #25 signal_emit_unlocked_R
    at gsignal.c line 2478
  • #26 IA__g_signal_emit_valist
    at gsignal.c line 2209
  • #27 IA__g_signal_emit
    at gsignal.c line 2243
  • #28 gtk_widget_get_default_style
    from /usr/lib/libgtk-x11-2.0.so.0
  • #29 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #30 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #31 _gdk_events_init
    from /usr/lib/libgdk-x11-2.0.so.0
  • #32 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #33 g_main_context_iterate
    at gmain.c line 2677
  • #34 IA__g_main_context_iteration
    at gmain.c line 2736
  • #35 ep_msg_send
    at e-passwords.c line 186
  • #36 e_passwords_ask_password
    at e-passwords.c line 1129
  • #37 smime_pk11_passwd
    at component.c line 50
  • #38 smime_marshal_BOOLEAN__POINTER_BOOLEAN_POINTER
    at smime-marshal.c line 85
  • #39 IA__g_closure_invoke
    at gclosure.c line 490
  • #40 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #41 IA__g_signal_emit_valist
    at gsignal.c line 2209
  • #42 IA__g_signal_emit
    at gsignal.c line 2243
  • #43 pk11_password
    at e-cert-db.c line 158
  • #44 PK11_CheckUserPassword
    from /usr/lib/libnss3.so
  • #45 PK11_Authenticate
    from /usr/lib/libnss3.so
  • #46 PK11_FindKeyByAnyCert
    from /usr/lib/libnss3.so
  • #47 NSS_CMSSignerInfo_GetVersion
    from /usr/lib/libsmime3.so
  • #48 NSS_CMSSignedData_ImportCerts
    from /usr/lib/libsmime3.so
  • #49 NSS_CMSEncoder_Start
    from /usr/lib/libsmime3.so
  • #50 SEC_ASN1EncoderUpdate
    from /usr/lib/libnss3.so
  • #51 NSS_CMSEncoder_Finish
    from /usr/lib/libsmime3.so
  • #52 sm_sign
    at camel-smime-context.c line 408
  • #53 camel_cipher_sign
    at camel-cipher-context.c line 132
  • #54 build_message
    at e-msg-composer.c line 852
  • #55 em_utils_composer_send_cb
    at em-composer-utils.c line 359
  • #56 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #57 IA__g_closure_invoke
    at gclosure.c line 490
  • #58 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #59 IA__g_signal_emit_valist
    at gsignal.c line 2199
  • #60 IA__g_signal_emit
    at gsignal.c line 2243
  • #61 menu_file_send_cb
    at e-msg-composer.c line 1765
  • #62 bonobo_ui_component_add_verb_list
    from /usr/lib/libbonoboui-2.so.0
  • #63 IA__g_closure_invoke
    at gclosure.c line 490
  • #64 bonobo_closure_invoke_va_list
    from /usr/lib/libbonobo-2.so.0
  • #65 bonobo_closure_invoke
    from /usr/lib/libbonobo-2.so.0
  • #66 bonobo_ui_component_add_verb_list
    from /usr/lib/libbonoboui-2.so.0
  • #67 _ORBIT_skel_small_Bonobo_UIComponent_execVerb
    from /usr/lib/libbonobo-2.so.0
  • #68 ORBit_c_stub_invoke
    from /usr/lib/libORBit-2.so.0
  • #69 Bonobo_UIComponent_execVerb
    from /usr/lib/libbonobo-2.so.0
  • #70 bonobo_ui_engine_add_sync
    from /usr/lib/libbonoboui-2.so.0
  • #71 IA__g_cclosure_marshal_VOID__POINTER
    at gmarshal.c line 601
  • #72 g_type_class_meta_marshal
    at gclosure.c line 567
  • #73 IA__g_closure_invoke
    at gclosure.c line 490
  • #74 signal_emit_unlocked_R
    at gsignal.c line 2478
  • #75 IA__g_signal_emit_valist
  • #76 IA__g_signal_emit
    at gsignal.c line 2243
  • #77 bonobo_ui_engine_emit_verb_on_w
    from /usr/lib/libbonoboui-2.so.0
  • #78 bonobo_ui_sync_toolbar_new
    from /usr/lib/libbonoboui-2.so.0
  • #79 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #80 IA__g_closure_invoke
    at gclosure.c line 490
  • #81 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #82 IA__g_signal_emit_valist
  • #83 IA__g_signal_emit_by_name
    at gsignal.c line 2267
  • #84 gtk_tool_button_new_from_stock
    from /usr/lib/libgtk-x11-2.0.so.0
  • #85 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #86 IA__g_closure_invoke
    at gclosure.c line 490
  • #87 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #88 IA__g_signal_emit_valist
  • #89 IA__g_signal_emit
    at gsignal.c line 2243
  • #90 gtk_button_clicked
    from /usr/lib/libgtk-x11-2.0.so.0
  • #91 gtk_button_set_alignment
    from /usr/lib/libgtk-x11-2.0.so.0
  • #92 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #93 g_type_class_meta_marshal
    at gclosure.c line 567
  • #94 IA__g_closure_invoke
    at gclosure.c line 490
  • #95 signal_emit_unlocked_R
    at gsignal.c line 2370
  • #96 IA__g_signal_emit_valist
    at gsignal.c line 2199
  • #97 IA__g_signal_emit
    at gsignal.c line 2243
  • #98 gtk_button_released
    from /usr/lib/libgtk-x11-2.0.so.0
  • #99 gtk_button_released
    from /usr/lib/libgtk-x11-2.0.so.0
  • #100 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #101 g_type_class_meta_marshal
    at gclosure.c line 567
  • #102 IA__g_closure_invoke
    at gclosure.c line 490
  • #103 signal_emit_unlocked_R
    at gsignal.c line 2478
  • #104 IA__g_signal_emit_valist
    at gsignal.c line 2209
  • #105 IA__g_signal_emit
    at gsignal.c line 2243
  • #106 gtk_widget_get_default_style
    from /usr/lib/libgtk-x11-2.0.so.0
  • #107 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #108 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #109 _gdk_events_init
    from /usr/lib/libgdk-x11-2.0.so.0
  • #110 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #111 g_main_context_iterate
    at gmain.c line 2677
  • #112 IA__g_main_context_iteration
    at gmain.c line 2736
  • #113 ep_msg_send
    at e-passwords.c line 186
  • #114 e_passwords_ask_password
    at e-passwords.c line 1129
  • #115 smime_pk11_passwd
    at component.c line 50
  • #116 smime_marshal_BOOLEAN__POINTER_BOOLEAN_POINTER
    at smime-marshal.c line 85
  • #117 IA__g_closure_invoke
    at gclosure.c line 490
  • #118 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #119 IA__g_signal_emit_valist
    at gsignal.c line 2209
  • #120 IA__g_signal_emit
    at gsignal.c line 2243
  • #121 pk11_password
    at e-cert-db.c line 158
  • #122 PK11_CheckUserPassword
    from /usr/lib/libnss3.so
  • #123 PK11_Authenticate
    from /usr/lib/libnss3.so
  • #124 PK11_FindKeyByAnyCert
    from /usr/lib/libnss3.so
  • #125 NSS_CMSSignerInfo_GetVersion
    from /usr/lib/libsmime3.so
  • #126 NSS_CMSSignedData_ImportCerts
    from /usr/lib/libsmime3.so
  • #127 NSS_CMSEncoder_Start
    from /usr/lib/libsmime3.so
  • #128 SEC_ASN1EncoderUpdate
    from /usr/lib/libnss3.so
  • #129 NSS_CMSEncoder_Finish
    from /usr/lib/libsmime3.so
  • #130 sm_sign
    at camel-smime-context.c line 408
  • #131 camel_cipher_sign
    at camel-cipher-context.c line 132
  • #132 build_message
    at e-msg-composer.c line 852
  • #133 em_utils_composer_send_cb
    at em-composer-utils.c line 359
  • #134 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #135 IA__g_closure_invoke
    at gclosure.c line 490
  • #136 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #137 IA__g_signal_emit_valist
    at gsignal.c line 2199
  • #138 IA__g_signal_emit
    at gsignal.c line 2243
  • #139 menu_file_send_cb
    at e-msg-composer.c line 1765
  • #140 bonobo_ui_component_add_verb_list
    from /usr/lib/libbonoboui-2.so.0
  • #141 IA__g_closure_invoke
    at gclosure.c line 490
  • #142 bonobo_closure_invoke_va_list
    from /usr/lib/libbonobo-2.so.0
  • #143 bonobo_closure_invoke
    from /usr/lib/libbonobo-2.so.0
  • #144 bonobo_ui_component_add_verb_list
    from /usr/lib/libbonoboui-2.so.0
  • #145 _ORBIT_skel_small_Bonobo_UIComponent_execVerb
    from /usr/lib/libbonobo-2.so.0
  • #146 ORBit_c_stub_invoke
    from /usr/lib/libORBit-2.so.0
  • #147 Bonobo_UIComponent_execVerb
    from /usr/lib/libbonobo-2.so.0
  • #148 bonobo_ui_engine_add_sync
    from /usr/lib/libbonoboui-2.so.0
  • #149 IA__g_cclosure_marshal_VOID__POINTER
    at gmarshal.c line 601
  • #150 g_type_class_meta_marshal
    at gclosure.c line 567
  • #151 IA__g_closure_invoke
    at gclosure.c line 490
  • #152 signal_emit_unlocked_R
    at gsignal.c line 2478
  • #153 IA__g_signal_emit_valist
  • #154 IA__g_signal_emit
    at gsignal.c line 2243
  • #155 bonobo_ui_engine_emit_verb_on_w
    from /usr/lib/libbonoboui-2.so.0
  • #156 bonobo_ui_sync_toolbar_new
    from /usr/lib/libbonoboui-2.so.0
  • #157 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #158 IA__g_closure_invoke
    at gclosure.c line 490
  • #159 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #160 IA__g_signal_emit_valist
  • #161 IA__g_signal_emit_by_name
    at gsignal.c line 2267
  • #162 gtk_tool_button_new_from_stock
    from /usr/lib/libgtk-x11-2.0.so.0
  • #163 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #164 IA__g_closure_invoke
    at gclosure.c line 490
  • #165 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #166 IA__g_signal_emit_valist
  • #167 IA__g_signal_emit
    at gsignal.c line 2243
  • #168 gtk_button_clicked
    from /usr/lib/libgtk-x11-2.0.so.0
  • #169 gtk_button_set_alignment
    from /usr/lib/libgtk-x11-2.0.so.0
  • #170 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #171 g_type_class_meta_marshal
    at gclosure.c line 567
  • #172 IA__g_closure_invoke
    at gclosure.c line 490
  • #173 signal_emit_unlocked_R
    at gsignal.c line 2370
  • #174 IA__g_signal_emit_valist
    at gsignal.c line 2199
  • #175 IA__g_signal_emit
    at gsignal.c line 2243
  • #176 gtk_button_released
    from /usr/lib/libgtk-x11-2.0.so.0
  • #177 gtk_button_released
    from /usr/lib/libgtk-x11-2.0.so.0
  • #178 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #179 g_type_class_meta_marshal
    at gclosure.c line 567
  • #180 IA__g_closure_invoke
    at gclosure.c line 490
  • #181 signal_emit_unlocked_R
    at gsignal.c line 2478
  • #182 IA__g_signal_emit_valist
    at gsignal.c line 2209
  • #183 IA__g_signal_emit
    at gsignal.c line 2243
  • #184 gtk_widget_get_default_style
    from /usr/lib/libgtk-x11-2.0.so.0
  • #185 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #186 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #187 _gdk_events_init
    from /usr/lib/libgdk-x11-2.0.so.0
  • #188 IA__g_main_context_dispatch
    at gmain.c line 2045
  • #189 g_main_context_iterate
    at gmain.c line 2677
  • #190 IA__g_main_loop_run
    at gmain.c line 2881
  • #191 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #192 main
    at main.c line 615
  • #0 __kernel_vsyscall

Comment 1 Kjartan Maraas 2007-01-16 09:00:39 UTC
Seems like pass_response is calling strcmp() on a null msg->key in there. Not sure why it is NULL though. Needs someone who knows the code to look at it.
Comment 2 Milan Crha 2007-08-30 16:04:32 UTC
Our "bad boy" here is support for pkcs11 and pkcs12 (in this case smime_pk11_passwd called e_passwords_ask_password with key=NULL).
Comment 3 Milan Crha 2007-08-30 16:07:56 UTC
Created attachment 94653 [details] [review]
proposed eds patch

for evolution-data-server;

This is only a part of fix for this bug. I added check to e_passwords_ask_password on non-NULL component_name and key parameters, if someone pass either of those parameters as NULL, then for no password will be asked. This check has been done in all public functions, except this one. All other functions expects these values non-NULL.
Comment 4 Milan Crha 2007-08-30 16:20:26 UTC
Created attachment 94655 [details] [review]
proposed evo patch

for evolution;

Fix in smime subdirectory. All other calls to e_passwords_* in evolution and evolution-data-server directories seem fine to me.
Comment 5 Srinivasa Ragavan 2007-08-31 04:50:15 UTC
Commit to head.
Comment 6 Milan Crha 2007-08-31 06:14:39 UTC
eds part committed to trunk. Committed revision 8020.
evo part committed to trunk. Committed revision 34144.
Comment 7 Milan Crha 2007-09-07 14:23:20 UTC
*** Bug 412027 has been marked as a duplicate of this bug. ***
Comment 8 Milan Crha 2007-09-24 13:49:54 UTC
*** Bug 428687 has been marked as a duplicate of this bug. ***