As many people may know, Microsoft announced the support of Linux tools on Windows starting from Anniversary Update (August 2016). This functionality is based on Ubuntu 14.04 code. Back then I tried to instll RhodeCode on Windows 10, but with no success. However, recently they have updated Linux support in the Creators Update, released just a week ago or so. This time it worked like a charm! So I hope that soon there will be no need to use a virtual machine. Instead one can simply run bash.exe
and install RhodeCode as if running Ubuntu.
There are still issues, however:
-
There are some weird problems related (as I believe) to different file permissions models on Windows/Linux. In particular, I had some fun with
rhodecode.ini
being not found/deleted/corrupted on my instance. -
It seems that the database will be eventually corrupted if you use sqlite. MySQL seems to work fine, however.
I can live with them, but there is a third issue that I cannot solve yet. It seems that hg push
calls (we use Mercurial) often return “500 Internal server error” with no reason: just try the second time, and it might work. I traced down this problem to the following log fragment:
[2017-04-19 06:06:52 +0000] [9421] [ERROR] Socket error processing request.
Traceback (most recent call last):
File “/opt/rhodecode/store/bfzfyaf580smdc9g7gx8a09hc820b4vb-python2.7-gunicorn-19.6.0/lib/python2.7/site-packages/gunicorn/workers/sync.py”, line 135, in handle
self.handle_request(listener, req, client, addr)
File “/opt/rhodecode/store/bfzfyaf580smdc9g7gx8a09hc820b4vb-python2.7-gunicorn-19.6.0/lib/python2.7/site-packages/gunicorn/workers/sync.py”, line 191, in handle_request
six.reraise(*sys.exc_info())
File “/opt/rhodecode/store/bfzfyaf580smdc9g7gx8a09hc820b4vb-python2.7-gunicorn-19.6.0/lib/python2.7/site-packages/gunicorn/workers/sync.py”, line 176, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File “/opt/rhodecode/store/v8v0xjg7sl1mis7bkliavihdmnch4alz-python2.7-rhodecode-enterprise-ce-4.7.1/lib/python2.7/site-packages/rhodecode/config/middleware.py”, line 386, in pyramid_app_with_cleanup
return pyramid_app(environ, start_response)
File “/opt/rhodecode/store/v8v0xjg7sl1mis7bkliavihdmnch4alz-python2.7-rhodecode-enterprise-ce-4.7.1/lib/python2.7/site-packages/rhodecode/config/middleware.py”, line 85, in call
environ, start_response)
File “/opt/rhodecode/store/929c46ghng2v8b08nlk7wfjhpan90hnm-python2.7-Routes-1.13/lib/python2.7/site-packages/routes/middleware.py”, line 131, in call
response = self.app(environ, start_response)
File “/opt/rhodecode/store/v8v0xjg7sl1mis7bkliavihdmnch4alz-python2.7-rhodecode-enterprise-ce-4.7.1/lib/python2.7/site-packages/rhodecode/lib/middleware/https_fixup.py”, line 46, in call
return self.application(environ, custom_start_response)
File “/opt/rhodecode/store/w6kjp4h2szaa42f7yksgi3lqnpp2ax51-python2.7-pyramid-1.7.4/lib/python2.7/site-packages/pyramid/router.py”, line 236, in call
response = self.invoke_subrequest(request, use_tweens=True)
File “/opt/rhodecode/store/w6kjp4h2szaa42f7yksgi3lqnpp2ax51-python2.7-pyramid-1.7.4/lib/python2.7/site-packages/pyramid/router.py”, line 211, in invoke_subrequest
response = handle_request(request)
File “/opt/rhodecode/store/v8v0xjg7sl1mis7bkliavihdmnch4alz-python2.7-rhodecode-enterprise-ce-4.7.1/lib/python2.7/site-packages/rhodecode/tweens.py”, line 46, in vcs_detection_tween
return handler(request)
File “/opt/rhodecode/store/v8v0xjg7sl1mis7bkliavihdmnch4alz-python2.7-rhodecode-enterprise-ce-4.7.1/lib/python2.7/site-packages/rhodecode/lib/middleware/request_wrapper.py”, line 43, in call
response = self.handler(request)
File “/opt/rhodecode/store/w6kjp4h2szaa42f7yksgi3lqnpp2ax51-python2.7-pyramid-1.7.4/lib/python2.7/site-packages/pyramid/tweens.py”, line 51, in excview_tween
request_iface=request_iface.combined
File “/opt/rhodecode/store/w6kjp4h2szaa42f7yksgi3lqnpp2ax51-python2.7-pyramid-1.7.4/lib/python2.7/site-packages/pyramid/view.py”, line 547, in _call_view
response = view_callable(context, request)
File “/opt/rhodecode/store/w6kjp4h2szaa42f7yksgi3lqnpp2ax51-python2.7-pyramid-1.7.4/lib/python2.7/site-packages/pyramid/config/views.py”, line 182, in call
return view(context, request)
File “/opt/rhodecode/store/w6kjp4h2szaa42f7yksgi3lqnpp2ax51-python2.7-pyramid-1.7.4/lib/python2.7/site-packages/pyramid/viewderivers.py”, line 413, in viewresult_to_response
result = view(context, request)
File “/opt/rhodecode/store/w6kjp4h2szaa42f7yksgi3lqnpp2ax51-python2.7-pyramid-1.7.4/lib/python2.7/site-packages/pyramid/wsgi.py”, line 37, in decorator
return request.get_response(wrapped)
File “/opt/rhodecode/store/cbcb7xvl643c22r0k153ggyhvzkb87z5-python2.7-WebOb-1.3.1/lib/python2.7/site-packages/webob/request.py”, line 1320, in send
application, catch_exc_info=False)
File “/opt/rhodecode/store/cbcb7xvl643c22r0k153ggyhvzkb87z5-python2.7-WebOb-1.3.1/lib/python2.7/site-packages/webob/request.py”, line 1287, in call_application
output.extend(app_iter)
File “/opt/rhodecode/store/v8v0xjg7sl1mis7bkliavihdmnch4alz-python2.7-rhodecode-enterprise-ce-4.7.1/lib/python2.7/site-packages/rhodecode/lib/middleware/simplevcs.py”, line 458, in _generate_vcs_response
response = app(environ, start_response)
File “/opt/rhodecode/store/v8v0xjg7sl1mis7bkliavihdmnch4alz-python2.7-rhodecode-enterprise-ce-4.7.1/lib/python2.7/site-packages/rhodecode/lib/middleware/utils/scm_app_http.py”, line 112, in call
stream=True)
File “/opt/rhodecode/store/7hb16gn75b8pdhygs79nd1x1dlwsyvpz-python2.7-requests-2.9.1/lib/python2.7/site-packages/requests/sessions.py”, line 468, in request
resp = self.send(prep, **send_kwargs)
File “/opt/rhodecode/store/7hb16gn75b8pdhygs79nd1x1dlwsyvpz-python2.7-requests-2.9.1/lib/python2.7/site-packages/requests/sessions.py”, line 576, in send
r = adapter.send(request, **kwargs)
File “/opt/rhodecode/store/7hb16gn75b8pdhygs79nd1x1dlwsyvpz-python2.7-requests-2.9.1/lib/python2.7/site-packages/requests/adapters.py”, line 426, in send
raise ConnectionError(err, request=request)
ConnectionError: (‘Connection aborted.’, BadStatusLine(“‘’”,))
Is there any hope for me to try to do something?.. I would greatly appreciate any advices.