0

I am trying to get chutney running with a basic network configuration and I keep getting a bootstrapping error. I can't figure out exactly why it's failing and I'm hoping someone can help me. Here is what I did so far:

Running Ubuntu 20.04 LTS x64

  1. git clone https://git.torproject.org/tor.git

  2. sudo apt-get install libevent-dev libssl-dev zlib1g-dev libcap-dev libseccom-dev libscrypt-dev

  3. Build tor:
    sh autogen.sh ** ./configure --disable-asciidoc --disable-dependency-tracking && make && make install

  4. Setup chutney:
    git clone https://git.torproject.org/chutney.git

  5. Attempting to configure basic tor network:
    ./chutney configure networks/basic


I can't seem to post the entire output, so here is a link to pastebin for the entire error: https://pastebin.com/5myqNZMZ

Here is the error I get:
Launching chutney using Python 3.8.2
NOTE: creating '/home/user/chutney/net/nodes.1605817492', linking to '/home/user/chutney/net/nodes'
Creating identity key for test000a     with /usr/local/bin/tor-gencert
CalledProcessError
Python 3.8.2: /usr/bin/python3
Thu Nov 19 12:24:52 2020

A problem occurred in a Python script.  Here is the sequence of
function calls leading up to the error, in the order they occurred.

 /usr/lib/python3.8/runpy.py in _run_module_as_main(mod_name='chutney.TorNet', alter_argv=1)
  191     if alter_argv:
  192         sys.argv[0] = mod_spec.origin
  193     return _run_code(code, main_globals, None,
  194                      "__main__", mod_spec)
  195 
global _run_code = <function _run_code>
code = <code object <module> at 0x7f480de665b0, file "/home/user/chutney/lib/chutney/TorNet.py", line 11>
main_globals = {'ConfigureNodes': <function ConfigureNodes>, 'DEFAULTS': {'CUR_BOOTSTRAP_PHASE': 1, 'CUR_CONFIG_PHASE': 1, 'CUR_LAUNCH_PHASE': 1, 'auth_cert_lifetime': 12, 'authorities': 'AlternateDirAuthority bleargh bad torrc file!', 'authority': False, 'bootstrap_time': 60, 'bridge': False, 'bridgeauthority': False, 'bridges': 'Bridge bleargh bad torrc file!', ...}, 'KNOWN_REQUIREMENTS': {'IPV6': <function memoized.<locals>.memoized_fn>}, 'LocalNodeBuilder': <class '__main__.LocalNodeBuilder'>, 'LocalNodeController': <class '__main__.LocalNodeController'>, 'MissingBinaryException': <class '__main__.MissingBinaryException'>, 'Network': <class '__main__.Network'>, 'Node': <class '__main__.Node'>, 'NodeBuilder': <class '__main__.NodeBuilder'>, 'NodeController': <class '__main__.NodeController'>, ...}
mod_spec = ModuleSpec(name='chutney.TorNet', loader=<_froze...rigin='/home/user/chutney/lib/chutney/TorNet.py')

...

 /usr/lib/python3.8/subprocess.py in run(input=None, capture_output=False, timeout=None, check=True, *popenargs=(['/usr/local/bin/tor', '--ignore-missing-torrc', '-f', '/home/user/chutney/net/nodes.1605817492/000a/torrc', '--list-fingerprint', '--orport', '1', '--datadirectory', PosixPath('/home/user/chutney/net/nodes.1605817492/000a'), '--quiet'],), **kwargs={'stderr': -2, 'stdout': -1, 'universal_newlines': True})
  510         retcode = process.poll()
  511         if check and retcode:
  512             raise CalledProcessError(retcode, process.args,
  513                                      output=stdout, stderr=stderr)
  514     return CompletedProcess(process.args, retcode, stdout, stderr)
