1174: All the reviews broke after upgrade from RC1 to RC2.

manjuna********@gmai***** (Google Code) (Is this you? Claim this profile.)
chipx86
chipx86
June 18, 2009
What version are you running?
RC3


What's the URL of the page containing the problem?
All the reviews. We have around 200.

What steps will reproduce the problem?
1. Upgraded from RC1 to RC3
2. It broke diff.
3.

What is the expected output? What do you see instead?
Expected is to see the diff but getting below error!

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. 

What operating system are you using? What browser?
Windows XP and Windows 2003 x64. It boke in two places. 

Please provide any additional information below.
First I got the tar ball for RC3 and did a upgrade as given in link below.
http://www.review-board.org/docs/manual/dev/admin/installation/upgrading/
chipx86
#1 chipx86
Did you run:

   rb-site upgrade /path/to/site

And restart Apache?
  • +NeedInfo
#2 manjuna********@gmai***** (Google Code) (Is this you? Claim this profile.)
Yes, I ran that and restarted Apache and also memcache.
chipx86
#3 chipx86
Okay, set DEBUG = True in {sitedir}/conf/settings_local.py, then restart Apache. You
should get more meaningful errors that we can use to debug this.
#4 manjuna********@gmai***** (Google Code) (Is this you? Claim this profile.)
Done and below is the text error. Attached HTML page which I got the error


Environment:

Request Method: GET
Request URL: http://sped64/r/207/
Django Version: 1.0.2 final
Python Version: 2.5.4
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.markup',
 'django.contrib.sites',
 'django.contrib.sessions',
 'djblets.datagrid',
 'djblets.feedview',
 'djblets.siteconfig',
 'djblets.util',
 'djblets.webapi',
 'reviewboard.accounts',
 'reviewboard.admin',
 'reviewboard.changedescs',
 'reviewboard.diffviewer',
 'reviewboard.iphone',
 'reviewboard.reports',
 'reviewboard.reviews',
 'reviewboard.scmtools',
 'reviewboard.webapi',
 'django_evolution']
Installed Middleware:
('django.middleware.gzip.GZipMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.doc.XViewMiddleware',
 'django.middleware.http.ConditionalGetMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'djblets.siteconfig.middleware.SettingsMiddleware',
 'reviewboard.admin.middleware.LoadSettingsMiddleware',
 'djblets.log.middleware.LoggingMiddleware',
 'reviewboard.admin.middleware.CheckUpdatesRequiredMiddleware')


Traceback:
File "C:\Python25\Lib\site-packages\django\core\handlers\base.py" in get_response
  86.                 response = callback(request, *callback_args, **callback_kwargs)
File "c:\python25\lib\site-packages\ReviewBoard-1.0rc3-
py2.5.egg\reviewboard\accounts\decorators.py" in _check
  27.             return view_func(*args, **kwargs)
File "c:\python25\lib\site-packages\ReviewBoard-1.0rc3-
py2.5.egg\reviewboard\reviews\views.py" in review_detail
  235.         'upload_diff_form': UploadDiffForm(repository),
File "c:\python25\lib\site-packages\ReviewBoard-1.0rc3-
py2.5.egg\reviewboard\diffviewer\forms.py" in __init__
  44.         if self.repository.get_scmtool().get_diffs_use_absolute_paths():
File "c:\python25\lib\site-packages\ReviewBoard-1.0rc3-
py2.5.egg\reviewboard\scmtools\models.py" in get_scmtool
  40.         return cls(self)
File "c:\python25\lib\site-packages\ReviewBoard-1.0rc3-
py2.5.egg\reviewboard\scmtools\cvs.py" in __init__
  19.         self.client = CVSClient(self.cvsroot, self.repopath)
File "c:\python25\lib\site-packages\ReviewBoard-1.0rc3-
py2.5.egg\reviewboard\scmtools\cvs.py" in __init__
  147.             raise ImportError

