Tor blocks on writing to logs
#0 0x40253981 in write () from /lib/tls/libc.so.6 #1 0x401f5eef in _IO_file_write () from /lib/tls/libc.so.6 legacy/trac#2 (closed) 0x401f505e in _IO_do_write () from /lib/tls/libc.so.6 legacy/trac#3 (closed) 0x401f4ff6 in _IO_do_write () from /lib/tls/libc.so.6 legacy/trac#4 (closed) 0x401f56a2 in _IO_file_sync () from /lib/tls/libc.so.6 legacy/trac#5 (closed) 0x401e9c28 in fflush () from /lib/tls/libc.so.6 legacy/trac#6 (closed) 0x080c5327 in logv (severity=4, domain=1024, funcname=0x80ff58e "router_choose_random_node", format=0x80ff5c0 "No available nodes when trying to choose node. Failing.", ap=0xbffff460 "") at log.c:243 legacy/trac#7 (closed) 0x080c53d9 in _log_fn (severity=4, domain=1024, fn=0x80ff58e "router_choose_random_node", format=0x80ff5c0 "No available nodes when trying to choose node. Failing.") at log.c:272 legacy/trac#8 (closed) 0x080b0a25 in router_choose_random_node (preferred=0x0, excluded=0x0, excludedsmartlist=0x86da7b0, need_uptime=0, need_capacity=0, need_guard=1, allow_invalid=0, strict=0, weight_for_exit=0) at routerlist.c:1098 legacy/trac#9 (closed) 0x0805494e in choose_good_entry_server (purpose=5 '\005', state=0x0) at circuitbuild.c:1614 legacy/trac#10 (closed) 0x08055492 in add_an_entry_guard (chosen=0x0) at circuitbuild.c:1963 legacy/trac#11 (closed) 0x080562d1 in choose_random_entry (state=0x87bc530) at circuitbuild.c:2305 legacy/trac#12 (closed) 0x08054759 in choose_good_entry_server (purpose=5 '\005', state=0x87bc530) at circuitbuild.c:1581 ...
This happens when Vidalia freezes and fails to read its stdin. It might also happen in other cases.
What would happen if we made our log files non-blocking? First, it would make everything more complex from our side.
[Automatically added by flyspray2trac: Operating System: All]