[tor-bugs] #21054 [Core Tor/Tor]: hs: BUG() is triggered with ephemeral service on config reload
Tor Bug Tracker & Wiki
blackhole at torproject.org
Mon Jan 9 14:25:58 UTC 2017
#21054: hs: BUG() is triggered with ephemeral service on config reload
-------------------------------------------------+-------------------------
Reporter: dgoulet | Owner: dgoulet
Type: defect | Status:
| needs_review
Priority: High | Milestone: Tor:
| 0.3.0.x-final
Component: Core Tor/Tor | Version: Tor:
| 0.3.0.1-alpha
Severity: Normal | Resolution:
Keywords: tor-hs, prop224, refactoring, | Actual Points:
review-group-14 |
Parent ID: | Points: 0.5
Reviewer: asn | Sponsor:
| SponsorR-can
-------------------------------------------------+-------------------------
Comment (by dgoulet):
Replying to [comment:4 asn]:
> Initial review:
>
> Changes look reasonable to me. One question, why does
`circuit_get_next_service_intro_circ()` need the `start` argument?
>
> In the old code, we just iterated from the beginning of the circuitlist
everytime. Why do we now begin from `start`? Is it an optimization?
Yes. It is also to basically follow the `circuit_get_next_by_*` API that
uses that technique. Without it, we can't return a circuit from the middle
of the list matching our requirements and then continuing the loop at that
circuit. Else, the other options is for the function to return a list of
matching circuits. No strong preferences here, I would be fine with
either.
>
> Also, BTW I didn't manage to reproduce the original bug. How do we do
it? I started up a Tor with a normal HS, then I added an ADD_ONION, and
then I HUPed. Am I missing a step?
Yes, normal service then you do `ADD_ONION NEW:BEST Port=8161` and then
HUP or `SIGNAL RELOAD`, you should hit the BUG. Btw, it won't be on
console if you setup logging and should look like this (I just reproduced
it on master):
{{{
Jan 09 09:23:44.000 [warn] tor_bug_occurred_(): Bug:
src/or/rendservice.c:839: rend_config_services: Non-fatal assertion
!(rend_service_is_ephemeral(new)) failed. (on Tor 0.3.0.1-alpha-dev
655ffeadd53833d9)
Jan 09 09:23:44.000 [warn] Bug: Non-fatal assertion
!(rend_service_is_ephemeral(new)) failed in rend_config_services at
src/or/rendservice.c:839. Stack trace: (on Tor 0.3.0.1-alpha-dev
655ffeadd53833d9)
[...]
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/21054#comment:5>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list