Roundup Tracker - Issues

Message4685

Author jaraco
Recipients jaraco
Date 2012-11-26.02:50:02
Message-id <1353898204.78.0.744364930645.issue2550784@psf.upfronthosting.co.za>
In-reply-to
I run this tracker on Python 2.7.2. It runs well and stable against
roundup 1.4.19. When I upgrade to 1.4.20, however, many (but possibly
not all) updates to Issues fail. When they do, an error message appears
in the logs:

2012-11-25 20:40:06,536 ERROR Exception handling message
(Message-id='<030D763B-2273-4345-A197-563B01CFAC22@gmail.com>')
Traceback (most recent call last):
  File "C:\Program
Files\Python27\lib\site-packages\roundup-1.4.20-py2.7.egg\roundup\mailgw.py",
line 1476, in handle_Message
    return self.handle_message(message)
  File "C:\Program
Files\Python27\lib\site-packages\roundup-1.4.20-py2.7.egg\roundup\mailgw.py",
line 1541, in handle_message
    return self._handle_message(message)
  File "C:\Program
Files\Python27\lib\site-packages\roundup-1.4.20-py2.7.egg\roundup\mailgw.py",
line 1553, in _handle_message
    nodeid = self.parsed_message.parse ()
  File "C:\Program
Files\Python27\lib\site-packages\roundup-1.4.20-py2.7.egg\roundup\mailgw.py",
line 1230, in parse
    return self.create_node()
  File "C:\Program
Files\Python27\lib\site-packages\roundup-1.4.20-py2.7.egg\roundup\mailgw.py",
line 1147, in create_node
    self.cl.set(self.nodeid, **self.props)
  File "C:\Program
Files\Python27\lib\site-packages\roundup-1.4.20-py2.7.egg\roundup\backends\rdbms_common.py",
line 1715, in set
    self.fireReactors('set', nodeid, oldvalues)
  File "C:\Program
Files\Python27\lib\site-packages\roundup-1.4.20-py2.7.egg\roundup\hyperdb.py",
line 1265, in fireReactors
    react(self.db, self, nodeid, oldvalues)
  File "C:\Inetpub\Adams Row Tracker\detectors\nosyreaction.py", line
45, in nosyreaction
    raise roundupdb.DetectorError, message
DetectorError: Error: couldn't send email: {}

As you can see from the traceback, the error occurs when processing
incoming messages from the mail gateway. It also gets a similar error
when processing messages directly in the web UI (though I don't have a
copy of those tracebacks). Downgrading back to 1.4.19 makes the problem
go away, but I'd like to upgrade to 1.4.20.

The nosyreaction.py for this tracker is customized ever-so-slightly:

diff -r 9a71072c6f81 -r 5aac92f008ec _custom/detectors/nosyreaction.py
--- a/_custom/detectors/nosyreaction.py Thu Nov 22 08:57:43 2012 -0500
+++ b/_custom/detectors/nosyreaction.py Fri Oct 28 17:37:00 2011 +0000
@@ -40,7 +40,7 @@
     # send a copy of all new messages to the nosy list
     for msgid in determineNewMessages(cl, nodeid, oldvalues):
         try:
-            cl.nosymessage(nodeid, msgid, oldvalues)
+            cl.nosymessage(nodeid, msgid, oldvalues,
bcc_emails=['management@example.com'])
         except roundupdb.MessageSendError, message:
             raise roundupdb.DetectorError, message

That is the only change I've made to the tracker code itself. It simply
makes sure that all tracker notifications are blind-carbon-copied to the
'management' list.

Unfortunately, the error message isn't very useful (and empty dict) and
if I set e-mail to debug, the error doesn't occur (or at least I've been
unable to reproduce it). In general, I just have to try 1.4.20 and wait
until somebody complains. It's difficult to troubleshoot because I don't
want to turn off bcc_emails or send real e-mails from a test instance
(that will go to actual users).

Also, it seems that even while the bug exists, only some requests
encounter the error. I haven't yet figured out what factors are
necessary to trigger the error.

Is there any reason this approach should not work when upgrading to
1.4.20? Can you suggest ways to troubleshoot? Were there changes since
1.4.19 that might be implicated in a regression?
History
Date User Action Args
2012-11-26 02:50:05jaracosetrecipients: + jaraco
2012-11-26 02:50:04jaracosetmessageid: <1353898204.78.0.744364930645.issue2550784@psf.upfronthosting.co.za>
2012-11-26 02:50:04jaracolinkissue2550784 messages
2012-11-26 02:50:02jaracocreate