[tor-bugs] #25688 [Obfuscation/Snowflake]: proxy-go is still deadlocking occasionally

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Jul 31 21:36:30 UTC 2018


#25688: proxy-go is still deadlocking occasionally
-----------------------------------+------------------------
 Reporter:  dcf                    |          Owner:  (none)
     Type:  defect                 |         Status:  new
 Priority:  Low                    |      Milestone:
Component:  Obfuscation/Snowflake  |        Version:
 Severity:  Normal                 |     Resolution:
 Keywords:                         |  Actual Points:
Parent ID:                         |         Points:
 Reviewer:                         |        Sponsor:
-----------------------------------+------------------------

Comment (by arlolra):

 > Is there some strace or ptrace or gdb equivalent for go, that lets you
 figure out *where* it's deadlocking? :)

 {{{
 (gdb) info threads
  Id   Target Id         Frame
  1    Thread 0x7fef23e90740 (LWP 10511) "proxy-go" runtime.epollwait () at
 /usr/lib/go-1.7/src/runtime/sys_linux_amd64.s:525
  2    Thread 0x7fef21e8e700 (LWP 10512) "proxy-go" runtime.futex () at
 /usr/lib/go-1.7/src/runtime/sys_linux_amd64.s:388
  3    Thread 0x7fef2168d700 (LWP 10513) "proxy-go" runtime.futex () at
 /usr/lib/go-1.7/src/runtime/sys_linux_amd64.s:388
  4    Thread 0x7fef20e8c700 (LWP 10514) "proxy-go" runtime.futex () at
 /usr/lib/go-1.7/src/runtime/sys_linux_amd64.s:388
  5    Thread 0x7fef1bfff700 (LWP 10515) "proxy-go"
 pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  6    Thread 0x7fef1b7fe700 (LWP 10516) "proxy-go" runtime.futex () at
 /usr/lib/go-1.7/src/runtime/sys_linux_amd64.s:388
  7    Thread 0x7fef1affd700 (LWP 13632) "CGO Signalling"
 0x00007fef227b83c3 in select () at ../sysdeps/unix/syscall-template.S:84
  8    Thread 0x7fef1a7fc700 (LWP 13633) "CGO Worker" 0x00007fef227b83c3 in
 select () at ../sysdeps/unix/syscall-template.S:84
  9    Thread 0x7fef2052b700 (LWP 13634) "VoiceProcessThr"
 pthread_cond_timedwait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  10   Thread 0x7fef2042a700 (LWP 13635) "RtcEventLog thr"
 pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  11   Thread 0x7fef197fa700 (LWP 14054) "CGO Signalling"
 0x00007fef227b83c3 in select () at ../sysdeps/unix/syscall-template.S:84
  12   Thread 0x7fef19ffb700 (LWP 14055) "CGO Worker" 0x00007fef227b83c3 in
 select () at ../sysdeps/unix/syscall-template.S:84
  13   Thread 0x7fef20117700 (LWP 14056) "VoiceProcessThr"
 pthread_cond_timedwait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  14   Thread 0x7fef18bdc700 (LWP 14057) "RtcEventLog thr"
 pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  15   Thread 0x7feefbfff700 (LWP 14061) "SCTP timer" 0x00007fff62becdb8 in
 gettimeofday ()
  16   Thread 0x7feefb7fe700 (LWP 14112) "CGO Signalling"
 0x00007fef227b83c3 in select () at ../sysdeps/unix/syscall-template.S:84
  17   Thread 0x7feefaffd700 (LWP 14113) "CGO Worker" 0x00007fef227b83c3 in
 select () at ../sysdeps/unix/syscall-template.S:84
  18   Thread 0x7fef182da700 (LWP 14114) "VoiceProcessThr"
 pthread_cond_timedwait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  19   Thread 0x7fef181d9700 (LWP 14115) "RtcEventLog thr"
 pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  20   Thread 0x7feef9ffb700 (LWP 14156) "CGO Signalling"
 0x00007fef227b83c3 in select () at ../sysdeps/unix/syscall-template.S:84
  21   Thread 0x7feefa7fc700 (LWP 14157) "CGO Worker" 0x00007fef227b83c3 in
 select () at ../sysdeps/unix/syscall-template.S:84
  22   Thread 0x7feef97fa700 (LWP 14158) "VoiceProcessThr"
 pthread_cond_timedwait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  23   Thread 0x7feef96f9700 (LWP 14159) "RtcEventLog thr"
 pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  24   Thread 0x7feef95f8700 (LWP 14167) "CGO Signalling" runtime.futex ()
 at /usr/lib/go-1.7/src/runtime/sys_linux_amd64.s:388
  25   Thread 0x7feef8df7700 (LWP 14168) "CGO Worker" 0x00007fef227b83c3 in
 select () at ../sysdeps/unix/syscall-template.S:84
  26   Thread 0x7feef85f6700 (LWP 14169) "VoiceProcessThr"
 pthread_cond_timedwait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  27   Thread 0x7feef84f5700 (LWP 14170) "RtcEventLog thr"
 pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  28   Thread 0x7feede7fc700 (LWP 14250) "proxy-go" runtime.futex () at
 /usr/lib/go-1.7/src/runtime/sys_linux_amd64.s:388
  29   Thread 0x7feedeffd700 (LWP 14251) "proxy-go" runtime.futex () at
 /usr/lib/go-1.7/src/runtime/sys_linux_amd64.s:388
  30   Thread 0x7feedffff700 (LWP 14287) "CGO Signalling"
 0x00007fef227b83c3 in select () at ../sysdeps/unix/syscall-template.S:84
  31   Thread 0x7feedf7fe700 (LWP 14288) "CGO Worker" 0x00007fef227b83c3 in
 select () at ../sysdeps/unix/syscall-template.S:84
  32   Thread 0x7feef83f4700 (LWP 14289) "VoiceProcessThr"
 pthread_cond_timedwait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  33   Thread 0x7feef82f3700 (LWP 14290) "RtcEventLog thr"
 pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  34   Thread 0x7feedd7fa700 (LWP 14293) "CGO Signalling"
 0x00007fef227b83c3 in select () at ../sysdeps/unix/syscall-template.S:84
  35   Thread 0x7feeddffb700 (LWP 14294) "CGO Worker" 0x00007fef227b83c3 in
 select () at ../sysdeps/unix/syscall-template.S:84
  36   Thread 0x7feef81f2700 (LWP 14295) "VoiceProcessThr"
 pthread_cond_timedwait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  37   Thread 0x7feedcff9700 (LWP 14296) "RtcEventLog thr"
 pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  38   Thread 0x7feed77fe700 (LWP 14506) "CGO Signalling"
 0x00007fef227b83c3 in select () at ../sysdeps/unix/syscall-template.S:84
  39   Thread 0x7feed6ffd700 (LWP 14507) "CGO Worker" 0x00007fef227b83c3 in
 select () at ../sysdeps/unix/syscall-template.S:84
  40   Thread 0x7feedc4f5700 (LWP 14508) "VoiceProcessThr"
 pthread_cond_timedwait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  41   Thread 0x7feedc3f4700 (LWP 14509) "RtcEventLog thr"
 pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  42   Thread 0x7feed7fff700 (LWP 14923) "CGO Signalling"
 0x00007fef227b83c3 in select () at ../sysdeps/unix/syscall-template.S:84
  43   Thread 0x7feedcef8700 (LWP 14924) "CGO Worker" 0x00007fef227b83c3 in
 select () at ../sysdeps/unix/syscall-template.S:84
  44   Thread 0x7feedc6f7700 (LWP 14925) "VoiceProcessThr"
 pthread_cond_timedwait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  45   Thread 0x7feedc5f6700 (LWP 14926) "RtcEventLog thr"
 pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  46   Thread 0x7feed5ffb700 (LWP 15038) "CGO Signalling"
 0x00007fef227b83c3 in select () at ../sysdeps/unix/syscall-template.S:84
  47   Thread 0x7feed67fc700 (LWP 15039) "CGO Worker" 0x00007fef227b83c3 in
 select () at ../sysdeps/unix/syscall-template.S:84
  48   Thread 0x7feedc2f3700 (LWP 15040) "VoiceProcessThr"
 pthread_cond_timedwait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
  49   Thread 0x7feedc1f2700 (LWP 15041) "RtcEventLog thr"
 pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185


 (gdb) thread 5
 [Switching to thread 5 (Thread 0x7fef1bfff700 (LWP 10515))]
 #0  pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
 185     ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: No such
 file or directory.
 (gdb) bt
 #0  pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
 #1  0x000055a388bd59cb in rtc::Event::Wait(int) ()
 #2  0x000055a388cea279 in
 webrtc::DataChannelProxyWithInternal<webrtc::DataChannelInterface>::Send(webrtc::DataBuffer
 const&) ()
 #3  0x000055a388bc7e88 in CGO_Channel_Send (channel=0x7feee401a060,
 data=0xc420116000, size=<optimized out>, binary=<optimized out>) at
 /home/[scrub]/go/src/github.com/keroserene/go-webrtc/datachannel.cc:19
 #4  0x000055a388a10c70 in runtime.asmcgocall () at
 /usr/lib/go-1.7/src/runtime/asm_amd64.s:590
 #5  0x000000c4204d9c20 in ?? ()
 #6  0x000055a3889bb54d in runtime.cgocall (fn=0x0, arg=0xc4200bb1e0,
 ~r2=469757624) at /usr/lib/go-1.7/src/runtime/cgocall.go:115
 #7  0x000000c420013500 in ?? ()
 #8  0x0000000000000000 in ?? ()


 (gdb) thread 17
 [Switching to thread 17 (Thread 0x7feefaffd700 (LWP 14113))]
 #0  0x00007fef227b83c3 in select () at ../sysdeps/unix/syscall-
 template.S:84
 84      in ../sysdeps/unix/syscall-template.S
 (gdb) bt
 #0  0x00007fef227b83c3 in select () at ../sysdeps/unix/syscall-
 template.S:84
 #1  0x000055a388c21e08 in rtc::PhysicalSocketServer::Wait(int, bool) ()
 #2  0x000055a388bd4371 in rtc::MessageQueue::Get(rtc::Message*, int, bool)
 ()
 #3  0x000055a388bd2a32 in rtc::Thread::Run() ()
 #4  0x000055a388bd2743 in rtc::Thread::PreRun(void*) ()
 #5  0x00007fef2331a494 in start_thread (arg=0x7feefaffd700) at
 pthread_create.c:333
 #6  0x00007fef227bfacf in clone () at
 ../sysdeps/unix/sysv/linux/x86_64/clone.S:97


 (gdb) thread 45
 [Switching to thread 45 (Thread 0x7feedc5f6700 (LWP 14926))]
 #0  pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
 185     ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: No such
 file or directory.
 (gdb) bt
 #0  pthread_cond_wait@@GLIBC_2.3.2 () at
 ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
 #1  0x000055a388bd59cb in rtc::Event::Wait(int) ()
 #2  0x000055a38900630f in webrtc::RtcEventLogHelperThread::ProcessEvents()
 ()
 #3  0x000055a388bd783f in rtc::PlatformThread::Run() ()
 #4  0x000055a388bd7746 in rtc::PlatformThread::StartThread(void*) ()
 #5  0x00007fef2331a494 in start_thread (arg=0x7feedc5f6700) at
 pthread_create.c:333
 #6  0x00007fef227bfacf in clone () at
 ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
 }}}

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


More information about the tor-bugs mailing list