1187: Failure to send e-mail shouldn't result in a 500 error

dave.dav********@gmai***** (Google Code) (Is this you? Claim this profile.)
July 31, 2009
What version are you running?
1.0

What's the URL of the page containing the problem?
internal website

What steps will reproduce the problem?
1. Create a review request
2. fill-in review, summary, description
3. Publish
4. Observe Error Box
Error:
Publishing the draft has failed due to a server error: 500 Internal Server
Error
Please try again later. If this continues to happen, please report it to
your administrator.
[Dismiss] [Discard]

Dismiss button reveals:
Something broke! (Error 500)

It appears something broke when you tried to go to here. This is either a
bug in Review Board or a server configuration error. Please report this to
your administrator. 

5. Hit publish again
6. Observe request published success

What is the expected output? What do you see instead?
Expected Publish to be successful first time
Instead, I see an Error Box

What operating system are you using? What browser?
windows ff, site hosted on ubuntu

Please provide any additional information below.
root@wiki:/var/log/apache2# cat other_vhosts_access.log | grep 500
review.aocsolutions.com:80 192.168.30.139 - - [23/Jun/2009:14:28:13 -0400]
"POST /api/json/reviewrequests/6/publish/ HTTP/1.1" 500 357
"http://review.aocso
lutions.com/r/6/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)"
review.aocsolutions.com:80 192.168.30.139 - - [23/Jun/2009:14:36:00 -0400]
"POST /api/json/reviewrequests/7/publish/ HTTP/1.1" 500 357
"http://review.aocso
lutions.com/r/7/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)"
review.aocsolutions.com:80 192.168.30.139 - - [23/Jun/2009:14:44:28 -0400]
"POST /api/json/reviewrequests/8/publish/ HTTP/1.1" 500 357
"http://review.aocso
lutions.com/r/8/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)"
review.aocsolutions.com:80 192.168.30.139 - - [24/Jun/2009:10:27:16 -0400]
"POST /api/json/reviewrequests/9/publish/ HTTP/1.1" 500 357
"http://review.aocso
lutions.com/r/9/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)"
review.aocsolutions.com:80 192.168.30.139 - - [25/Jun/2009:11:49:29 -0400]
"POST /api/json/reviewrequests/8/publish/ HTTP/1.1" 500 357
"http://review.aocso
lutions.com/r/8/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)"
review.aocsolutions.com:80 192.168.30.139 - - [25/Jun/2009:11:55:46 -0400]
"POST /api/json/reviewrequests/10/publish/ HTTP/1.1" 500 357
"http://review.aocs
olutions.com/r/10/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)"
review.aocsolutions.com:80 192.168.30.139 - - [25/Jun/2009:12:12:04 -0400]
"POST /api/json/reviewrequests/11/publish/ HTTP/1.1" 500 357
"http://review.aocs
olutions.com/r/11/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)"
#1 dave.dav********@gmai***** (Google Code) (Is this you? Claim this profile.)
On the second go, the json result is
{"stat": "fail", "err": {"msg": "You attempted to publish a review request that
doesn't have an associated draft.", "code": 211}}

So, I'm guessing something is breaking late in the 1st post -- after the review has
been published -- and reviewboard serves a 500 when there is an error.

Any way to turn up logging verbosity to get a clue what's breaking?
chipx86
#2 chipx86
Hi,

Definitely odd. I haven't seen this particular problem before.

Go into your site's conf/settings_local.py directory and set DEBUG to True. Then
restart Apache and try to reproduce the original issue again. You should see more
detailed error output, which would help diagnose this.

Which extensions are you using with Firefox? Any chance you're using anything for
custom cookie behavior?
  • +NeedInfo
#3 dan****@gmu**** (Google Code) (Is this you? Claim this profile.)
I must be doing something wrong.
I changed the settings_local.py DEBUG = True, restarted apache2
still, not same debug info comes back:

2009-06-29 17:58:16,454 - INFO - Logging to /var/log/reviewboard/reviewboard.log with
a minimum level of DEBUG
2009-06-29 17:58:16,457 - INFO - Log file for Review Board v1.0
2009-06-29 17:58:44,255 - DEBUG - DiffParser.parse: Beginning parse of diff, size = 1229
2009-06-29 17:58:44,256 - DEBUG - DiffParser.parse: Finished parsing diff.
2009-06-29 17:59:11,048 - INFO - Logging to /var/log/reviewboard/reviewboard.log with
a minimum level of DEBUG
2009-06-29 17:59:11,052 - INFO - Log file for Review Board v1.0
2009-06-29 17:59:12,356 - INFO - Logging to /var/log/reviewboard/reviewboard.log with
a minimum level of DEBUG
2009-06-29 17:59:12,359 - INFO - Log file for Review Board v1.0
2009-06-29 17:59:13,243 - INFO - Logging to /var/log/reviewboard/reviewboard.log with
a minimum level of DEBUG
2009-06-29 17:59:13,246 - INFO - Log file for Review Board v1.0
2009-06-29 17:59:17,159 - INFO - Logging to /var/log/reviewboard/reviewboard.log with
a minimum level of DEBUG
2009-06-29 17:59:17,161 - INFO - Log file for Review Board v1.0
chipx86
#4 chipx86
Very little is written to the log file today. The error information would be in place
of the "500 Error" page, or in that error banner (click Details). The original error,
not the second, needs to be reproduced, and the error banner must appear.
#5 dan****@gmu**** (Google Code) (Is this you? Claim this profile.)
Thanks for the hint

Exception Type:  	SMTPServerDisconnected
Exception Value: 	please run connect() first

So, I was having problems getting email to work before 1.0.
I'm able to send a simple email via python's stmpserver.  I presumed that what django
was basically doing.

First I enabled email using the same email settings as I use with thunderbird.  After
I saw the server could send email without any special settings, I changed reviewboard
admin to not use an settings either.
#6 dan****@gmu**** (Google Code) (Is this you? Claim this profile.)
Ugg.. adding localhost as the mail server fixes the issue.

The sample python code that I used actually indicated the server as well.  I didn't
catch that.

Thanks for your assistance.
chipx86
#7 chipx86
Glad it works! We should probably not fail when mail sending fails, though.
  • -NeedInfo
    +Confirmed
  • +Milestone-Release1.1
    +Component-EMail
  • +Failure to send e-mail shouldn't result in a 500 error
chipx86
#8 chipx86
Okay, the better errors bug is being tracked in issue 872, so I'll close this one
out, given that the initial problem is fixed.
  • -Confirmed
    +Fixed