Skip to content
Snippets Groups Projects
Closed (moved) kist: Channel in waiting_to_write goes missing until a destroy cell
  • View options
  • kist: Channel in waiting_to_write goes missing until a destroy cell

    • View options
  • Closed (moved) created by David Goulet

    Here is the gist with some logs I added to tor:

    Sep 28 20:03:09.472 [info] kist_scheduler_run(): Case 4: channel 471. Out queue len: 0, in queue len: 0, cmux queue len: 15. Is there more to flush: yes. Channel state 'open' (sched: 3)
    Sep 28 20:03:09.472 [info] channel_write_cell_queue_entry(): Channel 471 cell sent. cmux queue len: 15
    Sep 28 20:03:09.483 [info] kist_scheduler_run(): Case 3: channel 471. Out queue len: 0, in queue len: 0, cmux queue len: 14. Is there more to flush: yes. Channel state 'open' (sched: 2)
    Sep 28 20:03:09.484 [info] channel_write_to_kernel(): Writing 0 bytes to kernel for chan 471
    [...]
    Sep 28 20:04:13.738 [info] circuitmux_append_destroy_cell(): Destroy cell on channel 471
    Sep 28 20:04:13.738 [info] channel_write_cell_queue_entry(): Channel 471 cell sent. cmux queue len: 0

    Notice the 60+ seconds gap from the channel going to SCHED_CHAN_WAITING_TO_WRITE (sched: 2) and then nothing until a destroy cell happens. Then suddenly at that point, no more cells in the cmux queue nor any calls to the flush function.

    So questions are:

    1. Why the channel in waiting_to_write never got scheduled again?

    2. Where are those cells from the cmux queue? Is something else in tor moving those to the outbuf?

    Attributes

    Activity

    • All activity
    • Comments only
    • History only
    • Newest first
    • Oldest first