Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
T
Tor
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,067
    • Issues 1,067
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 19
    • Merge Requests 19
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • The Tor Project
  • Core
  • Tor
  • Issues
  • #40015

Closed
Open
Opened Jun 29, 2020 by Roger Dingledine@armaReporter

Tor triggers assert when run with "--key-expiration sign" but no ORPort

When I run "src/app/tor -f /tmp/empty --key-expiration sign", I get this backtrace:

Jun 28 19:59:21.805 [err] tor_assertion_failed_(): Bug: src/feature/relay/routerkeys.c:560: log_master_signing_key_cert_expiration: Assertion server_identity_key_is_set() failed; aborting. (on Tor 0.4.5.0-alpha-dev 5336ac26693cdba4)
Jun 28 19:59:21.806 [err] Bug: Tor 0.4.5.0-alpha-dev (git-5336ac26693cdba4): Assertion server_identity_key_is_set() failed in log_master_signing_key_cert_expiration at src/feature/relay/routerkeys.c:560: . Stack trace: (on Tor 0.4.5.0-alpha-dev 5336ac26693cdba4)
Jun 28 19:59:21.806 [err] Bug:     /home/arma/torgit/tor/src/app/tor(log_backtrace_impl+0x56) [0x555555770436] (on Tor 0.4.5.0-alpha-dev 5336ac26693cdba4)
Jun 28 19:59:21.806 [err] Bug:     /home/arma/torgit/tor/src/app/tor(tor_assertion_failed_+0x147) [0x55555576b497] (on Tor 0.4.5.0-alpha-dev 5336ac26693cdba4)
Jun 28 19:59:21.806 [err] Bug:     /home/arma/torgit/tor/src/app/tor(log_cert_expiration+0x18a) [0x5555556c28aa] (on Tor 0.4.5.0-alpha-dev 5336ac26693cdba4)
Jun 28 19:59:21.806 [err] Bug:     /home/arma/torgit/tor/src/app/tor(tor_run_main+0x109a) [0x5555555b58ca] (on Tor 0.4.5.0-alpha-dev 5336ac26693cdba4)
Jun 28 19:59:21.806 [err] Bug:     /home/arma/torgit/tor/src/app/tor(tor_main+0x3a) [0x5555555b30ba] (on Tor 0.4.5.0-alpha-dev 5336ac26693cdba4)
Jun 28 19:59:21.806 [err] Bug:     /home/arma/torgit/tor/src/app/tor(main+0x19) [0x5555555b2c79] (on Tor 0.4.5.0-alpha-dev 5336ac26693cdba4)
Jun 28 19:59:21.806 [err] Bug:     /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7ffff745409b] (on Tor 0.4.5.0-alpha-dev 5336ac26693cdba4)
Jun 28 19:59:21.806 [err] Bug:     /home/arma/torgit/tor/src/app/tor(_start+0x2a) [0x5555555b2cca] (on Tor 0.4.5.0-alpha-dev 5336ac26693cdba4)

Here it is in gdb:

Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) where
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff7452535 in __GI_abort () at abort.c:79
#2  0x0000555555770b0e in tor_raw_abort_ () at src/lib/err/torerr.c:225
#3  0x000055555576b73e in tor_abort_ () at src/lib/log/util_bug.c:174
#4  0x00005555556c28af in log_master_signing_key_cert_expiration (
    options=0x5555558bb610) at src/feature/relay/routerkeys.c:560
#5  log_cert_expiration () at src/feature/relay/routerkeys.c:599
#6  0x00005555555b58ca in tor_run_main (tor_cfg=tor_cfg@entry=0x55555588f260)
    at src/app/main/main.c:1311
#7  0x00005555555b30ba in tor_main (argc=3, argv=0x7fffffffdc88)
    at src/feature/api/tor_api.c:164
#8  0x00005555555b2c79 in main (argc=<optimized out>, argv=<optimized out>)
    at src/app/main/tor_main.c:32

After some debugging, if I set "ORPort 9001" in my torrc or on my command-line, then Tor behaves as expected.

For a minimal fix, I'd want it to not crash, and instead tell me I need to set an ORPort.

For a more thorough fix, I'd want it to work even when I don't set an ORPort (since after all, I am running Tor to examine my local file and tell me about it, not to be a relay).

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: tpo/core/tor#40015