Bug 429097 - Evolution hangs when trying to get password from keyring
Summary: Evolution hangs when trying to get password from keyring
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-keyring
Version: rawhide
Hardware: All
OS: Linux
low
high
Target Milestone: ---
Assignee: Alexander Larsson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-01-17 09:48 UTC by Kjartan Maraas
Modified: 2008-01-21 20:06 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-01-21 20:06:26 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
GNOME Bugzilla 502603 0 None None None Never

Description Kjartan Maraas 2008-01-17 09:48:40 UTC
Description of problem:

I often get a hang related to authenticating to a server. This has happened both
with pop3 and imap on different servers and has forced me to turn off automatic
checking for email.

Backtrace of the hang is as follows:

(gdb) bt full
#0  0x00130402 in __kernel_vsyscall ()
No symbol table info available.
#1  0x0041ea6b in read () from /lib/libpthread.so.0
No symbol table info available.
#2  0x0102d020 in read_all (fd=41, buf=0xb2bd6038 "", len=4)
    at /usr/include/bits/unistd.h:45
	bytes = 0
	res = 41
#3  0x0102e3e8 in run_sync_operation (buffer=0xbfbf2884, 
    receive_buffer=0xbfbf2870) at gnome-keyring.c:652
	res = <value optimized out>
	socket = 41
	packet_size = <value optimized out>
	__PRETTY_FUNCTION__ = "run_sync_operation"
#4  0x0102e85e in gnome_keyring_find_items_sync (
    type=GNOME_KEYRING_ITEM_NETWORK_PASSWORD, attributes=0x998d4a8, 
    found=0xbfbf2908) at gnome-keyring.c:2148
	send = {buf = 0x9222390 "", len = 153, allocated_len = 256, 
  failures = 0, allocator = 0x170d9f0 <IA__g_realloc>}
	receive = {buf = 0xb2bd6038 "", len = 4, allocated_len = 128, 
  failures = 0, allocator = 0x1030e50 <gnome_keyring_memory_realloc>}
	res = <value optimized out>
#5  0x00388776 in ep_get_password (msg=0x999b5c8) at e-passwords.c:700
---Type <return> to continue, or q <return> to quit---
	uri = (EUri *) 0x99913f8
#6  0x003882d5 in ep_idle_dispatch (data=0x0) at e-passwords.c:233
No locals.
#7  0x01703ff1 in g_idle_dispatch (source=0x987f778, callback=0x4, 
    user_data=0x0) at gmain.c:4142
No locals.
#8  0x01705bbc in IA__g_main_context_dispatch (context=0x900a500)
    at gmain.c:2064
No locals.
#9  0x01709036 in g_main_context_iterate (context=0x900a500, block=1, 
    dispatch=1, self=0x8fe26c8) at gmain.c:2697
	got_ownership = <value optimized out>
	max_priority = 2147483647
	timeout = 21
	some_ready = 1
	nfds = <value optimized out>
	allocated_nfds = <value optimized out>
	fds = (GPollFD *) 0x915e4a0
	__PRETTY_FUNCTION__ = "g_main_context_iterate"
#10 0x017093e9 in IA__g_main_loop_run (loop=0x905bc00) at gmain.c:2905
	got_ownership = 4298192
	self = (GThread *) 0x8fe26c8
	__PRETTY_FUNCTION__ = "IA__g_main_loop_run"
---Type <return> to continue, or q <return> to quit---
#11 0x008c3923 in bonobo_main () at bonobo-main.c:311
	loop = (GMainLoop *) 0x905bc00
#12 0x0805ef11 in main (argc=2, argv=0xbfbf2cb4) at main.c:719
	fd = <value optimized out>
	client = (GConfClient *) 0x903c788
	skip_warning_dialog = <value optimized out>
	program = (GnomeProgram *) 0x8feb058
	master_client = (GnomeClient *) 0x8fed010
	context = <value optimized out>
#13 0x06fe54a0 in __libc_start_main () from /lib/libc.so.6
No symbol table info available.
#14 0x0804f7b1 in _start ()


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Kjartan Maraas 2008-01-17 11:15:36 UTC
Some more info on my setup:

I have a private pop3 account where I've told evolution to remember the
password. In addition I have an imap account at work where I type in the
password every time I start evolution. When I start evolution without manually
fetching mail I just get the password dialog for the imap server and if I type
in the password it hangs. If I press F9 to fetch my pop mail I get the "unlock
keyring" dialog (two times) and after that entering the password for the imap
server works and I can access it without problems.

This started fairly recently AFAIK, but could be related to me reenabling my
imap account at that point maybe?


Comment 2 Matthew Barnes 2008-01-17 12:54:26 UTC
Looks like it's waiting for a response from the keyring daemon.

I wrote a patch yesterday that improves Evolution's error handling of keyring
operations such that it prints more useful messages to the terminal [1]. 
Perhaps adding the patch to Rawhide would help diagnose this.

Are you by chance running evolution-2.21.5-1.fc9 (with an emphasis on the -1)?

