[tor-bugs] #22252 [Core Tor]: get_options_mutable: Assertion global_options failed; SIGABRT

Tor Bug Tracker & Wiki blackhole at torproject.org
Sun May 14 23:47:44 UTC 2017


#22252: get_options_mutable: Assertion global_options failed; SIGABRT
----------------------+------------------------------------
 Reporter:  stze      |          Owner:
     Type:  defect    |         Status:  new
 Priority:  Medium    |      Milestone:  Tor: 0.3.1.x-final
Component:  Core Tor  |        Version:  Tor: unspecified
 Severity:  Normal    |     Resolution:
 Keywords:            |  Actual Points:
Parent ID:            |         Points:
 Reviewer:            |        Sponsor:
----------------------+------------------------------------

Comment (by arma):

 This looks like a fun one:

 In config.c:3538, in options_validate(), we have
 {{{
     if (circuit_build_times_disabled(options)) {
       severity = LOG_INFO;
     }
 }}}

 In circuit_build_times_disabled(), we have
 {{{
     int consensus_disabled = networkstatus_get_param(NULL, "cbtdisabled",
                                                      0, 0, 1);
 }}}

 In networkstatus_get_param(), we have
 {{{
   if (!ns) /* if they pass in null, go find it ourselves */
     ns = networkstatus_get_latest_consensus();
 }}}

 In networkstatus_get_latest_consensus(), we have
 {{{
   if (we_use_microdescriptors_for_circuits(get_options()))
 }}}

 And it's that get_options() that screws us -- it goes to fetch the global
 options value, and there isn't one yet since we're still in the middle of
 validating it.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/22252#comment:3>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list