[tor-bugs] #30235 [Core Tor/Stem]: Stem hangs waiting for control port data

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Jun 14 10:01:23 UTC 2019


#30235: Stem hangs waiting for control port data
-----------------------------------+-------------------------------
 Reporter:  teor                   |          Owner:  (none)
     Type:  defect                 |         Status:  new
 Priority:  Medium                 |      Milestone:
Component:  Core Tor/Stem          |        Version:
 Severity:  Normal                 |     Resolution:
 Keywords:  tor-ci-fail-sometimes  |  Actual Points:  0.5
Parent ID:  #29437                 |         Points:  1
 Reviewer:                         |        Sponsor:  Sponsor31-can
-----------------------------------+-------------------------------
Changes (by teor):

 * status:  needs_information => new


Comment:

 Hmm, it seems that something goes wrong a few lines in, where stem says:
 {{{
 06/14/2019 03:10:42 [TRACE] Sent to tor: GETINFO version
 }}}

 But it never gets a response back from tor.

 Here's the latest output:
 {{{
 06/14/2019 03:10:42 [TRACE] Sent to tor: GETINFO version
 06/14/2019 03:10:42 [TRACE] Received from tor: 250-version=0.4.2.0-alpha-
 dev (git-aadad2c643a34ea5)\n250 OK
 06/14/2019 03:10:42 [TRACE] Sent to tor: GETINFO blarg
 06/14/2019 03:10:42 [TRACE] Received from tor: 552 Unrecognized key
 "blarg"
 06/14/2019 03:10:42 [TRACE] Sent to tor: blarg
 06/14/2019 03:10:42 [TRACE] Received from tor: 510 Unrecognized command
 "blarg"
 06/14/2019 03:10:42 [TRACE] Sent to tor: GETINFO version
 06/14/2019 03:10:42 [TRACE] Received from tor: 650 STATUS_SERVER NOTICE
 EXTERNAL_ADDRESS ADDRESS=35.188.1.99 METHOD=DIRSERV
 06/14/2019 03:10:42 [TRACE] Received from tor: 650 STATUS_SERVER NOTICE
 EXTERNAL_ADDRESS ADDRESS=35.224.112.202 METHOD=DIRSERV
 06/14/2019 03:10:42 [TRACE] Received from tor: 650 STATUS_SERVER NOTICE
 EXTERNAL_ADDRESS ADDRESS=35.192.85.2 METHOD=DIRSERV
 06/14/2019 03:10:42 [TRACE] Sent to tor: Blarg!
 06/14/2019 03:10:42 [TRACE] Received from tor: 650 STATUS_SERVER NOTICE
 EXTERNAL_ADDRESS ADDRESS=35.184.226.236 METHOD=DIRSERV
 06/14/2019 03:10:42 [TRACE] Received from tor: 650 STATUS_SERVER NOTICE
 EXTERNAL_ADDRESS ADDRESS=104.154.120.187 METHOD=DIRSERV
 ...
 6/14/2019 03:10:46 [TRACE] Received from tor: 650 STATUS_SERVER NOTICE
 EXTERNAL_ADDRESS ADDRESS=35.193.7.13 METHOD=DIRSERV
 06/14/2019 03:10:46 [TRACE] Received from tor: 650 STATUS_SERVER NOTICE
 EXTERNAL_ADDRESS ADDRESS=35.184.96.71 METHOD=DIRSERV
 06/14/2019 03:10:46 [TRACE] Received from tor: 514 Authentication
 required.
 06/14/2019 03:10:46 [TRACE] Sent to tor: blarg
 timelimit: sending warning signal 10
 ================================================================================
 Signal SIGUSR1 received by thread MainThread in process 20776
 --------------------------------------------------------------------------------
 Tor listener thread stacktrace
   File "/usr/lib/python3.4/threading.py", line 888, in _bootstrap
     self._bootstrap_inner()
   File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
     self.run()
   File "/usr/lib/python3.4/threading.py", line 868, in run
     self._target(*self._args, **self._kwargs)
   File "/home/travis/build/torproject/tor/stem/stem/control.py", line 946,
 in _reader_loop
     control_message = self._socket.recv()
   File "/home/travis/build/torproject/tor/stem/stem/socket.py", line 474,
 in recv
     return self._recv(lambda s, sf: recv_message(sf))
   File "/home/travis/build/torproject/tor/stem/stem/socket.py", line 274,
 in _recv
     return handler(my_socket, my_socket_file)
   File "/home/travis/build/torproject/tor/stem/stem/socket.py", line 474,
 in <lambda>
     return self._recv(lambda s, sf: recv_message(sf))
   File "/home/travis/build/torproject/tor/stem/stem/socket.py", line 676,
 in recv_message
     line = control_file.readline()
   File "/usr/lib/python3.4/socket.py", line 374, in readinto
     return self._sock.recv_into(b)
 --------------------------------------------------------------------------------
 Event notifier thread stacktrace
   File "/usr/lib/python3.4/threading.py", line 888, in _bootstrap
     self._bootstrap_inner()
   File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
     self.run()
   File "/usr/lib/python3.4/threading.py", line 868, in run
     self._target(*self._args, **self._kwargs)
   File "/home/travis/build/torproject/tor/stem/stem/control.py", line 991,
 in _event_loop
     self._event_notice.wait(0.05)
   File "/usr/lib/python3.4/threading.py", line 553, in wait
     signaled = self._cond.wait(timeout)
   File "/usr/lib/python3.4/threading.py", line 294, in wait
     gotit = waiter.acquire(True, timeout)
 --------------------------------------------------------------------------------
 MainThread thread stacktrace
   File "/home/travis/build/torproject/tor/stem/run_tests.py", line 479, in
 <module>
     main()
   File "/home/travis/build/torproject/tor/stem/run_tests.py", line 311, in
 main
     run_result = _run_test(args, test_class, output_filters)
   File "/home/travis/build/torproject/tor/stem/run_tests.py", line 457, in
 _run_test
     run_result = stem.util.test_tools.TimedTestRunner(test_results,
 verbosity = 2).run(suite)
   File "/home/travis/build/torproject/tor/stem/stem/util/test_tools.py",
 line 308, in run
     return super(TimedTestRunner, self).run(test)
   File "/usr/lib/python3.4/unittest/runner.py", line 168, in run
     test(result)
   File "/usr/lib/python3.4/unittest/suite.py", line 84, in __call__
     return self.run(*args, **kwds)
   File "/usr/lib/python3.4/unittest/suite.py", line 122, in run
     test(result)
   File "/usr/lib/python3.4/unittest/case.py", line 625, in __call__
     return self.run(*args, **kwds)
   File "/home/travis/build/torproject/tor/stem/stem/util/test_tools.py",
 line 258, in run
     result = super(type(self), self).run(result)
   File "/usr/lib/python3.4/unittest/case.py", line 577, in run
     testMethod()
   File "/home/travis/build/torproject/tor/stem/test/require.py", line 57,
 in wrapped
     return func(self, *args, **kwargs)
   File
 "/home/travis/build/torproject/tor/stem/test/integ/control/controller.py",
 line 732, in test_set_conf
     controller.set_conf('ExitPolicy', exit_policy)
   File "/home/travis/build/torproject/tor/stem/stem/control.py", line
 2471, in set_conf
     self.set_options({param: value}, False)
   File "/home/travis/build/torproject/tor/stem/stem/control.py", line
 2541, in set_options
     response = self.msg(query)
   File "/home/travis/build/torproject/tor/stem/stem/control.py", line 661,
 in msg
     response = self._reply_queue.get()
   File "/usr/lib/python3.4/queue.py", line 167, in get
     self.not_empty.wait()
   File "/usr/lib/python3.4/threading.py", line 290, in wait
     waiter.acquire()
   File "/home/travis/build/torproject/tor/stem/run_tests.py", line 92, in
 log_traceback
     for thread_name, stacktrace in
 test.output.thread_stacktraces().items():
   File "/home/travis/build/torproject/tor/stem/test/output.py", line 110,
 in thread_stacktraces
     stacktraces[thread.name] = ''.join(traceback.format_stack(frame))
 ================================================================================
 ================================================================================
 Signal SIGUSR1 received by thread MainThread in process 20813
 --------------------------------------------------------------------------------
 MainThread thread stacktrace
   File "/home/travis/build/torproject/tor/stem/run_tests.py", line 479, in
 <module>
     main()
   File "/home/travis/build/torproject/tor/stem/run_tests.py", line 285, in
 main
     test_classes[0].run_tests(async_args)
   File
 "/home/travis/build/torproject/tor/stem/test/integ/installation.py", line
 64, in run_tests
 stem.util.test_tools.ASYNC_TESTS['test.integ.installation.test_sdist'].run(test_install.pid())
   File "/home/travis/build/torproject/tor/stem/stem/util/test_tools.py",
 line 201, in run
     self._process.start()
   File "/usr/lib/python3.4/multiprocessing/process.py", line 105, in start
     self._popen = self._Popen(self)
   File "/usr/lib/python3.4/multiprocessing/context.py", line 212, in
 _Popen
     return _default_context.get_context().Process._Popen(process_obj)
   File "/usr/lib/python3.4/multiprocessing/context.py", line 267, in
 _Popen
     return Popen(process_obj)
   File "/usr/lib/python3.4/multiprocessing/popen_fork.py", line 21, in
 __init__
     self._launch(process_obj)
   File "/usr/lib/python3.4/multiprocessing/popen_fork.py", line 77, in
 _launch
     code = process_obj._bootstrap()
   File "/usr/lib/python3.4/multiprocessing/process.py", line 254, in
 _bootstrap
     self.run()
   File "/usr/lib/python3.4/multiprocessing/process.py", line 93, in run
     self._target(*self._args, **self._kwargs)
   File "/home/travis/build/torproject/tor/stem/stem/util/test_tools.py",
 line 169, in _wrapper
     runner(*args) if args else runner()
   File
 "/home/travis/build/torproject/tor/stem/test/integ/installation.py", line
 108, in test_sdist
     time.sleep(0.1)  # we need to run these tests serially
   File "/home/travis/build/torproject/tor/stem/run_tests.py", line 92, in
 log_traceback
     for thread_name, stacktrace in
 test.output.thread_stacktraces().items():
   File "/home/travis/build/torproject/tor/stem/test/output.py", line 110,
 in thread_stacktraces
     stacktraces[thread.name] = ''.join(traceback.format_stack(frame))
 ================================================================================
 timelimit: sending kill signal 6
 ================================================================================
 Signal SIGABRT received by thread MainThread in process 20776
 --------------------------------------------------------------------------------
 Tor listener thread stacktrace
   File "/usr/lib/python3.4/threading.py", line 888, in _bootstrap
     self._bootstrap_inner()
   File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
     self.run()
   File "/usr/lib/python3.4/threading.py", line 868, in run
     self._target(*self._args, **self._kwargs)
   File "/home/travis/build/torproject/tor/stem/stem/control.py", line 946,
 in _reader_loop
     control_message = self._socket.recv()
   File "/home/travis/build/torproject/tor/stem/stem/socket.py", line 474,
 in recv
     return self._recv(lambda s, sf: recv_message(sf))
   File "/home/travis/build/torproject/tor/stem/stem/socket.py", line 274,
 in _recv
     return handler(my_socket, my_socket_file)
   File "/home/travis/build/torproject/tor/stem/stem/socket.py", line 474,
 in <lambda>
     return self._recv(lambda s, sf: recv_message(sf))
   File "/home/travis/build/torproject/tor/stem/stem/socket.py", line 676,
 in recv_message
     line = control_file.readline()
   File "/usr/lib/python3.4/socket.py", line 374, in readinto
     return self._sock.recv_into(b)
 --------------------------------------------------------------------------------
 Event notifier thread stacktrace
   File "/usr/lib/python3.4/threading.py", line 888, in _bootstrap
     self._bootstrap_inner()
   File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner
     self.run()
   File "/usr/lib/python3.4/threading.py", line 868, in run
     self._target(*self._args, **self._kwargs)
   File "/home/travis/build/torproject/tor/stem/stem/control.py", line 991,
 in _event_loop
     self._event_notice.wait(0.05)
   File "/usr/lib/python3.4/threading.py", line 553, in wait
     signaled = self._cond.wait(timeout)
   File "/usr/lib/python3.4/threading.py", line 294, in wait
     gotit = waiter.acquire(True, timeout)
 --------------------------------------------------------------------------------
 MainThread thread stacktrace
   File "/home/travis/build/torproject/tor/stem/run_tests.py", line 479, in
 <module>
     main()
   File "/home/travis/build/torproject/tor/stem/run_tests.py", line 311, in
 main
     run_result = _run_test(args, test_class, output_filters)
   File "/home/travis/build/torproject/tor/stem/run_tests.py", line 457, in
 _run_test
     run_result = stem.util.test_tools.TimedTestRunner(test_results,
 verbosity = 2).run(suite)
   File "/home/travis/build/torproject/tor/stem/stem/util/test_tools.py",
 line 308, in run
     return super(TimedTestRunner, self).run(test)
   File "/usr/lib/python3.4/unittest/runner.py", line 168, in run
     test(result)
   File "/usr/lib/python3.4/unittest/suite.py", line 84, in __call__
     return self.run(*args, **kwds)
   File "/usr/lib/python3.4/unittest/suite.py", line 122, in run
     test(result)
   File "/usr/lib/python3.4/unittest/case.py", line 625, in __call__
     return self.run(*args, **kwds)
   File "/home/travis/build/torproject/tor/stem/stem/util/test_tools.py",
 line 258, in run
     result = super(type(self), self).run(result)
   File "/usr/lib/python3.4/unittest/case.py", line 577, in run
     testMethod()
   File "/home/travis/build/torproject/tor/stem/test/require.py", line 57,
 in wrapped
     return func(self, *args, **kwargs)
   File
 "/home/travis/build/torproject/tor/stem/test/integ/control/controller.py",
 line 732, in test_set_conf
     controller.set_conf('ExitPolicy', exit_policy)
   File "/home/travis/build/torproject/tor/stem/stem/control.py", line
 2471, in set_conf
     self.set_options({param: value}, False)
   File "/home/travis/build/torproject/tor/stem/stem/control.py", line
 2541, in set_options
     response = self.msg(query)
   File "/home/travis/build/torproject/tor/stem/stem/control.py", line 661,
 in msg
     response = self._reply_queue.get()
   File "/usr/lib/python3.4/queue.py", line 167, in get
     self.not_empty.wait()
   File "/usr/lib/python3.4/threading.py", line 290, in wait
     waiter.acquire()
   File "/home/travis/build/torproject/tor/stem/run_tests.py", line 92, in
 log_traceback
     for thread_name, stacktrace in
 test.output.thread_stacktraces().items():
   File "/home/travis/build/torproject/tor/stem/test/output.py", line 110,
 in thread_stacktraces
     stacktraces[thread.name] = ''.join(traceback.format_stack(frame))
 ================================================================================
   control.controller...
 }}}
 https://travis-ci.org/torproject/tor/jobs/545543377#L4049

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


More information about the tor-bugs mailing list