<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sebastian/stem, branch controller_event</title>
<subtitle>Sebastian's stem repository</subtitle>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/sebastian/stem.git/'/>
<entry>
<title>Speed up event receipt tests</title>
<updated>2015-03-21T03:37:03+00:00</updated>
<author>
<name>Sebastian Hahn</name>
<email>sebastian@torproject.org</email>
</author>
<published>2015-03-21T03:37:03+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/sebastian/stem.git/commit/?id=6d4d4816ff5cea7611bde36256d1f1b5e9eab5e9'/>
<id>6d4d4816ff5cea7611bde36256d1f1b5e9eab5e9</id>
<content type='text'>
Use CONF_CHANGED instead of BW events, they arrive much quicker and
don't require us to wait so long. Execution time for the controller
tests go from 1m25.348s to 0m6.053s when selecting all connection
configurations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use CONF_CHANGED instead of BW events, they arrive much quicker and
don't require us to wait so long. Execution time for the controller
tests go from 1m25.348s to 0m6.053s when selecting all connection
configurations.
</pre>
</div>
</content>
</entry>
<entry>
<title>Print the stacktraces when running tests failed</title>
<updated>2015-03-21T03:00:05+00:00</updated>
<author>
<name>Sebastian Hahn</name>
<email>sebastian@torproject.org</email>
</author>
<published>2015-03-21T03:00:05+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/sebastian/stem.git/commit/?id=02bc032060b34f4ba150f3dc4a8bf1e2bab91640'/>
<id>02bc032060b34f4ba150f3dc4a8bf1e2bab91640</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Bulb to list of other controllers</title>
<updated>2015-03-20T16:25:52+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-03-20T16:25:52+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/sebastian/stem.git/commit/?id=7f1ca39fa1ffce212b72330cbe7e6dc8595813cd'/>
<id>7f1ca39fa1ffce212b72330cbe7e6dc8595813cd</id>
<content type='text'>
Library Yawning is working on for controllers in Go.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Library Yawning is working on for controllers in Go.
</pre>
</div>
</content>
</entry>
<entry>
<title>Extrainfo hidden service fields can be negative</title>
<updated>2015-03-16T18:44:48+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-03-16T18:44:48+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/sebastian/stem.git/commit/?id=60ad8473f5d10e4b354f2b7f182164e1bfdca93a'/>
<id>60ad8473f5d10e4b354f2b7f182164e1bfdca93a</id>
<content type='text'>
Checked with Karsten on #15276.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Checked with Karsten on #15276.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support for extrainfo descriptor hidden service stats</title>
<updated>2015-03-15T20:17:07+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-03-15T20:17:07+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/sebastian/stem.git/commit/?id=4ad8f60e2622e1ae5a7a46d131350c8042f02d66'/>
<id>4ad8f60e2622e1ae5a7a46d131350c8042f02d66</id>
<content type='text'>
Adding support for the new extrainfo descriptor stats for hidden services...

  https://gitweb.torproject.org/torspec.git/commit/?id=ddb630d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adding support for the new extrainfo descriptor stats for hidden services...

  https://gitweb.torproject.org/torspec.git/commit/?id=ddb630d
</pre>
</div>
</content>
</entry>
<entry>
<title>Adding HS_DESC_CONTENT to EventType</title>
<updated>2015-03-15T18:36:51+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-03-15T18:36:51+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/sebastian/stem.git/commit/?id=858667a1452c7a2e87151bf83286107a3b5a002a'/>
<id>858667a1452c7a2e87151bf83286107a3b5a002a</id>
<content type='text'>
Issue caught by DonnchaC.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Issue caught by DonnchaC.
</pre>
</div>
</content>
</entry>
<entry>
<title>Closed controller could potentially leave lingering notification threads</title>
<updated>2015-03-15T01:50:21+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-03-15T01:50:21+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/sebastian/stem.git/commit/?id=e6e64d94638fe455ebfbc2f33765a36663d94ea3'/>
<id>e6e64d94638fe455ebfbc2f33765a36663d94ea3</id>
<content type='text'>
Despite having a notion of a 'daemon thread', python's behavior around it is
remarkably poor. The point of a daemon is that it can be safely reaped during
interpreter shutdown, but if one *actually* exists python screams like you're
kicking it on the balls.

*sigh*

So anyway, it's important to be sure all threads are joined on before shutting
down. Generally Stem is good about this but forgot that state change
notifications spawn their own untracked daemons.

As a result if you've registered any state listeners you'll have a good chance
of a stacktrace. What happens is as follows...

  * You call close() on the controller.

  * Closing sends a notification in a new thread to your listener to say that
    it's closing.

  * Before that thread finishes the interpreter shuts down and wails like a
    baby.

As such, we now track these daemons and close() joins on them before returning.

