get_options_mutable: Assertion global_options failed; SIGABRT

Version:

Tor 0.3.1.0-alpha-dev (git-44102714460aafe5)

Input file hexdump:

00000000  4c 00 20 20 66 6f 6f 2e  6c 6f 67 0a 0a           |L.  foo.log..|
0000000d

How to reproduce:

$ ./src/or/tor -f <attached input file> --verify-config

gdb:

Program terminated with signal SIGABRT, Aborted.
#0  0x00007fb6f1d31a10 in raise () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007fb6f1d31a10 in raise () from /usr/lib/libc.so.6
#1  0x00007fb6f1d3313a in abort () from /usr/lib/libc.so.6
#2  0x000055a0ed6e39a3 in get_options_mutable () at src/or/config.c:768
#3  get_options () at src/or/config.c:776
#4  0x000055a0ed5b224f in networkstatus_get_latest_consensus () at src/or/networkstatus.c:1370
#5  networkstatus_get_param (ns=0x2, param_name=0x55a0ed8e2190 "cbtdisabled", default_val=0, min_val=0, 
    max_val=1) at src/or/networkstatus.c:2368
#6  0x000055a0ed6d0f4b in circuit_build_times_disabled (options=0x55a0eeef0c50)
    at src/or/circuitstats.c:113
#7  0x000055a0ed6ef697 in options_validate (old_options=<optimized out>, options=<optimized out>, 
    default_options=<optimized out>, from_setconf=<optimized out>, msg=<optimized out>)
    at src/or/config.c:3493
#8  0x000055a0ed6faa72 in options_init_from_string (cf_defaults=<optimized out>, cf=<optimized out>, 
    command=<optimized out>, command_arg=<optimized out>, msg=<optimized out>) at src/or/config.c:5170
#9  0x000055a0ed6f8eba in options_init_from_torrc (argc=<optimized out>, argv=<optimized out>)
    at src/or/config.c:4968
#10 0x000055a0ed59a184 in tor_init (argc=<optimized out>, argv=<optimized out>) at src/or/main.c:3080
#11 0x000055a0ed59aeb8 in tor_main (argc=2, argv=0x7ffe29220520) at src/or/main.c:3707
#12 0x000055a0ed5923e9 in main (argc=2, argv=0x7ffe29220520) at src/or/tor_main.c:34

valgrind:

==32291== Memcheck, a memory error detector
==32291== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==32291== Using Valgrind-3.12.0 and LibVEX; rerun with -h for copyright info
==32291== Command: ./src/or/tor -f /tmp/crash --verify-config
==32291== 
May 14 10:44:50.978 [notice] Tor 0.3.1.0-alpha-dev (git-44102714460aafe5) running on Linux with Libevent 2.0.22-stable, OpenSSL 1.1.0e, Zlib 1.2.11, Liblzma 5.2.3, and Libzstd N/A.
May 14 10:44:51.044 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
May 14 10:44:51.046 [notice] This version is not a stable Tor release. Expect more bugs than usual.
May 14 10:44:51.079 [notice] Read configuration file "/tmp/crash".
May 14 10:44:51.445 [warn] The abbreviation 'L' is deprecated. Please use 'LearnCircuitBuildTimeout' instead
May 14 10:44:51.550 [err] tor_assertion_failed_: Bug: src/or/config.c:768: get_options_mutable: Assertion global_options failed; aborting. (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.560 [err] Bug: Assertion global_options failed in get_options_mutable at src/or/config.c:768. Stack trace: (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.561 [err] Bug:     ./src/or/tor(log_backtrace+0x66) [0x3b3d86] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.561 [err] Bug:     ./src/or/tor(tor_assertion_failed_+0xc3) [0x3ea183] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.562 [err] Bug:     ./src/or/tor(get_options+0x9e) [0x2a299e] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.562 [err] Bug:     ./src/or/tor(networkstatus_get_param+0x6f) [0x17124f] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.562 [err] Bug:     ./src/or/tor(circuit_build_times_disabled+0x5b) [0x28ff4b] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.562 [err] Bug:     ./src/or/tor(+0x1a6697) [0x2ae697] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.562 [err] Bug:     ./src/or/tor(options_init_from_string+0x862) [0x2b9a72] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.562 [err] Bug:     ./src/or/tor(options_init_from_torrc+0x6aa) [0x2b7eba] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.562 [err] Bug:     ./src/or/tor(tor_init+0x7e4) [0x159184] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.562 [err] Bug:     ./src/or/tor(tor_main+0x88) [0x159eb8] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.565 [err] Bug:     ./src/or/tor(main+0x39) [0x1513e9] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.565 [err] Bug:     /usr/lib/libc.so.6(__libc_start_main+0xf1) [0x673e511] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
May 14 10:44:51.565 [err] Bug:     ./src/or/tor(_start+0x2a) [0x1512aa] (on Tor 0.3.1.0-alpha-dev 44102714460aafe5)
==32291== 
==32291== Process terminating with default action of signal 6 (SIGABRT): dumping core
==32291==    at 0x6751A10: raise (in /usr/lib/libc-2.25.so)
==32291==    by 0x6753139: abort (in /usr/lib/libc-2.25.so)
==32291==    by 0x2A29A2: get_options_mutable (config.c:768)
==32291==    by 0x2A29A2: get_options (config.c:776)
==32291==    by 0x17124E: networkstatus_get_latest_consensus (networkstatus.c:1370)
==32291==    by 0x17124E: networkstatus_get_param (networkstatus.c:2368)
==32291==    by 0x28FF4A: circuit_build_times_disabled (circuitstats.c:113)
==32291==    by 0x2AE696: options_validate (config.c:3493)
==32291==    by 0x2B9A71: options_init_from_string (config.c:5170)
==32291==    by 0x2B7EB9: options_init_from_torrc (config.c:4968)
==32291==    by 0x159183: tor_init (main.c:3080)
==32291==    by 0x159EB7: tor_main (main.c:3707)
==32291==    by 0x1513E8: main (tor_main.c:34)
==32291== 
==32291== HEAP SUMMARY:
==32291==     in use at exit: 91,573 bytes in 3,013 blocks
==32291==   total heap usage: 5,285 allocs, 2,272 frees, 187,424 bytes allocated
==32291== 
==32291== LEAK SUMMARY:
==32291==    definitely lost: 0 bytes in 0 blocks
==32291==    indirectly lost: 0 bytes in 0 blocks
==32291==      possibly lost: 0 bytes in 0 blocks
==32291==    still reachable: 91,573 bytes in 3,013 blocks
==32291==         suppressed: 0 bytes in 0 blocks
==32291== Rerun with --leak-check=full to see details of leaked memory
==32291== 
==32291== For counts of detected and suppressed errors, rerun with: -v
==32291== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
[1]    32291 abort      valgrind ./src/or/tor -f /tmp/crash --verify-config

Best Regards, Stephan Zeisberg

Trac:
Username: stze

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information