Comment 3 Matthew Barnes 2008-01-17 12:54:50 UTC
[1] http://bugzilla.gnome.org/show_bug.cgi?id=509985

Comment 4 Kjartan Maraas 2008-01-17 14:13:08 UTC
I pulled the last build from koji and will test this now.

Comment 5 Kjartan Maraas 2008-01-20 10:59:57 UTC
Still seeing this. Backtrace from all threads:

(gdb) thread apply all bt full

Thread 3 (Thread 0xb6e21b90 (LWP 7648)):
#0  0x00130402 in __kernel_vsyscall ()
No symbol table info available.
#1  0x035cfdf3 in poll () from /lib/libc.so.6
No symbol table info available.
#2  0x0252c069 in g_main_context_iterate (context=0x87796d0, block=1, 
    dispatch=1, self=0x87745c0) at gmain.c:3006
	got_ownership = <value optimized out>
	max_priority = 2147483647
	timeout = -1
	some_ready = <value optimized out>
	nfds = 2
	allocated_nfds = <value optimized out>
	fds = (GPollFD *) 0x8776c28
	__PRETTY_FUNCTION__ = "g_main_context_iterate"
#3  0x0252c3e9 in IA__g_main_loop_run (loop=0x8773b18) at gmain.c:2905
	got_ownership = 4298192
	self = (GThread *) 0x87745c0
	__PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#4  0x07e36224 in libnm_glib_dbus_worker (user_data=0x877b480)
    at libnm_glib.c:427
	ctx = <value optimized out>
---Type <return> to continue, or q <return> to quit---
	__PRETTY_FUNCTION__ = "libnm_glib_dbus_worker"
#5  0x02550def in g_thread_create_proxy (data=0x87745c0) at gthread.c:635
	__PRETTY_FUNCTION__ = "g_thread_create_proxy"
#6  0x0041753b in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#7  0x035d9efe in clone () from /lib/libc.so.6
No symbol table info available.

Thread 2 (Thread 0xb36ffb90 (LWP 19609)):
#0  0x00130402 in __kernel_vsyscall ()
No symbol table info available.
#1  0x0041bb05 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
No symbol table info available.
#2  0x02503a12 in g_async_queue_pop_intern_unlocked (queue=0xc55a780, 
    try=<value optimized out>, end_time=0x0) at gasyncqueue.c:357
	retval = <value optimized out>
	__PRETTY_FUNCTION__ = "g_async_queue_pop_intern_unlocked"
#3  0x005ed175 in e_msgport_wait (msgport=0xc055da8) at e-msgport.c:684
	msg = <value optimized out>
	__PRETTY_FUNCTION__ = "e_msgport_wait"
#4  0x003883de in ep_msg_send (msg=0xba7bdb0) at e-passwords.c:294
	reply_msg = <value optimized out>
	needidle = 0
---Type <return> to continue, or q <return> to quit---
	__PRETTY_FUNCTION__ = "ep_msg_send"
#5  0x0038a1e5 in e_passwords_get_password (component_name=0x555e68e "Mail", 
    key=0xc55a7a0 "pop://kmaraas.no/") at e-passwords.c:1171
	msg = (EPassMsg *) 0xba7bdb0
	passwd = <value optimized out>
	__PRETTY_FUNCTION__ = "e_passwords_get_password"
#6  0x0552ef5b in get_password (session=0x859d758, service=0x95ad2d8, 
    domain=0x555e68e "Mail", 
    prompt=0xc55a738 "Vennligst oppgi POP-passord for kmaraas på vert
mail.broadpark.no", item=0x2d0754d "password", flags=4, ex=0x95ad29c)
    at mail-session.c:185
	key = 0xc55a7a0 "pop://kmaraas.no/"
	config_service = <value optimized out>
	url = 0x97afd18 "pop://kmaraas.no/"
	ret = <value optimized out>
	account = <value optimized out>
#7  0x00349805 in camel_session_get_password (session=0x859d758, 
    service=0x95ad2d8, domain=0x0, 
    prompt=0xc55a738 "Vennligst oppgi POP-passord for kmaraas på vert
mail.broadpark.no", item=0x2d0754d "password", flags=4, ex=0x95ad29c)
    at camel-session.c:376
	__PRETTY_FUNCTION__ = "camel_session_get_password"
#8  0x02d067a0 in pop3_try_authenticate (service=0x95ad2d8, 
---Type <return> to continue, or q <return> to quit---
    reprompt=<value optimized out>, errmsg=<value optimized out>, ex=0x95ad29c)
    at camel-pop3-store.c:482
	flags = 4
	pcu = <value optimized out>
	pcp = <value optimized out>
	status = <value optimized out>
#9  0x02d06cf9 in pop3_connect (service=0x95ad2d8, ex=0x95ad29c)
    at camel-pop3-store.c:604
	reprompt = 1
	session = <value optimized out>
	errbuf = 0x0
	status = 159967816
#10 0x003485ff in camel_service_connect (service=0x95ad2d8, ex=0x95ad29c)
    at camel-service.c:371
	ret = <value optimized out>
	unreg = 0
	__PRETTY_FUNCTION__ = "camel_service_connect"