This was caught thanks to frequent arm stacktraces like...

  Exception in thread Closed notification (most likely raised during interpreter shutdown):
  Traceback (most recent call last):
    File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
    File "/usr/lib/python2.7/threading.py", line 504, in run
    File "/home/atagar/Desktop/seth/seth/header_panel.py", line 372, in reset_listener
    File "/home/atagar/Desktop/seth/seth/header_panel.py", line 376, in _update
    File "/home/atagar/Desktop/seth/seth/header_panel.py", line 403, in get_sampling
    File "/home/atagar/Desktop/seth/stem/control.py", line 392, in wrapped
    File "/home/atagar/Desktop/seth/stem/control.py", line 1445, in get_pid
    File "/home/atagar/Desktop/seth/stem/util/system.py", line 328, in pid_by_name
    File "/home/atagar/Desktop/seth/stem/util/system.py", line 930, in call
    File "/usr/lib/python2.7/subprocess.py", line 754, in communicate
    File "/usr/lib/python2.7/subprocess.py", line 1312, in _communicate
    File "/usr/lib/python2.7/subprocess.py", line 1373, in _communicate_with_poll
  &lt;type 'exceptions.AttributeError'&gt;: 'NoneType' object has no attribute 'POLLOUT'
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Despite having a notion of a 'daemon thread', python's behavior around it is
remarkably poor. The point of a daemon is that it can be safely reaped during
interpreter shutdown, but if one *actually* exists python screams like you're
kicking it on the balls.

*sigh*

So anyway, it's important to be sure all threads are joined on before shutting
down. Generally Stem is good about this but forgot that state change
notifications spawn their own untracked daemons.

As a result if you've registered any state listeners you'll have a good chance
of a stacktrace. What happens is as follows...

  * You call close() on the controller.

  * Closing sends a notification in a new thread to your listener to say that
    it's closing.

  * Before that thread finishes the interpreter shuts down and wails like a
    baby.

As such, we now track these daemons and close() joins on them before returning.

This was caught thanks to frequent arm stacktraces like...

  Exception in thread Closed notification (most likely raised during interpreter shutdown):
  Traceback (most recent call last):
    File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
    File "/usr/lib/python2.7/threading.py", line 504, in run
    File "/home/atagar/Desktop/seth/seth/header_panel.py", line 372, in reset_listener
    File "/home/atagar/Desktop/seth/seth/header_panel.py", line 376, in _update
    File "/home/atagar/Desktop/seth/seth/header_panel.py", line 403, in get_sampling
    File "/home/atagar/Desktop/seth/stem/control.py", line 392, in wrapped
    File "/home/atagar/Desktop/seth/stem/control.py", line 1445, in get_pid
    File "/home/atagar/Desktop/seth/stem/util/system.py", line 328, in pid_by_name
    File "/home/atagar/Desktop/seth/stem/util/system.py", line 930, in call
    File "/usr/lib/python2.7/subprocess.py", line 754, in communicate
    File "/usr/lib/python2.7/subprocess.py", line 1312, in _communicate
    File "/usr/lib/python2.7/subprocess.py", line 1373, in _communicate_with_poll
  &lt;type 'exceptions.AttributeError'&gt;: 'NoneType' object has no attribute 'POLLOUT'
</pre>
</div>
</content>
</entry>
<entry>
<title>Support for HS_DESC_CONTENT events</title>
<updated>2015-03-14T21:05:04+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-03-14T21:05:04+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/sebastian/stem.git/commit/?id=162206da75b2eab2e8ab7b2866e70493d44d31d4'/>
<id>162206da75b2eab2e8ab7b2866e70493d44d31d4</id>
<content type='text'>
Usually I don't had support before an event is in tor, but HS_DESC_CONTENT is
tantalizingly close and I want to help #14847 along. This helped highlight a
couple issues we should address.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Usually I don't had support before an event is in tor, but HS_DESC_CONTENT is
tantalizingly close and I want to help #14847 along. This helped highlight a
couple issues we should address.
</pre>
</div>
</content>
</entry>
<entry>
<title>Tor's --quiet argument no longer combines with --verify-config</title>
<updated>2015-03-14T18:01:10+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-03-14T18:01:10+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/sebastian/stem.git/commit/?id=5178eb9d98bab70e84fa6558d276c82dc68d9bf5'/>
<id>5178eb9d98bab70e84fa6558d276c82dc68d9bf5</id>
<content type='text'>
As per #14994 tor's handling of '--quiet' changed, breaking an integ test. Also
it now provides content on stderr so suppressing that.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As per #14994 tor's handling of '--quiet' changed, breaking an integ test. Also
it now provides content on stderr so suppressing that.
</pre>
</div>
</content>
</entry>
<entry>
<title>Error during hs descriptor decryption failures with python3</title>
<updated>2015-03-11T15:07:42+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-03-11T15:06:57+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/sebastian/stem.git/commit/?id=bc42f5d902b2df83e9701bd0ac75fd0c9d53c5b3'/>
<id>bc42f5d902b2df83e9701bd0ac75fd0c9d53c5b3</id>
<content type='text'>
Oops, another spot where we need to do slice rather than indexing (since the
later provides an int in python3). Caught by cyberpunks on...

  https://trac.torproject.org/projects/tor/ticket/15004#comment:18
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Oops, another spot where we need to do slice rather than indexing (since the
later provides an int in python3). Caught by cyberpunks on...

  https://trac.torproject.org/projects/tor/ticket/15004#comment:18
</pre>
</div>
</content>
</entry>
</feed>
