Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Trac
Trac
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Create a new issue
  • Issue Boards

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.

  • Legacy
  • TracTrac
  • Issues
  • #24251

Closed
Open
Opened Nov 12, 2017 by Trac@tracbot

circuit_free only circuit number 0

Hi everybody

Tor 0.3.2.4-alpha (git-940308f493edd10f) running on FreeBSD with Libevent 2.1.8-stable, OpenSSL LibreSSL 2.5.4, Zlib 1.2.8, Liblzma 5.2.2, and Libzstd 1.3.2.

The following output can be observed:

Nov 12 09:51:20.000 [info] circuit_mark_for_close_: Circuit 0 (id: 0) marked for close at src/or/command.c:585 (orig reason: 512, new reason: 0)
Nov 12 09:51:20.000 [info] circuit_mark_for_close_: Circuit 287478585 (id: 0) marked for close at src/or/command.c:585 (orig reason: 512, new reason: 0)
Nov 12 09:51:20.000 [info] circuit_mark_for_close_: Circuit 1674209475 (id: 0) marked for close at src/or/command.c:585 (orig reason: 512, new reason: 0)
Nov 12 09:51:20.000 [info] circuit_mark_for_close_: Circuit 1882566763 (id: 0) marked for close at src/or/command.c:585 (orig reason: 512, new reason: 0)
Nov 12 09:51:20.000 [info] circuit_mark_for_close_: Circuit 361115214 (id: 0) marked for close at src/or/command.c:585 (orig reason: 512, new reason: 0)
Nov 12 09:51:20.000 [info] circuit_mark_for_close_: Circuit 1845079337 (id: 0) marked for close at src/or/command.c:585 (orig reason: 512, new reason: 0)
Nov 12 09:51:20.000 [info] circuit_mark_for_close_: Circuit 341507119 (id: 0) marked for close at src/or/command.c:585 (orig reason: 512, new reason: 0)
Nov 12 09:51:20.000 [info] circuit_mark_for_close_: Circuit 270872991 (id: 0) marked for close at src/or/command.c:585 (orig reason: 512, new reason: 0)
...
Nov 12 09:51:20.000 [info] circuit_free: Circuit 0 (id: 0) has been freed.
Nov 12 09:51:20.000 [info] circuit_free: Circuit 0 (id: 0) has been freed.
Nov 12 09:51:20.000 [info] circuit_free: Circuit 0 (id: 0) has been freed.
Nov 12 09:51:20.000 [info] circuit_free: Circuit 0 (id: 0) has been freed.
Nov 12 09:51:20.000 [info] circuit_free: Circuit 0 (id: 0) has been freed.
Nov 12 09:51:20.000 [info] circuit_free: Circuit 0 (id: 0) has been freed.
Nov 12 09:51:20.000 [info] circuit_free: Circuit 0 (id: 0) has been freed.
Nov 12 09:51:20.000 [info] circuit_free: Circuit 0 (id: 0) has been freed.
...

I look at a some minutes snap and count the _mark vs _free messages:

# cat torlog | grep "has been freed" | awk '{print $6}' | uniq -c
24144 Circuit
# cat torlog | grep "circuit_mark_for_close_" | awk '{print $6}' | uniq -c
24143 Circuit

It looks like each _mark has a corresponding _free (with a difference of one). But all _free reporting the same number n_circ_id. Especially this should be (IMHO) avoided by:

circuitlist.c
...
circuit_free(circuit_t *circ)
...
  /* We keep a copy of this so we can log its value before it gets unset. */
  n_circ_id = circ->n_circ_id;
...
  log_info(LD_CIRC, "Circuit %u (id: %" PRIu32 ") has been freed.",
           n_circ_id,
           CIRCUIT_IS_ORIGIN(circ) ?
              TO_ORIGIN_CIRCUIT(circ)->global_identifier : 0);

Well, the circuits are not effectively freed ? Am I missing something ?

Cheers!

Trac:
Username: Felixix

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