Skip to content

Large number of XOFFs sent while downloading file over SOCKS

Just wanted to document this before I forget.

When downloading a file over tor's SOCKS port, I see a lot of XOFFs being sent. I don't think that it's expected that we'd see so many XOFF messages given that we're downloading with curl and writing to /dev/null.

tor -Log "[edge]debug notice file /tmp/tor.log" -LogTimeGranularity 1
curl -x socks5h://localhost:9050 https://ash-speed.hetzner.com/100MB.bin > /dev/null
$ grep XOFF /tmp/tor.log
Sep 22 17:17:03.914 [info] flow_control_decide_xoff(): Sending XOFF: 249020 249000
Sep 22 17:17:04.262 [info] flow_control_decide_xoff(): Sending XOFF: 249020 249000
Sep 22 17:17:04.713 [info] flow_control_decide_xoff(): Sending XOFF: 249498 249000
Sep 22 17:17:05.062 [info] flow_control_decide_xoff(): Sending XOFF: 249498 249000
Sep 22 17:17:05.154 [info] flow_control_decide_xoff(): Sending XOFF: 249478 249000
Sep 22 17:17:05.205 [info] flow_control_decide_xoff(): Sending XOFF: 249498 249000
Sep 22 17:17:05.228 [info] flow_control_decide_xoff(): Sending XOFF: 249498 249000
Sep 22 17:17:05.435 [info] flow_control_decide_xoff(): Sending XOFF: 249498 249000
Sep 22 17:17:05.513 [info] flow_control_decide_xoff(): Sending XOFF: 249498 249000
Sep 22 17:17:06.370 [info] flow_control_decide_xoff(): Sending XOFF: 249498 249000
Sep 22 17:17:06.527 [info] flow_control_decide_xoff(): Sending XOFF: 249498 249000
Sep 22 17:17:10.977 [info] flow_control_decide_xoff(): Sending XOFF: 249498 249000
Sep 22 17:17:12.725 [info] flow_control_decide_xoff(): Sending XOFF: 249498 249000
Sep 22 17:17:14.697 [info] flow_control_decide_xoff(): Sending XOFF: 249498 249000
Sep 22 17:17:15.332 [info] flow_control_decide_xoff(): Sending XOFF: 249498 249000
Sep 22 17:17:21.131 [info] flow_control_decide_xoff(): Sending XOFF: 249316 249000
Sep 22 17:17:27.099 [info] flow_control_decide_xoff(): Sending XOFF: 249286 249000
Sep 22 17:17:37.498 [info] flow_control_decide_xoff(): Sending XOFF: 249056 249000
Sep 22 17:17:39.231 [info] flow_control_decide_xoff(): Sending XOFF: 249148 249000
Sep 22 17:17:39.888 [info] flow_control_decide_xoff(): Sending XOFF: 249132 249000
Sep 22 17:17:41.979 [info] flow_control_decide_xoff(): Sending XOFF: 249118 249000
Sep 22 17:17:42.124 [info] flow_control_decide_xoff(): Sending XOFF: 249118 249000
Sep 22 17:17:46.279 [info] flow_control_decide_xoff(): Sending XOFF: 249148 249000
Sep 22 17:17:47.672 [info] flow_control_decide_xoff(): Sending XOFF: 249370 249000
Sep 22 17:17:52.737 [info] flow_control_decide_xoff(): Sending XOFF: 249416 249000
Sep 22 17:18:02.352 [info] flow_control_decide_xoff(): Sending XOFF: 249010 249000
Sep 22 17:18:04.989 [info] flow_control_decide_xoff(): Sending XOFF: 249056 249000
$ tor --version
Tor version 0.4.8.17.
This build of Tor is covered by the GNU General Public License (https://www.gnu.org/licenses/gpl-3.0.en.html)
Tor is running on Linux with Libevent 2.1.12-stable, OpenSSL 3.2.4, Zlib 1.3.1.zlib-ng, Liblzma 5.8.1, Libzstd 1.5.7 and Glibc 2.41 as libc.
Tor compiled with GCC version 15.1.1
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information