Exception Type: ImportError at /r/207/
Exception Value: 
  • +
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html lang="en">
    <head>
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <meta name="robots" content="NONE,NOARCHIVE">
      <title>ImportError at /r/207/</title>
      <style type="text/css">
        html * { padding:0; margin:0; }
        body * { padding:10px 20px; }
        body * * { padding:0; }
        body { font:small sans-serif; }
        body>div { border-bottom:1px solid #ddd; }
        h1 { font-weight:normal; }
        h2 { margin-bottom:.8em; }
        h2 span { font-size:80%; color:#666; font-weight:normal; }
        h3 { margin:1em 0 .5em 0; }
        h4 { margin:0 0 .5em 0; font-weight: normal; }
        table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
        tbody td, tbody th { vertical-align:top; padding:2px 3px; }
        thead th { padding:1px 6px 1px 3px; background:#fefefe; text-align:left; font-weight:normal; font-size:11px; border:1px solid #ddd; }
       
chipx86
#5 chipx86
Are you using CVS for your repositories?

Looks like there's a bug in reviewboard/scmtools/cvs.py. Try to hand-edit that file
and go to line 140. Change 'exe' to 'cvs.exe'. Then restart Apache.

I'll fix this and make sure it gets into 1.0 (which is due Saturday).
  • -NeedInfo
    +Confirmed
  • -Priority-Medium
    +Priority-Critical
    +Milestone-Release1.0
    +Component-SCMTools
#6 manjuna********@gmai***** (Google Code) (Is this you? Claim this profile.)
Thanks a ton! It worked. yes we are using cvs. Thank you very much for the help. 
Three teams uses review board so it was blocking us.
chipx86
#7 chipx86
Sorry that blocked you, but glad we got it figured out fast! I've committed the fix,
so it will be in tomorrow's nightly, and will be in 1.0 Saturday.

Fixed in r2011.
  • -Confirmed
    +Fixed
  • +chipx86
#8 manjuna********@gmai***** (Google Code) (Is this you? Claim this profile.)
No Problem. We are very happy that it got fixed soon. 
#9 manjuna********@gmai***** (Google Code) (Is this you? Claim this profile.)
Hi, I just want to let you know that on my test PC running XP, I need to make one 
more change to fix this issue. In the line 138 reviewboard/scmtools/cvs.py I had to 
change ':' to ';' since in windows it is not ':'

for dir in os.environ['PATH'].split(os.environ.get('IFS', ';')):
                                                           ^----------Changed to ; 

Now sure how in Production Env ( Running Windows x64 2003 ) it worked.
#10 manjuna********@gmai***** (Google Code) (Is this you? Claim this profile.)
Here is more help on output when used ';' and ':' on Windows XP. I think it might 
break for others so we should first check os.name and set delimiter?????

>>> for dir in os.environ['PATH'].split(os.environ.get('IFS', ';')):
...    print dir
...
C:\PHP\
C:\Perl\bin\
C:\Program Files\ActiveState Perl Dev Kit 7.3 Deployment\bin
C:\PROGRA~1\ParaSoft\INSURE~1\BIN~1.WIN
C:\Perl\bin
C:\WINNT\system32
C:\WINNT
C:\WINNT\System32\Wbem
C:\buildtools
C:\Program Files\UWIN3.1\usr\bin
C:\Vim\vim62
C:\Program Files\EMC\Navisphere CLI
C:\Program Files\EMC\Navisphere Admsnap
C:\Program Files\Rational\common
C:\Program Files\QuickTime\QTSystem\
C:\WINNT\system32\
C:\python25
C:\SWIG
C:\Program Files\Java\jdk1.5.0_08\bin
C:\splint-3.1.1\bin
C:\Program Files\cppcheck
C:\Python25\Lib\site-packages\django\bin

C:\Program Files\TortoiseSVN\bin
C:\Program Files\MySQL\MySQL Server 5.1\bin
C:\Python25\Scripts
C:\Program Files\Windows Imaging\
C:\PROGRA~1\ParaSoft\INSURE~1\BIN~1.WIN
C:\Program Files\CVSNT\
C:\WINNT\system32\
C:\Program Files\UWIN3.1\usr\bin

Now using ':'

>>> for dir in os.environ['PATH'].split(os.environ.get('IFS', ':')):
...    print dir
...
C
\PHP\;C
\Perl\bin\;C
\Program Files\ActiveState Perl Dev Kit 7.3 Deployment\bin;C
\PROGRA~1\ParaSoft\INSURE~1\BIN~1.WIN;C
\Perl\bin;C
\WINNT\system32;C
\WINNT;C
\WINNT\System32\Wbem;C
\buildtools;C
\Program Files\UWIN3.1\usr\bin;C
\Vim\vim62;C
\Program Files\EMC\Navisphere CLI;C
\Program Files\EMC\Navisphere Admsnap;C
\Program Files\Rational\common;C
\Program Files\QuickTime\QTSystem\;C
\WINNT\system32\;C
\python25;C
\SWIG;C
\Program Files\Java\jdk1.5.0_08\bin;C
\splint-3.1.1\bin;C
\Program Files\cppcheck;C
\Python25\Lib\site-packages\django\bin;;C
\Program Files\TortoiseSVN\bin;C
\Program Files\MySQL\MySQL Server 5.1\bin;C
\Python25\Scripts;C
\Program Files\Windows Imaging\;C
\PROGRA~1\ParaSoft\INSURE~1\BIN~1.WIN;C
\Program Files\CVSNT\;C
\WINNT\system32\;C
\Program Files\UWIN3.1\usr\bin
>>>