Opened 13 years ago

Last modified 7 years ago

#441 closed defect (Fixed)

Tor v0.2.0.1-alpha on IRIX crashes shortly after startup

Reported by: jm Owned by:
Priority: Low Milestone:
Component: Core Tor/Tor Version: 0.2.0.0-alpha-dev
Severity: Keywords:
Cc: jm, nickm Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Tor v0.2.0.1-alpha on IRIX crashes shortly after startup. Log snippet and backtrace attached below.

Jun 01 20:47:45.602 [notice] Tor v0.2.0.1-alpha. This is experimental software. Do not rely on it for strong anonymity. (Running on IRIX64 IP30)
[...]
Jun 01 20:47:54.161 [info] routerlist_remove_old_routers(): Forgetting obsolete (too old) routerinfo for router 'whowantstoknow'
Jun 01 20:47:54.162 [info] routerlist_remove_old_routers(): Forgetting obsolete (too old) routerinfo for router 'peleion'
Jun 01 20:47:54.162 [info] routerlist_remove_old_routers(): Forgetting obsolete (too old) routerinfo for router 'gondortor'
Jun 01 20:47:54.163 [info] routerlist_remove_old_routers(): Forgetting obsolete (too old) routerinfo for router 'splunk'
Jun 01 20:47:54.163 [info] routerlist_remove_old_routers(): Forgetting obsolete (too old) routerinfo for router 'opgdev'
Jun 01 20:47:54.164 [info] routerlist_remove_old_routers(): Forgetting obsolete (too old) routerinfo for router '2Wire6726'
Jun 01 20:47:54.164 [info] routerlist_remove_old_routers(): Forgetting obsolete (too old) routerinfo for router 'homer'
Jun 01 20:47:54.165 [err] Bug: routerlist.c:5179: routerlist_assert_ok: Assertion !memcmp(sd->extra_info_digest, d, DIGEST_LEN) failed; aborting.
routerlist.c:5179 routerlist_assert_ok: Assertion !memcmp(sd->extra_info_digest, d, DIGEST_LEN) failed; aborting.
Abort (core dumped)

---

dbx version 7.3.4 (86441_Nov11 MR) Nov 11 2002 11:31:55
Core from signal SIGABRT: Abort (see abort(3c))
(dbx) where

Thread 0x10000

0 _prctl(0x15, 0x4, 0xffff, 0x0, 0x0, 0x118, 0x2c0, 0x1a0) ["/xlv41/6.5.30m/work/irix/lib/libc/libc_n32_M4/proc/prctl.s":15, 0xfa4ac28]

1 pthread_kill(0x15, 0x6, 0xffff, 0x0, 0x0, 0x118, 0x2c0, 0x1a0) ["/xlv41/6.5.30m/work/eoe/lib/libpthread/libpthread_n32_M3/sig.c":150, 0xc0900c4]
2 _SGIPT_libc_raise(0x15, 0x4, 0xffff, 0x0, 0x0, 0x118, 0x2c0, 0x1a0) ["/xlv41/6.5.30m/work/eoe/lib/libpthread/libpthread_n32_M3/sig.c":660, 0xc0910d8]
3 _raise(0x15, 0x4, 0xffff, 0x0, 0x0, 0x118, 0x2c0, 0x1a0) ["/xlv41/6.5.30m/work/irix/lib/libc/libc_n32_M4/signal/raise.c":26, 0xfad1f3c]
4 abort(0x15, 0x4, 0xffff, 0x0, 0x0, 0x118, 0x2c0, 0x1a0) ["/xlv41/6.5.30m/work/irix/lib/libc/libc_n32_M4/gen/abort.c":52, 0xfa6f6b0]
5 routerlist_assert_ok(rl = 0x1012ebc0) ["/usr/people/jm/tmp/xxx/tor/src/or/routerlist.c":5179, 0x100b2714]
6 routerlist_remove_old_routers() ["/usr/people/jm/tmp/xxx/tor/src/or/routerlist.c":2670, 0x100a979c]
7 update_router_have_minimum_dir_info() ["/usr/people/jm/tmp/xxx/tor/src/or/routerlist.c":4826, 0x100b08ec]
8 router_have_minimum_dir_info() ["/usr/people/jm/tmp/xxx/tor/src/or/routerlist.c":4797, 0x100b086c]
9 directory_info_has_arrived(now = 1180723673, from_cache = 1) ["/usr/people/jm/tmp/xxx/tor/src/or/main.c":676, 0x1007fc94]
10 do_main_loop() ["/usr/people/jm/tmp/xxx/tor/src/or/main.c":1345, 0x10081808]
11 tor_main(argc = 3, argv = 0x7fff2f64) ["/usr/people/jm/tmp/xxx/tor/src/or/main.c":2610, 0x10083280]
12 main(argc = 3, argv = 0x7fff2f64) ["/usr/people/jm/tmp/xxx/tor/src/or/tor_main.c":28, 0x100c53dc]
13 start() ["/xlv55/kudzu-apr12/work/irix/lib/libc/libc_n32_M4/csu/crt1text.s":177, 0x10014318]

(dbx) up 5
routerlist_assert_ok:5179 tor_assert(!memcmp(sd->extra_info_digest, d, DIGEST_LEN));
(dbx) p *sd
struct signed_descriptor_t {

signed_descriptor_body = 0x10201860 = ""
signed_descriptor_len = 1296911693
signed_descriptor_digest = ""
identity_digest = "MMMMMMMMMMMMMMMMMMMM"
published_on = 1296911693
extra_info_digest = "MMMMMMMMMMMMMMMMMMMM"
ei_dl_status = struct download_status_t {

next_attempt_at = 1296911693
n_download_failures = 'M'

}
saved_location = 1296911693
saved_offset = 5570193308531903821
do_not_cache = 0
is_extrainfo = 1

}
(dbx) p d
0x1023f214 = ""

[Automatically added by flyspray2trac: Operating System: Other]

Child Tickets

Change History (6)

comment:1 Changed 13 years ago by nickm

All the "M"s are coming from the "memset(router, 77, sizeof(routerinfo_t))" at routerlist.c:1753. This
is a freed routerinfo!

comment:2 Changed 13 years ago by nickm

btw, this seems to be the same bug as 442.

comment:3 Changed 13 years ago by nickm

Fixed in r10449, I believe.

comment:4 Changed 12 years ago by nickm

Marking as fixed; please reopen if this occurs again?

comment:5 Changed 12 years ago by nickm

flyspray2trac: bug closed.

comment:6 Changed 7 years ago by nickm

Component: Tor ClientTor
Note: See TracTickets for help on using tickets.