> On 24 Jan 2016, at 12:08 AM, grarpamp <grarpamp@xxxxxxxxx> wrote: > > On Sat, Jan 23, 2016 at 7:17 PM, Ken Cline <cline@xxxxxxxx> wrote: >> I reported a Tor crash, only to find it was caused by a failing disk. > > Apps should not crash due to failed i/o, rather should retry, block, > fail, or exit, perhaps configurably. Especially if kern errno.h posted. The problem here is that there was no read syscall, so no errno value to check. The file (microdesc cache) was mapped into memory using tor_mmap_file. The disk error occurred when the kernel attempted to page in the data on a memory read, and signal 10 (bus error) was properly raised. Handling this situation correctly is tricky. I do not fault the Tor programmers for letting it fall through to the crash handler. Here's my stack trace in case you are interested. ============================================================ T= 1423594406 Tor 0.2.5.10 (git-13318a95ddfbbf8d) died: Caught signal 10 0 tor.real 0x00182076 crash_handler + 81 1 libsystem_platform.dylib 0x973d1deb _sigtramp + 43 2 libsystem_platform.dylib 0x973d1ee7 _platform_memchr + 19 3 tor.real 0x00175a90 microdescs_parse_from_string + 197 4 tor.real 0x0010c642 microdescs_add_to_cache + 118 5 tor.real 0x0010d1da microdesc_cache_reload + 179 6 tor.real 0x0010c59f get_microdesc_cache + 187 7 tor.real 0x00115750 nodelist_set_consensus + 99 8 tor.real 0x00112efc networkstatus_set_current_consensus + 3112 9 tor.real 0x0010f07a router_reload_consensus_networkstatus + 304 10 tor.real 0x00107794 do_main_loop + 332 11 tor.real 0x0010babd tor_main + 293 12 tor.real 0x0003f59e main + 58 13 tor.real 0x0003f535 start + 53 Abort trap: 6
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail
-- tor-talk mailing list - tor-talk@xxxxxxxxxxxxxxxxxxxx To unsubscribe or change other settings go to https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-talk