Hi,
I recently made an update on my phabricator instance. I had no big issues with anything until I tried to use a newly created mercurial repo, that returned this weird error 500 after the auth.
I tried access an older mercurial repo, also with no success.
C:\repo>hg pull pulling from http://server.com/diffusion/REPO/repo/ http authorization required for http://server.com/diffusion/REPO/repo/ realm: Phabricator Repositories user: myuser password: abort: HTTP Error 500: Error 1: ** unknown exception encountered, please report by visiting
Git repos are ok (and thats why I didnt get the error early)
by the logs on error_logs:
[2017-04-07 22:49:34] EXCEPTION: (Exception) Expected nonempty 'cmds' specification! at [<phabricator>/src/applications/diffusion/protocol/DiffusionMercurialWireProtocol.php:68] arcanist(head=master, ref.master=3b6b523c2b23), phabricator(head=master, ref.master=8ce25838f541), phutil(head=master, ref.master=c26f7b429f71) #0 <#2> DiffusionMercurialWireProtocol::isReadOnlyBatchCommand(NULL) called at [<phabricator>/src/applications/diffusion/controller/DiffusionServeController.php:480] #1 <#2> DiffusionServeController::isReadOnlyRequest(PhabricatorRepository) called at [<phabricator>/src/applications/diffusion/controller/DiffusionServeController.php:262] #2 <#2> DiffusionServeController::serveRequest(AphrontRequest) called at [<phabricator>/src/applications/diffusion/controller/DiffusionServeController.php:99] #3 <#2> DiffusionServeController::handleRequest(AphrontRequest) called at [<phabricator>/src/aphront/AphrontController.php:71] #4 <#2> AphrontController::delegateToController(DiffusionServeController) called at [<phabricator>/src/applications/diffusion/controller/DiffusionController.php:27] #5 <#2> DiffusionController::willBeginExecution() called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:256] #6 phlog(Exception) called at [<phabricator>/src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41] #7 PhabricatorDefaultRequestExceptionHandler::handleRequestException(AphrontRequest, Exception) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:678] #8 AphrontApplicationConfiguration::handleException(Exception) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:274] #9 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:177] #10 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phabricator>/webroot/index.php:17] [2017-04-07 22:49:34] EXCEPTION: (Exception) Expected nonempty 'cmds' specification! at [<phabricator>/src/applications/diffusion/protocol/DiffusionMercurialWireProtocol.php:68] arcanist(head=master, ref.master=3b6b523c2b23), phabricator(head=master, ref.master=8ce25838f541), phutil(head=master, ref.master=c26f7b429f71) #0 <#2> DiffusionMercurialWireProtocol::isReadOnlyBatchCommand(NULL) called at [<phabricator>/src/applications/diffusion/controller/DiffusionServeController.php:480] #1 <#2> DiffusionServeController::isReadOnlyRequest(PhabricatorRepository) called at [<phabricator>/src/applications/diffusion/controller/DiffusionServeController.php:262] #2 <#2> DiffusionServeController::serveRequest(AphrontRequest) called at [<phabricator>/src/applications/diffusion/controller/DiffusionServeController.php:99] #3 <#2> DiffusionServeController::handleRequest(AphrontRequest) called at [<phabricator>/src/aphront/AphrontController.php:71] #4 <#2> AphrontController::delegateToController(DiffusionServeController) called at [<phabricator>/src/applications/diffusion/controller/DiffusionController.php:27] #5 <#2> DiffusionController::willBeginExecution() called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:256] #6 <#2> AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:177] #7 <#2> AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phabricator>/webroot/index.php:17] #8 phlog(Exception) called at [<phabricator>/src/aphront/response/AphrontUnhandledExceptionResponse.php:20] #9 AphrontUnhandledExceptionResponse::setException(Exception) called at [<phabricator>/webroot/index.php:21]
It apears that I'm missing some GET param on the request
But the cmd var is present in the request, by the looks of the entry on access log:
"GET /diffusion/REPO/repo/?cmd=capabilities HTTP/1.1" 200 114 "GET /diffusion/REPO/repo/?cmd=listkeys&namespace=bookmarks HTTP/1.1" 500 73
I tried with different mercurial clients (tortoisehg, sourcetree), and nothing so it cant be on the client side.
We had this working in our setup, so it can't be any misconfiguration or anything.
Tried to update phabricator again, and the issue persists
Also tried to restart services (httpd, phd)
The strange part is not fiding anything about this here already, as it seems so easy to reproduce.
Reproduction steps:
Create a Mercurial repository and activate it
Try to clone or pull
Expected result:
Clone repository
Actual result:
Error 500 after credentials
Versions
phabricator 7707685733d26bf1c7278a2f338416a038c2709b (Fri, Apr 7) arcanist a59cfca5f190c44403dfc7449c678a2aa1626bb4 (Tue, Apr 4) phutil c581e769f10c6d2b427900897edba74e01a572bd (Sat, Mar 25)
Server version: Apache/2.4.25 (Unix) Server built: Dec 20 2016 13:02:22
PHP 7.1.2 (cli) (built: Feb 14 2017 21:24:49) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.1.2, Copyright (c) 1999-2017, by Zend Technologies
Thanks in advance, for any help.