Re: Cannot access the main page for a review
Since this original post from last year, I've seen this problem numerous time. Most recently today on our main 1.5.5 server. It's quite pesky, so I'm coming back with a few more questions. First, here's a recap. Many of our users paste the content of large, complex test output files into the 'Testing Done' field. Sometimes, these break access to the main page for the review. When we click on the link, we get a Something Broke (Error 500) page. I get a Django error email with this error message: == File "", line 1 {"testing_done": {"new": ["More tests (caught a bug that was missed in review) :) Will upload the new set of diffs\n\n>>> b.Security.ProfileDoS.get_protocol_sip(profile_names=['sip_dos_1']) b.Security.ProfileDoS.get_protocol_sip_error_attack_detection_sta ^ SyntaxError: EOL while scanning single-quoted string == What's odd is I can't access the main page for the review, but I can go to the diff_header page and see everything, including the 'Testing Done' field. So this produces the 500 error: https://reviewboard/r/123/ But this works fine: https://reviewboard/r/123/diff/#index_header So my questions are: 1. Why does this text break the main page, but show up fine on the diff_header page. 2. Is there any way for me to repair a review once it gets in this state? 3. What guidelines can I give my users to prevent this problem from happening? Thanks! On Friday, February 24, 2012 1:18:47 PM UTC-8, Steve wrote: > > Hi Christian, > > I'm guessing the broken review can't be fixed. Though I don't understand > why removing that big text string directly from the database table didn't > work. What would be the closest version to 1.5.5 where the string limit > was increased. The mysql settings I see in 1.5.5 are for the table that I > think is causing the problem are: > > Table changedescs_changedescription > === > id, timestamp, public, text, fields_changed > --- > id int(11) PK > timestampdatetime > public tinyint(1) > text longtext > fields_changed text > > > The offending text was in the fields_change entry. > > Thanks > > --Steve > > > On Thursday, February 23, 2012 2:26:27 PM UTC-8, Steve wrote: >> >> Thanks Christian, >> >> I'm running 1.5.5 on a Centos 5 box. I attempted replacing the long >> string with an empty one in the >> >> reviewboard.changedescs_changedescription >> >> table. In the "fields_changed" dict the bad text was in the "old" entry >> for testing_done. I set the "old" entry to [""], but that didn't fix the >> problem. >> >> --Steve >> >> >> -- Want to help the Review Board project? Donate today at http://www.reviewboard.org/donate/ Happy user? Let us know at http://www.reviewboard.org/users/ -~--~~~~--~~--~--~--- To unsubscribe from this group, send email to reviewboard+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en
Re: Cannot access the main page for a review
Hi Christian, I'm guessing the broken review can't be fixed. Though I don't understand why removing that big text string directly from the database table didn't work. What would be the closest version to 1.5.5 where the string limit was increased. The mysql settings I see in 1.5.5 are for the table that I think is causing the problem are: Table changedescs_changedescription === id, timestamp, public, text, fields_changed --- id int(11) PK timestampdatetime public tinyint(1) text longtext fields_changed text The offending text was in the fields_change entry. Thanks --Steve On Thursday, February 23, 2012 2:26:27 PM UTC-8, Steve wrote: > > Thanks Christian, > > I'm running 1.5.5 on a Centos 5 box. I attempted replacing the long string > with an empty one in the > > reviewboard.changedescs_changedescription > > table. In the "fields_changed" dict the bad text was in the "old" entry > for testing_done. I set the "old" entry to [""], but that didn't fix the > problem. > > --Steve > > > -- Want to help the Review Board project? Donate today at http://www.reviewboard.org/donate/ Happy user? Let us know at http://www.reviewboard.org/users/ -~--~~~~--~~--~--~--- To unsubscribe from this group, send email to reviewboard+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en
Re: Cannot access the main page for a review
Thanks Christian, I'm running 1.5.5 on a Centos 5 box. I attempted replacing the long string with an empty one in the reviewboard.changedescs_changedescription table. In the "fields_changed" dict the bad text was in the "old" entry for testing_done. I set the "old" entry to [""], but that didn't fix the problem. --Steve -- Want to help the Review Board project? Donate today at http://www.reviewboard.org/donate/ Happy user? Let us know at http://www.reviewboard.org/users/ -~--~~~~--~~--~--~--- To unsubscribe from this group, send email to reviewboard+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en
Re: Cannot access the main page for a review
Hi Steve, This data is saved as a JSON string and if you're running an older version of Review Board and the Description or Testing Done is too large, it's possible for this string to truncate and cause the error you're seeing. What version of Review Board are you using? A modern version should have fixed this to allow for extremely large strings. Christian -- Christian Hammond - chip...@chipx86.com Review Board - http://www.reviewboard.org VMware, Inc. - http://www.vmware.com On Thu, Feb 23, 2012 at 11:17 AM, Steve wrote: > I found the very long script text in the > > reviewboard.changedescs_changedescription > > table. In the "fields_changed" dict the script was in the "old" entry > for testing_done. I set the "old" entry to [""], but that didn't fix > the problem. > > I copied the dict into a python shell and it parsed fine, so I'm > stumped. Maybe this testing_done entry isn't the source of the > problem? Or maybe there's another database entry that needs cleaning > up? > > I did all this in a sandbox, not the production server :) > > > --Steve > > > On Feb 23, 7:56 am, Steve wrote: > > One of my users created a review and in the 'Testing Done' field she > > pasted in the contents of a large, complex shell script that was used > > for the testing. When we try to access the main page for the review, > > we see this: > > > > > > 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. > > > > > > The message I get in the log is: > > > > SyntaxError: EOL while scanning single-quoted string > > > > and it's clear from the context that RB wasn't able to parse what had > > been pasted into the description field (lot's of nested quotes in the > > script). I had the user remove all that from the description, but the > > problem remains because apparently RB saves diffs on that field. So > > the error now looks like: > > > > > > File "/usr/lib/python2.4/site-packages/Djblets-0.6.11-py2.4.egg/ > > djblets/util/fields.py", line 205, in loads > > val = eval(val) > > > > File "", line 1 > > > > {"diff": {"added": [["Diff r4", "/r/33599/diff/4/", 71332]]}, > > "testing_done": {"new": ["I used a script that I wrote to test out > > which headers are returned for various types of content SNIPPED REST\n > > \n\n\n\n"], "old": ["I used a script that I wrote to test out which > > headers are returned for various types of content SCRIPT CONTENT HERE > > > > ^ > > > > SyntaxError: EOL while scanning single-quoted string > > > > > > We'd like to avoid creating a new RB request, and the only solution I > > could come up with is to hack the database to remove the 'Testing > > Done' stuff entirely. Is that feasible? Advisable? Is there another > > way to fix this? > > > > Thanks > > > > --Steve > > -- > Want to help the Review Board project? Donate today at > http://www.reviewboard.org/donate/ > Happy user? Let us know at http://www.reviewboard.org/users/ > -~--~~~~--~~--~--~--- > To unsubscribe from this group, send email to > reviewboard+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/reviewboard?hl=en > -- Want to help the Review Board project? Donate today at http://www.reviewboard.org/donate/ Happy user? Let us know at http://www.reviewboard.org/users/ -~--~~~~--~~--~--~--- To unsubscribe from this group, send email to reviewboard+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en
Re: Cannot access the main page for a review
I found the very long script text in the reviewboard.changedescs_changedescription table. In the "fields_changed" dict the script was in the "old" entry for testing_done. I set the "old" entry to [""], but that didn't fix the problem. I copied the dict into a python shell and it parsed fine, so I'm stumped. Maybe this testing_done entry isn't the source of the problem? Or maybe there's another database entry that needs cleaning up? I did all this in a sandbox, not the production server :) --Steve On Feb 23, 7:56 am, Steve wrote: > One of my users created a review and in the 'Testing Done' field she > pasted in the contents of a large, complex shell script that was used > for the testing. When we try to access the main page for the review, > we see this: > > > 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. > > > The message I get in the log is: > > SyntaxError: EOL while scanning single-quoted string > > and it's clear from the context that RB wasn't able to parse what had > been pasted into the description field (lot's of nested quotes in the > script). I had the user remove all that from the description, but the > problem remains because apparently RB saves diffs on that field. So > the error now looks like: > > > File "/usr/lib/python2.4/site-packages/Djblets-0.6.11-py2.4.egg/ > djblets/util/fields.py", line 205, in loads > val = eval(val) > > File "", line 1 > > {"diff": {"added": [["Diff r4", "/r/33599/diff/4/", 71332]]}, > "testing_done": {"new": ["I used a script that I wrote to test out > which headers are returned for various types of content SNIPPED REST\n > \n\n\n\n"], "old": ["I used a script that I wrote to test out which > headers are returned for various types of content SCRIPT CONTENT HERE > > ^ > > SyntaxError: EOL while scanning single-quoted string > > > We'd like to avoid creating a new RB request, and the only solution I > could come up with is to hack the database to remove the 'Testing > Done' stuff entirely. Is that feasible? Advisable? Is there another > way to fix this? > > Thanks > > --Steve -- Want to help the Review Board project? Donate today at http://www.reviewboard.org/donate/ Happy user? Let us know at http://www.reviewboard.org/users/ -~--~~~~--~~--~--~--- To unsubscribe from this group, send email to reviewboard+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en
Cannot access the main page for a review
One of my users created a review and in the 'Testing Done' field she pasted in the contents of a large, complex shell script that was used for the testing. When we try to access the main page for the review, we see this: 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. The message I get in the log is: SyntaxError: EOL while scanning single-quoted string and it's clear from the context that RB wasn't able to parse what had been pasted into the description field (lot's of nested quotes in the script). I had the user remove all that from the description, but the problem remains because apparently RB saves diffs on that field. So the error now looks like: File "/usr/lib/python2.4/site-packages/Djblets-0.6.11-py2.4.egg/ djblets/util/fields.py", line 205, in loads val = eval(val) File "", line 1 {"diff": {"added": [["Diff r4", "/r/33599/diff/4/", 71332]]}, "testing_done": {"new": ["I used a script that I wrote to test out which headers are returned for various types of content SNIPPED REST\n \n\n\n\n"], "old": ["I used a script that I wrote to test out which headers are returned for various types of content SCRIPT CONTENT HERE ^ SyntaxError: EOL while scanning single-quoted string We'd like to avoid creating a new RB request, and the only solution I could come up with is to hack the database to remove the 'Testing Done' stuff entirely. Is that feasible? Advisable? Is there another way to fix this? Thanks --Steve -- Want to help the Review Board project? Donate today at http://www.reviewboard.org/donate/ Happy user? Let us know at http://www.reviewboard.org/users/ -~--~~~~--~~--~--~--- To unsubscribe from this group, send email to reviewboard+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en
Cannot access the main page for a review
One of my users created a review and in the 'Testing Done' field she pasted in the contents of a large, complex shell script that was used for the testing. When we try to access the main page for the review, we see this: 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. The message I get in the log is: SyntaxError: EOL while scanning single-quoted string and it's clear from the context that RB wasn't able to parse what had been pasted into the description field (lot's of nested quotes in the script). I had the user remove all that from the description, but the problem remains because apparently RB saves diffs on that field. So the error now looks like: File "/usr/lib/python2.4/site-packages/Djblets-0.6.11-py2.4.egg/ djblets/util/fields.py", line 205, in loads val = eval(val) File "", line 1 {"diff": {"added": [["Diff r4", "/r/33599/diff/4/", 71332]]}, "testing_done": {"new": ["I used a script that I wrote to test out which headers are returned for various types of content SNIPPED REST\n \n\n\n\n"], "old": ["I used a script that I wrote to test out which headers are returned for various types of content SCRIPT CONTENT HERE ^ SyntaxError: EOL while scanning single-quoted string We'd like to avoid creating a new RB request, and the only solution I could come up with is to hack the database to remove the 'Testing Done' stuff entirely. Is that feasible? Advisable? Is there another way to fix this? Thanks --Steve -- Want to help the Review Board project? Donate today at http://www.reviewboard.org/donate/ Happy user? Let us know at http://www.reviewboard.org/users/ -~--~~~~--~~--~--~--- To unsubscribe from this group, send email to reviewboard+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en