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

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Mar 15 02:49:53 UTC 2018


#21312: snowflake-client is pegged at 100% cpu
-----------------------------------+------------------------------
 Reporter:  arlolra                |          Owner:  arlolra
     Type:  defect                 |         Status:  needs_review
 Priority:  High                   |      Milestone:
Component:  Obfuscation/Snowflake  |        Version:
 Severity:  Major                  |     Resolution:
 Keywords:                         |  Actual Points:
Parent ID:                         |         Points:
 Reviewer:                         |        Sponsor:
-----------------------------------+------------------------------

Comment (by dcf):

 Replying to [comment:39 dcf]:
 > I'll try connecting a debugger to one of the frequently restarting
 instances and see if there's anything obvious.

 It didn't take long to get a crash in the debugger. It's not a segfault;
 it's a runtime abort inside `CGO_DestroyPeer`. (Perhaps "Pure virtual
 method called"? I'm not sure.)

 {{{
 (gdb) c
 Continuing.
 [New Thread 0x7f4d6cfc9700 (LWP 16471)]
 [Thread 0x7f4d6d0ca700 (LWP 16457) exited]

 Thread 3 "proxy-go" received signal SIGABRT, Aborted.
 [Switching to Thread 0x7f4d76337700 (LWP 16396)]
 __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
 51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
 (gdb) bt
 #0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
 #1  0x00007f4d773b53fa in __GI_abort () at abort.c:89
 #2  0x00007f4d77ccc0ad in __gnu_cxx::__verbose_terminate_handler() () from
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
 #3  0x00007f4d77cca066 in ?? () from /usr/lib/x86_64-linux-
 gnu/libstdc++.so.6
 #4  0x00007f4d77cca0b1 in std::terminate() () from /usr/lib/x86_64-linux-
 gnu/libstdc++.so.6
 #5  0x00007f4d77ccab8f in __cxa_pure_virtual () from /usr/lib/x86_64
 -linux-gnu/libstdc++.so.6
 #6  0x0000561ddf051957 in rtc::scoped_refptr<Peer>::scoped_refptr (r=...,
 this=<optimized out>)
     at ./include/webrtc/base/scoped_ref_ptr.h:82
 #7
 __gnu_cxx::__ops::_Iter_pred<CGO_DestroyPeer(CGO_Peer)::<lambda(rtc::scoped_refptr<Peer>)>
 >::operator()<__gnu_cxx::__normal_iterator<rtc::scoped_refptr<Peer>*,
 std::vector<rtc::scoped_refptr<Peer> > > > (__it=...,
     this=<synthetic pointer>) at
 /usr/include/c++/6/bits/predefined_ops.h:241
 #8  std::__find_if<__gnu_cxx::__normal_iterator<rtc::scoped_refptr<Peer>*,
 std::vector<rtc::scoped_refptr<Peer> > >,
 __gnu_cxx::__ops::_Iter_pred<CGO_DestroyPeer(CGO_Peer)::<lambda(rtc::scoped_refptr<Peer>)>
 > > (__pred=..., __last=
   {ptr_ = 0xffffffff}, __first={ptr_ = 0x7f4d580008c0}) at
 /usr/include/c++/6/bits/stl_algo.h:148
 #9  std::__find_if<__gnu_cxx::__normal_iterator<rtc::scoped_refptr<Peer>*,
 std::vector<rtc::scoped_refptr<Peer> > >,
 __gnu_cxx::__ops::_Iter_pred<CGO_DestroyPeer(CGO_Peer)::<lambda(rtc::scoped_refptr<Peer>)>
 > > (__pred=..., __last=...,
     __first=...) at /usr/include/c++/6/bits/stl_algo.h:162
 #10
 std::__remove_if<__gnu_cxx::__normal_iterator<rtc::scoped_refptr<Peer>*,
 std::vector<rtc::scoped_refptr<Peer> > >,
 __gnu_cxx::__ops::_Iter_pred<CGO_DestroyPeer(CGO_Peer)::<lambda(rtc::scoped_refptr<Peer>)>
 > > (__pred=..., __last=
   {ptr_ = 0xffffffff}, __first=...) at
 /usr/include/c++/6/bits/stl_algo.h:860
 #11 std::remove_if<__gnu_cxx::__normal_iterator<rtc::scoped_refptr<Peer>*,
 std::vector<rtc::scoped_refptr<Peer> > >,
 CGO_DestroyPeer(CGO_Peer)::<lambda(rtc::scoped_refptr<Peer>)> >
 (__pred=..., __last=..., __first=...)
     at /usr/include/c++/6/bits/stl_algo.h:937
 #12 CGO_DestroyPeer (cgoPeer=0x7f4d580008c0)
     at /home/david/go/src/github.com/keroserene/go-
 webrtc/peerconnection.cc:249
 #13 0x0000561ddee9a350 in runtime.asmcgocall () at
 /usr/lib/go-1.7/src/runtime/asm_amd64.s:590
 #14 0x000000c420117de0 in ?? ()
 #15 0x0000561ddee44dcd in runtime.cgocall (fn=0x0, arg=0xc420000ea0,
 ~r2=1983082168)
     at /usr/lib/go-1.7/src/runtime/cgocall.go:115
 #16 0x000000c420013500 in ?? ()
 #17 0x0000000000000000 in ?? ()
 }}}

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


More information about the tor-bugs mailing list