Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #21054

Closed (moved)
(moved)
Open
Created Dec 21, 2016 by David Goulet@dgoulet🆘

hs: BUG() is triggered with ephemeral service on config reload

Ticket #20853 (moved) introduced the issue with commit 63d3ba96f973735ded16e78bd0b8406b6fcdec35 (tor-0.3.0.1-alpha) with:

+        if (BUG(rend_service_is_ephemeral(new)) ||
+            BUG(rend_service_is_ephemeral(old))) {
+          continue;

The new service list does not ONLY contains ephemeral service so if you have one regular service and then you add an ephemeral one, a config reload will trigger BUG(rend_service_is_ephemeral(new) because that new object is from the global list containing all types of service.

Furthermore, this whole loop that is suppose to copy the intro points from the current service to the newly configured one is broken with that commit.

I'm working on a refactoring to first fix this bug then extract this large loop into a function and improve few things along the way with unit tests. It is also an important piece of work for #20657 (moved) (prop224 service) because we'll need it for the v3 service list.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking