Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

#3213 closed defect (fixed)

seg fault in 0.2.2.26-beta when adding bridges

Reported by: arma Owned by:
Priority: High Milestone: Tor: 0.2.2.x-final
Component: Core Tor/Tor Version:
Severity: Keywords: tor-bridge
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

First start your Tor client, without bridges configured.

Then connect to the control port, and
authenticate
setconf bridge=1 usebridge=128.31.0.34:9101

Then wait until your Tor fetches moria1's descriptor

May 17 19:32:47.352 [notice] no known bridge descriptors running yet; stalling
May 17 19:32:47.352 [notice] Our directory information is no longer up-to-date enough to build circuits: No live bridge descriptors.
May 17 19:33:34.711 [notice] Learned fingerprint 9695DFC35FFEB861329B9F1AB04C46397020CE31 for bridge 128.31.0.34:9101
May 17 19:33:35.054 [notice] new bridge descriptor 'moria1' (fresh)
May 17 19:33:35.057 [notice] We now have enough directory information to build circuits.

Soon after, it will refetch a general-purpose descriptor for moria1 (see #1776 I think):

May 17 19:33:45.651 [notice] no known bridge descriptors running yet; stalling
May 17 19:33:45.651 [notice] Our directory information is no longer up-to-date enough to build circuits: No live bridge descriptors.
May 17 19:33:45.651 [notice] I learned some more directory information, but not enough to build a circuit: No live bridge descriptors.

Then setconf usebridge=0

Segmentation fault (core dumped)
#0  tor_memeq (a=<value optimized out>, b=<value optimized out>, 
    sz=<value optimized out>) at di_ops.c:104
#1  0x00000000004548f3 in get_configured_bridge_by_addr_port_digest (
    addr=0x7fff880414a0, port=9101, digest=0x0) at circuitbuild.c:4542
#2  0x000000000045db18 in bridge_add_from_config (addr=0x7fff880414a0, 
    port=<value optimized out>, digest=0x0) at circuitbuild.c:4593
#3  0x0000000000468770 in parse_bridge_line (line=<value optimized out>, 
    validate_only=<value optimized out>) at config.c:4446
#4  0x000000000046e2f2 in options_act (new_val=<value optimized out>, 
    msg=0x7fff88041690) at config.c:1184
#5  set_options (new_val=<value optimized out>, msg=0x7fff88041690)
    at config.c:667                 
#6  0x00000000004704eb in options_trial_assign (list=0x2057cc0,
    use_defaults=0, clear_first=1, msg=0x7fff88041690) at config.c:2251
#7  0x000000000048630f in control_setconf_helper (conn=0x202cad0,
    len=<value optimized out>, body=<value optimized out>, use_defaults=0)
    at control.c:760
#8  0x0000000000489a90 in handle_control_resetconf (
    conn=<value optimized out>) at control.c:807
#9  connection_control_process_inbuf (conn=<value optimized out>)
    at control.c:3005
#10 0x0000000000476d89 in connection_handle_read_impl (conn=0x202cad0)
    at connection.c:2510
#11 connection_handle_read (conn=0x202cad0) at connection.c:2550
#12 0x000000000040a156 in conn_read_callback (fd=<value optimized out>, 
    event=<value optimized out>, _conn=0x202cad0) at main.c:514
#13 0x00007f182cd84344 in event_base_loop () from /usr/lib/libevent-1.4.so.2
#14 0x000000000040aea1 in do_main_loop () at main.c:1559
#15 0x000000000040c18b in tor_main (argc=<value optimized out>, 
    argv=0x7fff88041af8) at main.c:2221
#16 0x00007f182c000c4d in __libc_start_main () from /lib/libc.so.6
#17 0x0000000000407af9 in _start ()
(gdb) up
#1  0x00000000004548f3 in get_configured_bridge_by_addr_port_digest (
    addr=0x7fff880414a0, port=9101, digest=0x0) at circuitbuild.c:4542
4542          if (tor_memeq(bridge->identity, digest, DIGEST_LEN))

digest is null

Child Tickets

Change History (4)

comment:1 Changed 8 years ago by nickm

The fix looks trivial; I'll check it in now.

Does this warrant a fast 0.2.2.27-beta?

comment:2 Changed 8 years ago by nickm

Resolution: fixed
Status: newclosed

Fixed in maint-0.2.2 by 21ed575826e701437f7893536ffc5c8d2a71532f

comment:3 Changed 7 years ago by nickm

Keywords: tor-bridge added

comment:4 Changed 7 years ago by nickm

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