[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-bugs] #9741 [Obfsproxy]: SIGINT handling for py-obfsproxy
#9741: SIGINT handling for py-obfsproxy
-----------------------+---------------------
Reporter: dcf | Owner: asn
Type: defect | Status: new
Priority: minor | Milestone:
Component: Obfsproxy | Version:
Keywords: | Actual Points:
Parent ID: | Points:
-----------------------+---------------------
It looks like a single SIGINT kills obfsproxy, contrary to what
https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/180
-pluggable-transport.txt says:
Proxies should respond to a single INT signal by closing their listener
ports and not accepting any new connections, but keeping all connections
open, then terminating when connections are all closed. Proxies should
respond to a second INT signal by shutting down cleanly.
It looks like #3473 was this issue in C-obfsproxy.
Here is what I see in the debug log when I SIGINT tor. I think the message
"Received SIGINT, shutting down" comes from Twisted.
{{{
2013-09-14 10:21:09,672 [INFO] Received SIGINT, shutting down.
2013-09-14 10:21:09,672 [INFO] Received SIGINT, shutting down.
2013-09-14 10:21:09,674 [ERROR] Unhandled Error
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/obfsproxy-0.2.2_9_g37c9cbe-
py2.7.egg/obfsproxy/pyobfsproxy.py", line 69, in do_managed_mode
managed_server.do_managed_server()
File "/usr/local/lib/python2.7/dist-packages/obfsproxy-0.2.2_9_g37c9cbe-
py2.7.egg/obfsproxy/managed/server.py", line 60, in do_managed_server
reactor.run()
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line
1192, in run
self.mainLoop()
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line
1201, in mainLoop
self.runUntilCurrent()
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line
797, in runUntilCurrent
f(*a, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line
580, in stop
"Can't stop reactor that isn't running.")
twisted.internet.error.ReactorNotRunning: Can't stop reactor that isn't
running.
2013-09-14 10:21:09,674 [DEBUG] conn_0x7f4e0e213890: Connection was lost
(Connection to the other side was lost in a non-clean fashion: Connection
lost.).
2013-09-14 10:21:09,674 [DEBUG] conn_0x7f4e0e213890: Closing connection.
2013-09-14 10:21:09,675 [DEBUG] circ_0x7f4e0e2165f0: Tearing down circuit.
2013-09-14 10:21:09,675 [DEBUG] conn_0x7f4e0e20bb50: Closing connection.
2013-09-14 10:21:09,675 [DEBUG] conn_0x7f4e0e20bbd0: Connection was lost
(Connection to the other side was lost in a non-clean fashion: Connection
lost.).
2013-09-14 10:21:09,675 [DEBUG] conn_0x7f4e0e20bbd0: Closing connection.
2013-09-14 10:21:09,675 [DEBUG] circ_0x7f4e0e216d40: Tearing down circuit.
2013-09-14 10:21:09,675 [DEBUG] conn_0x7f4e0e20b8d0: Closing connection.
2013-09-14 10:21:09,676 [DEBUG] conn_0x7f4e0e20b8d0: Connection was lost
(Connection to the other side was lost in a non-clean fashion: Connection
lost.).
2013-09-14 10:21:09,676 [INFO] Stopping factory
<obfsproxy.network.network.StaticDestinationClientFactory instance at
0x7f4e0e216d88>
2013-09-14 10:21:09,676 [DEBUG] conn_0x7f4e0e20bb50: Connection was lost
(Connection to the other side was lost in a non-clean fashion: Connection
lost.).
2013-09-14 10:21:09,676 [INFO] Stopping factory
<obfsproxy.network.network.StaticDestinationClientFactory instance at
0x7f4e0e216638>
2013-09-14 10:21:09,677 [INFO] (TCP Port 50126 Closed)
2013-09-14 10:21:09,677 [INFO] Stopping factory
<obfsproxy.network.network.StaticDestinationServerFactory instance at
0x7f4e0e2163b0>
2013-09-14 10:21:09,678 [INFO] Main loop terminated.
}}}
I noticed this while testing the super-proxy from #7167; it tries to
SIGINT its subprocesses when it gets a SIGINT, and obfsproxy is killing
existing connections when that happens.
May also need to handle SIGTERM Ã la #9732.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/9741>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs