[tor-talk] Kernel OOPS through Tor - report or ignore?

Ken Cline cline at frii.com
Sun Jan 24 17:35:58 UTC 2016


> On 24 Jan 2016, at 12:08 AM, grarpamp <grarpamp at gmail.com> wrote:
> 
> On Sat, Jan 23, 2016 at 7:17 PM, Ken Cline <cline at frii.com> 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.torproject.org/pipermail/tor-talk/attachments/20160124/61ab4dcc/attachment.sig>


More information about the tor-talk mailing list