Opened 12 years ago

Last modified 7 years ago

#390 closed defect (Fixed)

Assertion !connection_is_on_closeable_list(conn) failed

Reported by: yalla Owned by:
Priority: Very High Milestone:
Component: Core Tor/Tor Version: 0.1.1.26
Severity: Keywords:
Cc: yalla Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Using tor version 0.1.1.26-1sarge.1 on Debian Sarge:

# uname -a
Linux wormhole.ynfonatic.de 2.6.9-023stab033.1-smp #1 SMP Mon Oct 23 21:47:03 MSD 2006 i686 GNU/Linux

Tor crashes with a core-dump:

# gdb /usr/sbin/tor core.16144
(gdb) bt
#0 0xb7d7683b in raise () from /lib/tls/libc.so.6
#1 0xb7d77fa2 in abort () from /lib/tls/libc.so.6
#2 0x0806488e in connection_free (conn=0x80b7940) at connection.c:261
#3 0x08082b79 in dns_cancel_pending_resolve (

address=0x8fad7d8 "ðv|\tÀna\t\020") at dns.c:535

#4 0x080861e2 in connection_unlink (conn=0x827ed28, remove=1) at main.c:209
#5 0x0808714f in conn_close_if_marked (i=0) at main.c:523
#6 0x08086e14 in close_closeable_connections () at main.c:388
#7 0xb7e85c79 in event_base_priority_init () from /usr/lib/libevent-1.1a.so.1
#8 0xb7e85f65 in event_base_loop () from /usr/lib/libevent-1.1a.so.1
#9 0xb7e85dcb in event_loop () from /usr/lib/libevent-1.1a.so.1
#10 0xb7e85cb0 in event_dispatch () from /usr/lib/libevent-1.1a.so.1
#11 0x080884db in do_main_loop () at main.c:1183
#12 0x080894a5 in tor_main (argc=0, argv=0x0) at main.c:2158
#13 0x080a5b9b in main (argc=0, argv=0x0) at tor_main.c:22
#14 0xb7d63974 in libc_start_main () from /lib/tls/libc.so.6
#15 0x0804c571 in _start () at ../sysdeps/i386/elf/start.S:102

Last lines in the logfile:
# tail -n 3 log
Feb 12 23:57:40.103 [warn] spawn_enough_dnsworkers(): 100 DNS workers are spawned; all are busy. Killing one.
Feb 12 23:57:40.103 [warn] spawn_enough_dnsworkers(): 100 DNS workers are spawned; all are busy. Killing one.
Feb 12 23:57:40.105 [err] connection.c:257: connection_free: Assertion !connection_is_on_closeable_list(conn) failed; aborting.

wormhole:/var/log/tor# /usr/sbin/tor --version
Feb 13 18:58:17.225 [notice] Tor v0.1.1.26. This is experimental software. Do not rely on it for strong anonymity.
Tor version 0.1.1.26.

If you need any further evidences, drop me a line.

Cheers, Alex.

[Automatically added by flyspray2trac: Operating System: Other Linux]

Child Tickets

Change History (7)

comment:1 Changed 12 years ago by nickm

Does this happen after every time you see the "100 DNS workers are spawned; all are busy. Killing one" message,
or only sometimes?

comment:2 Changed 12 years ago by yalla

No. For thousands of "100 DNS workers are spawned"-messages I only got the Assertion-error - followed by a core-dump - three times.

Alex.

comment:3 Changed 12 years ago by yalla

From your request on IRC:

<nickm> Can you ask gdb to print the value of *pendconn in dns_cancel_pending_resolve? I think it might help.

(gdb) print 'dns_cancel_pending_resolve'::pendconn
$2 = (connection_t *) 0x97c76f0

Not sure if that's what you wanted though.

Cheers, Alex.

comment:4 Changed 12 years ago by yalla

(gdb) p *(dns_cancel_pending_resolve::pendconn)
$5 = {magic = 2084319310, type = 5 '\005', state = 4 '\004',

purpose = 1 '\001', wants_to_read = 0, wants_to_write = 0,
hold_open_until_flushed = 0, has_sent_end = 1,
control_events_are_extended = 0, is_obsolete = 0, s = -1, poll_index = -1,
read_event = 0x0, write_event = 0x0, inbuf = 0x82bf748,
inbuf_reached_eof = 0, timestamp_lastread = 1171321059, outbuf = 0x8cf4290,
outbuf_flushlen = 0, timestamp_lastwritten = 1171321060,
timestamp_created = 1171321059, timestamp_lastempty = 0, addr = 0,
port = 80, marked_for_close = 748,
marked_for_close_file = 0x80cfa91 "relay.c",
address = 0x8aadf58 "www.femmefatales.com", identity_pkey = 0x0,
identity_digest = '\0' <repeats 19 times>, nickname = 0x0,
chosen_exit_name = 0x0, tls = 0x0, bandwidth = 0, receiver_bucket = 0,
circ_id_type = CIRC_ID_TYPE_LOWER, n_circuits = 0, next_with_same_id = 0x0,
next_circ_id = 27474, stream_id = 12972, next_stream = 0x9c5ab80,
cpath_layer = 0x0, package_window = 500, deliver_window = 500,
requested_resource = 0x0, socks_request = 0x0, global_identifier = 5764544,
event_mask = 0, incoming_cmd_len = 0, incoming_cmd_cur_len = 0,
incoming_cmd = 0x0, on_circuit = 0x0, rend_query = '\0' <repeats 16 times>,
incoming_cmd_type = 0}

Thanks to C-Keen.

comment:5 Changed 12 years ago by nickm

Fixed in r9581. Thanks!

comment:6 Changed 12 years ago by nickm

flyspray2trac: bug closed.

comment:7 Changed 7 years ago by nickm

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