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
  • #23676

Closed (moved)
Open
Opened Sep 27, 2017 by Roger Dingledine@arma

kist on 0.3.2.1-alpha-dev beats its head against a wall trying to flush a conn that's closed

moria1 running "0.3.2.1-alpha-dev (git-a1f31c0671c82f95)" last wrote to its info-level log this morning at 05:15:

Sep 27 05:15:09.482 [info] connection_close_immediate(): fd 334, type OR, state open, 146672 bytes on outbuf.

That was 9 hours ago.

The process is still alive, and it's using 100% cpu.

I did a gdb attach, and it looks like it is doing...stuff. Here are three snapshots:

#0  channel_flush_some_cells (chan=0x7f2e04c84c80, num_cells=1)
    at src/or/channel.c:2355
#1  0x00007f2df60bd915 in kist_scheduler_run () at src/or/scheduler_kist.c:589
#2  0x00007f2df60bb7e2 in scheduler_evt_callback (fd=<value optimized out>,·
    events=<value optimized out>, arg=<value optimized out>)
    at src/or/scheduler.c:215
#3  0x00007f2df6201040 in event_process_active_single_queue ()
#4  0x00007f2df6201610 in event_process_active ()
#5  0x00007f2df6201d74 in event_base_loop ()
#6  0x00007f2df60530dd in run_main_loop_once () at src/or/main.c:2631
#7  run_main_loop_until_done () at src/or/main.c:2685
#8  do_main_loop () at src/or/main.c:2598
#9  0x00007f2df605421d in tor_main (argc=<value optimized out>,·
    argv=<value optimized out>) at src/or/main.c:3780
#10 0x00007f2df604fd99 in main (argc=<value optimized out>,·
    argv=<value optimized out>) at src/or/tor_main.c:34
#0  channel_more_to_flush (chan=0x7f2e04c84c80) at src/or/channel.c:2609
#1  0x00007f2df60bd868 in kist_scheduler_run () at src/or/scheduler_kist.c:600
#2  0x00007f2df60bb7e2 in scheduler_evt_callback (fd=<value optimized out>,·
    events=<value optimized out>, arg=<value optimized out>)
    at src/or/scheduler.c:215
#3  0x00007f2df6201040 in event_process_active_single_queue ()
#4  0x00007f2df6201610 in event_process_active ()
#5  0x00007f2df6201d74 in event_base_loop ()
#6  0x00007f2df60530dd in run_main_loop_once () at src/or/main.c:2631
#7  run_main_loop_until_done () at src/or/main.c:2685
#8  do_main_loop () at src/or/main.c:2598
#9  0x00007f2df605421d in tor_main (argc=<value optimized out>,·
    argv=<value optimized out>) at src/or/main.c:3780
#10 0x00007f2df604fd99 in main (argc=<value optimized out>,·
    argv=<value optimized out>) at src/or/tor_main.c:34
#0  0x00007f2df60bd42e in socket_table_s_HT_FIND_P_ (
    chan=<value optimized out>, table=0x7f2df64f0ee0)
    at src/or/scheduler_kist.c:50
#1  socket_table_s_HT_FIND (chan=<value optimized out>, table=0x7f2df64f0ee0)
    at src/or/scheduler_kist.c:51
#2  socket_table_search (chan=<value optimized out>, table=0x7f2df64f0ee0)
    at src/or/scheduler_kist.c:168
#3  0x00007f2df60bd4a9 in socket_can_write (chan=<value optimized out>,
    table=0x7f2df64f0ee0) at src/or/scheduler_kist.c:372
#4  0x00007f2df60bd968 in kist_scheduler_run () at src/or/scheduler_kist.c:630
#5  0x00007f2df60bb7e2 in scheduler_evt_callback (fd=<value optimized out>,
    events=<value optimized out>, arg=<value optimized out>)
    at src/or/scheduler.c:215
#6  0x00007f2df6201040 in event_process_active_single_queue ()
#7  0x00007f2df6201610 in event_process_active ()
#8  0x00007f2df6201d74 in event_base_loop ()
#9  0x00007f2df60530dd in run_main_loop_once () at src/or/main.c:2631
#10 run_main_loop_until_done () at src/or/main.c:2685
#11 do_main_loop () at src/or/main.c:2598
#12 0x00007f2df605421d in tor_main (argc=<value optimized out>,
    argv=<value optimized out>) at src/or/main.c:3780
#13 0x00007f2df604fd99 in main (argc=<value optimized out>,
    argv=<value optimized out>) at src/or/tor_main.c:34

David suggested that I try strace -f -p PID -o /tmp/strace.log, and I ran it for 30 seconds or so, and it produced this file:

13376 futex(0x7f2dff2de65c, FUTEX_WAIT_PRIVATE, 755787, NULL <unfinished ...>
13375 futex(0x7f2dff2de65c, FUTEX_WAIT_PRIVATE, 755787, NULL <unfinished ...>
13374 futex(0x7f2dff2de65c, FUTEX_WAIT_PRIVATE, 755787, NULL <unfinished ...>
13373 futex(0x7f2dff2de65c, FUTEX_WAIT_PRIVATE, 755787, NULL <unfinished ...>
13372 futex(0x7f2dff2de65c, FUTEX_WAIT_PRIVATE, 755787, NULL <unfinished ...>
13371 futex(0x7f2dff2de65c, FUTEX_WAIT_PRIVATE, 755787, NULL <unfinished ...>
13370 futex(0x7f2dff2de65c, FUTEX_WAIT_PRIVATE, 755787, NULL <unfinished ...>
13369 futex(0x7f2dff2de65c, FUTEX_WAIT_PRIVATE, 755787, NULL <unfinished ...>
13368 futex(0x7f2dff2de65c, FUTEX_WAIT_PRIVATE, 755787, NULL <detached ...>
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
Tor: 0.3.2.x-final
Milestone
Tor: 0.3.2.x-final
Assign milestone
Time tracking
None
Due date
None
Reference: legacy/trac#23676