HTTP 500 error since HG 1.9/1.9.1 - was fine previously (until HG 1.8.4)

Mads Kiilerich mads at kiilerich.com
Wed Aug 17 23:16:01 UTC 2011


Lionel wrote, On 08/17/2011 06:20 PM:
>
> Hello all,
>
> I’ve been happily running HG (yes, HG definitively rocks!!) on IIS via 
> isapi_wsgi until HG version 1.8.4. Yet, since v1.9, I get a http 500 
> error when connecting to the server. Can anybody help me? I wonder 
> what has changed and what may be breaking between 1.8.x and 1.9.x.
>
> Many thanks in advance! (please note I’ve nearly no knowledge in Python)
>
> Lionel
>
> My config:
>
> - Win 2008R2 (so 64bit)
>
> - IIS7 with IS 6.0 Management Compatibility for IIS7
>
> - python2.7.1 64 bit (coming from pywin32-216.win-amd64-py2.7.exe). 
> Python’s dir is in windows’ PATH.
>
> - pywin32 (coming from pywin32-216.win-amd64-py2.7.exe).
>

That one is no longer used in 1.9.

> - isap_wsgi (built from isapi_wsgi-0.4.2.zip)
>
> - HG – built and installed from source package using:
>
> python setup.py --pure build_py -c -d . build_ext -i build_mo
>
> python setup.py --pure install –force
>

Pure is much less tested and much slower than using compiled modules.

It would perhaps be better to use one of the Mercurial installers for 
py2.6 from http://mercurial.selenic.com/wiki/Download - and thus use 
Python 2.6 instead of 2.7.

(pmezard has however found some issues with dll versions or something 
and has made alternative installers. I can't find a link and don't know 
if the issue has been resolved.)

> The Python trace:
>
> # This window will display output from any programs that import 
> win32traceutil
>
> # win32com servers registered with '--debug' are in this category.
>
> Internal Extension Error: Failed to import callback module 'hgwebdir_wsgi'
>
> Last Windows error: The specified module cannot be found (message 
> translated).
>
> Traceback (most recent call last):
>
> File "E:\Intranet\hg\hgwebdir_wsgi.py", line 73, in <module>
>
> application = hgwebdir(hgweb_config)
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\hgweb\hgwebdir_mod.py", 
> line 62, in __init__
>
> self.refresh()
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\hgweb\hgwebdir_mod.py", 
> line 71, in refresh
>
> u = ui.ui()
>
> File "C:\Program Files\Python27\lib\site-packages\mercurial\ui.py", 
> line 43, in __init__
>
> for f in scmutil.rcpath():
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\demandimport.py", line 75, 
> in __getattribute__
>
> self._load()
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\demandimport.py", line 47, 
> in _load
>
> mod = _origimport(head, globals, locals)
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\scmutil.py", line 164, in 
> <module>
>
> class opener(abstractopener):
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\scmutil.py", line 180, in 
> opener
>
> @util.propertycache
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\demandimport.py", line 75, 
> in __getattribute__
>
> self._load()
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\demandimport.py", line 47, 
> in _load
>
> mod = _origimport(head, globals, locals)
>
> File "C:\Program Files\Python27\lib\site-packages\mercurial\util.py", 
> line 503, in <module>
>
> from windows import *
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\demandimport.py", line 85, 
> in _demandimport
>
> return _origimport(name, globals, locals, fromlist)
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\windows.py", line 21, in 
> <module>
>
> posixfile.__doc__ = osutil.posixfile.__doc__
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\demandimport.py", line 75, 
> in __getattribute__
>
> self._load()
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\demandimport.py", line 47, 
> in _load
>
> mod = _origimport(head, globals, locals)
>
> File "C:\Program 
> Files\Python27\lib\site-packages\mercurial\osutil.py", line 78, in 
> <module>
>
> _crt = ctypes.PyDLL(_crtname())
>
> File "C:\Program Files\Python27\Lib\ctypes\__init__.py", line 353, in 
> __init__
>
> self._handle = _dlopen(self._name, mode)
>
> WindowsError: [Error 126] The specified module cannot be found 
> (message translated)
>

That seems to be because Python can't find MSVCR90.dll, and it seems to 
be specific for using pure.

/Mads




More information about the Mercurial mailing list