[tor-bugs] #33945 [Circumvention/BridgeDB]: Failed assertion breaks BridgeDB's email responder
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Apr 21 00:29:12 UTC 2020
#33945: Failed assertion breaks BridgeDB's email responder
----------------------------------------+-----------------------
Reporter: phw | Owner: phw
Type: defect | Status: assigned
Priority: High | Milestone:
Component: Circumvention/BridgeDB | Version:
Severity: Normal | Keywords: s30-o22a3
Actual Points: | Parent ID: #31279
Points: 2 | Reviewer:
Sponsor: Sponsor30-can |
----------------------------------------+-----------------------
BridgeDB's email responder stops working after a while. The issue is
probably related to the exception below but I don't know how exactly. As
part of our Python 3 port, we
[https://gitweb.torproject.org/bridgedb.git/commit/?id=c1a48d1b568b00fab19a308e6497881f31d17680
modifed the context manager], which may be a good place to start
debugging.
{{{
Unhandled Error
Traceback (most recent call last):
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/twisted/python/log.py", line 103, in callWithLogger
return callWithContext({"system": lp}, func, *args, **kw)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/twisted/python/log.py", line 86, in callWithContext
return context.call({ILogContext: newCtx}, func, *args, **kw)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/twisted/python/context.py", line 122, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/twisted/python/context.py", line 85, in callWithContext
return func(*args,**kw)
--- <exception caught here> ---
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
why = selectable.doRead()
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/twisted/internet/tcp.py", line 243, in doRead
return self._dataReceived(data)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/twisted/internet/tcp.py", line 249, in _dataReceived
rval = self.protocol.dataReceived(data)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/twisted/protocols/basic.py", line 454, in dataReceived
self.lineReceived(line)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/twisted/mail/smtp.py", line 445, in lineReceived
return getattr(self, 'state_' + self.mode)(line)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/twisted/mail/smtp.py", line 705, in dataLineReceived
m.eomReceived() for m in self.__messages
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/twisted/mail/smtp.py", line 705, in <listcomp>
m.eomReceived() for m in self.__messages
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-
py3.7.egg/bridgedb/distributors/email/server.py", line 230, in eomReceived
self.responder.reply()
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-
py3.7.egg/bridgedb/distributors/email/autoresponder.py", line 574, in
reply
response = self.getMailData()
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-
py3.7.egg/bridgedb/distributors/email/autoresponder.py", line 392, in
getMailData
client, lang)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-
py3.7.egg/bridgedb/distributors/email/autoresponder.py", line 101, in
createResponseBody
bridges = context.distributor.getBridges(bridgeRequest, interval)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-
py3.7.egg/bridgedb/distributors/email/distributor.py", line 145, in
getBridges
with bridgedb.Storage.getDB() as db:
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-
py3.7.egg/bridgedb/Storage.py", line 352, in __enter__
return next(self.gen)
File "/home/bridgedb/virtualenvs/bridgedb/lib/python3.7/site-
packages/bridgedb-0.10.0+11.g4cdd6a61.dirty-
py3.7.egg/bridgedb/Storage.py", line 472, in getDB
assert _REFCOUNT == 0
builtins.AssertionError:
}}}
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/33945>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list