[tor-bugs] #33211 [Circumvention/Snowflake]: proxy-go sometimes gets into a 100+% CPU state

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Feb 19 22:52:07 UTC 2020


#33211: proxy-go sometimes gets into a 100+% CPU state
-------------------------------------+-----------------------------------
 Reporter:  dcf                      |          Owner:  (none)
     Type:  defect                   |         Status:  needs_information
 Priority:  Medium                   |      Milestone:
Component:  Circumvention/Snowflake  |        Version:
 Severity:  Normal                   |     Resolution:
 Keywords:                           |  Actual Points:
Parent ID:                           |         Points:
 Reviewer:                           |        Sponsor:
-------------------------------------+-----------------------------------

Comment (by dcf):

 Replying to [comment:5 cohosh]:
 > The first thing that struck me was how much more expensive log messages
 are now that we're using safelog to perform regexes.

 I noticed this too, that in normal operation the CPU use of proxy-go is
 dominated by safelog.

 My feeling is that the occasional anomalous high CPU usage is something
 else. I'll not that I think I have seen the same symptom in snowflake-
 client as well. I neglected to write it down, but I made it happen in the
 past few weeks running the command-line client. I think that was with a
 non–Turbo Tunnel client. I also had it happen again today, with the quic
 snowflake client from #33336. I left the browser idle for about a half an
 hour, and when I came back the fans were spinning and it was using
 160–180% CPU. But just as I started to investigate, it resolved itself
 spontaneously and returned to normal levels. I hadn't one of the programs
 escape from that state before.

 > The proxy-go instances are logging the byte count of every outgoing and
 incoming messaage [https://gitweb.torproject.org/pluggable-
 transports/snowflake.git/tree/proxy-go/snowflake.go#n94 here] and
 [https://gitweb.torproject.org/pluggable-transports/snowflake.git/tree
 /proxy-go/snowflake.go#n323 here]. Removing those shows that the remaining
 CPU time is spent in the pion library:

 Agree that logging every message is excessive.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/33211#comment:7>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list