#11 0x00349a12 in camel_session_get_service_connected (session=0x859d758, 
    url_string=0x94d91e0 "pop://kmaraas.no/;use_ssl=never", 
    type=CAMEL_PROVIDER_STORE, ex=0x95ad29c) at camel-session.c:271
	svc = (CamelService *) 0xfffffe00
#12 0x05530f62 in mail_tool_get_inbox (
    url=0x94d91e0 "pop://kmaraas.no/;use_ssl=never", 
---Type <return> to continue, or q <return> to quit---
    ex=0x95ad29c) at mail-tools.c:70
	folder = (CamelFolder *) 0x0
#13 0x0552b4a9 in fetch_mail_exec (m=0x95ad288) at mail-ops.c:296
	folder = <value optimized out>
	i = <value optimized out>
#14 0x05526e69 in mail_msg_proxy (msg=0x95ad288) at mail-mt.c:523
No locals.
#15 0x02552978 in g_thread_pool_thread_proxy (data=0x89a7648)
    at gthreadpool.c:265
	task = (gpointer) 0x95ad288
	pool = (GRealThreadPool *) 0x89a7648
#16 0x02550def in g_thread_create_proxy (data=0x98e2e88) at gthread.c:635
	__PRETTY_FUNCTION__ = "g_thread_create_proxy"
#17 0x0041753b in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#18 0x035d9efe in clone () from /lib/libc.so.6
No symbol table info available.

Thread 1 (Thread 0xb7f30920 (LWP 7318)):
#0  0x00130402 in __kernel_vsyscall ()
No symbol table info available.
#1  0x0041ea6b in read () from /lib/libpthread.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#2  0x0108e020 in read_all (fd=45, buf=0xb57b2088 "", len=4)
    at /usr/include/bits/unistd.h:45
	bytes = 0
	res = 45
#3  0x0108f3e8 in run_sync_operation (buffer=0xbf8cfd64, 
    receive_buffer=0xbf8cfd50) at gnome-keyring.c:652
	res = <value optimized out>
	socket = 45
	packet_size = <value optimized out>
	__PRETTY_FUNCTION__ = "run_sync_operation"
#4  0x0108f85e in gnome_keyring_find_items_sync (
    type=GNOME_KEYRING_ITEM_NETWORK_PASSWORD, attributes=0xc649e78, 
    found=0xbf8cfde8) at gnome-keyring.c:2148
	send = {buf = 0xc3b4100 "", len = 123, allocated_len = 128, 
  failures = 0, allocator = 0x25309f0 <IA__g_realloc>}
	receive = {buf = 0xb57b2088 "", len = 4, allocated_len = 128, 
  failures = 0, allocator = 0x1091e50 <gnome_keyring_memory_realloc>}
	res = <value optimized out>
#5  0x00388776 in ep_get_password (msg=0xba7bdb0) at e-passwords.c:700
	uri = (EUri *) 0x991e970
#6  0x003882d5 in ep_idle_dispatch (data=0x0) at e-passwords.c:233
No locals.
#7  0x02526ff1 in g_idle_dispatch (source=0x991e938, callback=0x4, 
---Type <return> to continue, or q <return> to quit---
    user_data=0x0) at gmain.c:4142
No locals.
#8  0x02528bbc in IA__g_main_context_dispatch (context=0x8529500)
    at gmain.c:2064
No locals.
#9  0x0252c036 in g_main_context_iterate (context=0x8529500, block=1, 
    dispatch=1, self=0x85016c8) at gmain.c:2697
	got_ownership = <value optimized out>
	max_priority = 2147483647
	timeout = 40
	some_ready = 1
	nfds = <value optimized out>
	allocated_nfds = <value optimized out>
	fds = (GPollFD *) 0x88ae990
	__PRETTY_FUNCTION__ = "g_main_context_iterate"
#10 0x0252c3e9 in IA__g_main_loop_run (loop=0x857ac00) at gmain.c:2905
	got_ownership = 4298192
	self = (GThread *) 0x85016c8
	__PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#11 0x008c3923 in bonobo_main () at bonobo-main.c:311
	loop = (GMainLoop *) 0x857ac00
#12 0x0805ef11 in main (argc=2, argv=0xbf8d0194) at main.c:719
	fd = <value optimized out>
---Type <return> to continue, or q <return> to quit---
	client = (GConfClient *) 0x855b788
	skip_warning_dialog = <value optimized out>
	program = (GnomeProgram *) 0x850a058
	master_client = (GnomeClient *) 0x850c010
	context = <value optimized out>
#13 0x035174a0 in __libc_start_main () from /lib/libc.so.6
No symbol table info available.
#14 0x0804f7b1 in _start ()
No symbol table info available.


Comment 6 Matthew Barnes 2008-01-21 20:06:26 UTC
This is a gnome-keyring bug that was recently fixed upstream.

http://bugzilla.gnome.org/show_bug.cgi?id=502603

Closing as UPSTREAM and changing component.  I'll push a patch to Rawhide.


Note You need to log in before you can comment on or make changes to this bug.