[tor-bugs] #21312 [Obfuscation/Snowflake]: snowflake-client is pegged at 100% cpu

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Jan 26 01:52:58 UTC 2017


#21312: snowflake-client is pegged at 100% cpu
-----------------------------------+---------------------
 Reporter:  arlolra                |          Owner:
     Type:  defect                 |         Status:  new
 Priority:  Medium                 |      Milestone:
Component:  Obfuscation/Snowflake  |        Version:
 Severity:  Normal                 |     Resolution:
 Keywords:                         |  Actual Points:
Parent ID:                         |         Points:
 Reviewer:                         |        Sponsor:
-----------------------------------+---------------------
Changes (by yawning):

 * cc: yawning (added)


Comment:

 To clarify, cgo calls are dispatched in their own OS thread, and the
 massive VM use is more than likely multi-megabyte stacks being allocated
 per thread.  Go's lightweight concurrency does not apply with cgo in the
 picture, especially if "blocking in cgo calls" is part of the equation.
 `GOMAXPROCS` will not save you because the parameter does not apply to cgo
 calls.

 The easy way to confirm that this is what is happening is probably to set
 `GODEBUG` to something appropriate and look at debug spew on stderr
 (https://golang.org/pkg/runtime/ probably want `scheddetail` and
 `schedtrace`).

 Instrumenting the code to utilize `runtime/pprof`'s `threadcreate` profile
 will be able to give stack traces at thread creation time, if that's
 useful.

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


More information about the tor-bugs mailing list