global CalledProcessError = <class 'subprocess.CalledProcessError'>
retcode = 1
process = <subprocess.Popen object>
process.args = ['/usr/local/bin/tor', '--ignore-missing-torrc', '-f', '/home/user/chutney/net/nodes.1605817492/000a/torrc', '--list-fingerprint', '--orport', '1', '--datadirectory', PosixPath('/home/user/chutney/net/nodes.1605817492/000a'), '--quiet']
output undefined
stdout = ''
stderr = None
CalledProcessError: Command '['/usr/local/bin/tor', '--ignore-missing-torrc', '-f', '/home/user/chutney/net/nodes.1605817492/000a/torrc', '--list-fingerprint', '--orport', '1', '--datadirectory', PosixPath('/home/user/chutney/net/nodes.1605817492/000a'), '--quiet']' returned non-zero exit status 1.
    __cause__ = None
    __class__ = <class 'subprocess.CalledProcessError'>
    __context__ = None
    __delattr__ = <method-wrapper '__delattr__' of CalledProcessError object>
    __dict__ = {'cmd': ['/usr/local/bin/tor', '--ignore-missing-torrc', '-f', '/home/user/chutney/net/nodes.1605817492/000a/torrc', '--list-fingerprint', '--orport', '1', '--datadirectory', PosixPath('/home/user/chutney/net/nodes.1605817492/000a'), '--quiet'], 'output': '', 'returncode': 1, 'stderr': None}
    __dir__ = <built-in method __dir__ of CalledProcessError object>
    __doc__ = 'Raised when run() is called with check=True and ...     cmd, returncode, stdout, stderr, output\n    '
    __eq__ = <method-wrapper '__eq__' of CalledProcessError object>
    __format__ = <built-in method __format__ of CalledProcessError object>
    __ge__ = <method-wrapper '__ge__' of CalledProcessError object>
    __getattribute__ = <method-wrapper '__getattribute__' of CalledProcessError object>
    __gt__ = <method-wrapper '__gt__' of CalledProcessError object>
    __hash__ = <method-wrapper '__hash__' of CalledProcessError object>
    __init__ = <bound method CalledProcessError.__init__ of Cal...chutney/net/nodes.1605817492/000a'), '--quiet'])>
    __init_subclass__ = <built-in method __init_subclass__ of type object>
    __le__ = <method-wrapper '__le__' of CalledProcessError object>
    __lt__ = <method-wrapper '__lt__' of CalledProcessError object>
    __module__ = 'subprocess'
    __ne__ = <method-wrapper '__ne__' of CalledProcessError object>
    __new__ = <built-in method __new__ of type object>
    __reduce__ = <built-in method __reduce__ of CalledProcessError object>
    __reduce_ex__ = <built-in method __reduce_ex__ of CalledProcessError object>
    __repr__ = <method-wrapper '__repr__' of CalledProcessError object>
    __setattr__ = <method-wrapper '__setattr__' of CalledProcessError object>
    __setstate__ = <built-in method __setstate__ of CalledProcessError object>
    __sizeof__ = <built-in method __sizeof__ of CalledProcessError object>
    __str__ = <bound method CalledProcessError.__str__ of Call...chutney/net/nodes.1605817492/000a'), '--quiet'])>
    __subclasshook__ = <built-in method __subclasshook__ of type object>
    __suppress_context__ = False
    __traceback__ = <traceback object>
    __weakref__ = None
    args = (1, ['/usr/local/bin/tor', '--ignore-missing-torrc', '-f', '/home/user/chutney/net/nodes.1605817492/000a/torrc', '--list-fingerprint', '--orport', '1', '--datadirectory', PosixPath('/home/user/chutney/net/nodes.1605817492/000a'), '--quiet'])
    cmd = ['/usr/local/bin/tor', '--ignore-missing-torrc', '-f', '/home/user/chutney/net/nodes.1605817492/000a/torrc', '--list-fingerprint', '--orport', '1', '--datadirectory', PosixPath('/home/user/chutney/net/nodes.1605817492/000a'), '--quiet']
    output = ''
    returncode = 1
    stderr = None
    stdout = ''
    with_traceback = <built-in method with_traceback of CalledProcessError object>

The above is a description of an error in a Python program.  Here is
the original traceback:

Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 193, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/user/chutney/lib/chutney/TorNet.py", line 2724, in <module>
    sys.exit(main())
  File "/home/user/chutney/lib/chutney/TorNet.py", line 2718, in main
    result = runConfigFile(args['action'], f.read())
  File "/home/user/chutney/lib/chutney/TorNet.py", line 2698, in runConfigFile
    return getattr(network, verb)()
  File "/home/user/chutney/lib/chutney/TorNet.py", line 2306, in configure
    b.preConfig(network)
  File "/home/user/chutney/lib/chutney/TorNet.py", line 684, in preConfig
    self._genRouterKey()
  File "/home/user/chutney/lib/chutney/TorNet.py", line 774, in _genRouterKey
    stdouterr = run_tor(cmdline)
  File "/home/user/chutney/lib/chutney/TorNet.py", line 242, in run_tor
    stdouterr = subprocess.check_output(cmdline,
  File "/usr/lib/python3.8/subprocess.py", line 411, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.8/subprocess.py", line 512, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/usr/local/bin/tor', '--ignore-missing-torrc', '-f', '/home/user/chutney/net/nodes.1605817492/000a/torrc', '--list-fingerprint', '--orport', '1', '--datadirectory', PosixPath('/home/user/chutney/net/nodes.1605817492/000a'), '--quiet']' returned non-zero exit status 1.
1
  • You should try running the failed command manually in a shell: /usr/local/bin/tor --ignore-missing-torrc -f /home/user/chutney/net/nodes.1605817492/000a/torrc --list-fingerprint --orport 1 --datadirectory /home/user/chutney/net/nodes.1605817492/000a --quiet. (And probably remove the --quiet option to see what's going on.)
    – Steve
    Nov 19 '20 at 23:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.