Opened 8 months ago

Last modified 4 months ago

#33398 assigned task

Remove documentation for `--dump-config non-builtin` and deprecate it

Reported by: nickm Owned by: nickm
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: 043-can, 043-backport, 044-deferred
Cc: ahf, teor Actual Points:
Parent ID: Points: .1
Reviewer: Sponsor:

Description

As teor finds in #32467, it is apparently just the same as "short".

I should confirm that, and act accordingly.

Child Tickets

Change History (4)

comment:1 Changed 8 months ago by nickm

Cc: ahf teor added
Keywords: 043-backport added
Milestone: Tor: 0.4.3.x-finalTor: 0.4.4.x-final
Points: .1

Investigating, it seems that non-builtin is indeed slightly different from short... but only very very slightly. Here is a command line that gives different results with non-builtin and short:

./src/app/tor  --dump-config short testingtornetwork 1 dirauthority '1.2.3.4:99 abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd ' extendallowprivateaddresses 0`

With "Short", it gives a reasonable output. With non-builtin, it crashes.

Removing the silent-logs code from dump-config, I see that the crash is:

Feb 20 11:02:39.823 [err] config_dump(): Bug: Failed to validate default config: TestingV3AuthInitialVotingInterval may only be changed in testing Tor networks! (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Feb 20 11:02:39.823 [err] tor_assertion_failed_(): Bug: src/lib/confmgt/confmgt.c:1337: config_dump: Assertion 0 failed; aborting. (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Feb 20 11:02:39.823 [err] Bug: Tor 0.4.4.0-alpha-dev (git-7ba7f9c0de9d1b24): Assertion 0 failed in config_dump at src/lib/confmgt/confmgt.c:1337: . Stack trace: (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Feb 20 11:02:39.823 [err] Bug:     ./src/app/tor(log_backtrace_impl+0x31) [0x6d3661] (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Feb 20 11:02:39.823 [err] Bug:     ./src/app/tor(tor_assertion_failed_+0x1b0) [0x6cec3a] (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Feb 20 11:02:39.823 [err] Bug:     ./src/app/tor(config_dump+0x133) [0x6a85e7] (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Feb 20 11:02:39.823 [err] Bug:     ./src/app/tor(options_dump+0xab) [0x57f955] (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Feb 20 11:02:39.823 [err] Bug:     ./src/app/tor() [0x44d4e9] (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Feb 20 11:02:39.823 [err] Bug:     ./src/app/tor(tor_run_main+0x25c) [0x44f086] (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Feb 20 11:02:39.823 [err] Bug:     ./src/app/tor(tor_main+0x66) [0x44c127] (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Feb 20 11:02:39.823 [err] Bug:     ./src/app/tor(main+0x20) [0x44be26] (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Feb 20 11:02:39.823 [err] Bug:     /lib64/libc.so.6(__libc_start_main+0xf3) [0x7f2134c7b1a3] (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Feb 20 11:02:39.823 [err] Bug:     ./src/app/tor(_start+0x2e) [0x44bd4e] (on Tor 0.4.4.0-alpha-dev 7ba7f9c0de9d1b24)
Aborted (core dumped)

This crash behavior has existed since at least 0.3.5. On 0.2.9, I get a different output, but the difference is still not terribly useful.

I see two options here:

  • Fix non-builtin.
  • Deprecate non-builtin.

I favor the option of deprecating non-builtin: nobody has actually run into this crash in the last several years, which means that the distinction between non-builtin and short is not actually doing us any good.

Adding ahf and teor to this ticket, since they commented on the previous --dump-config ticket.

comment:2 Changed 8 months ago by teor

Seems like a good idea to me,

Is there any way the crash can be triggered by another combination of options?
(Not including --dump-config non-builtin)

comment:3 Changed 8 months ago by nickm

Is there any way the crash can be triggered by another combination of options?

I am pretty sure not. That's the only place in the code where OPTIONS_DUMP_DEFAULTS is used.

comment:4 Changed 4 months ago by nickm

Keywords: 044-deferred added
Milestone: Tor: 0.4.4.x-finalTor: unspecified

Bulk-remove tickets from 0.4.4. Add the 044-deferred label to them.

Note: See TracTickets for help on using tickets.