Arc diff --create > curl recverror

Phab install has been working for a while now, and then today when I tried to do an “arc diff --create” from my svn repos I got a curl error during the differential.creatediff conduit call. It’s a diff with 3 files, none of them particularly large (just python scripts), total diff size of 194 lines.

It does this even if I do a “diff --only”, but I was able to create a diff on different files. Ran an ascii-only check on the diff and I didn’t manage to introduce any weird bytes into the plain text.

I’d like to know where to find logs that would help me debug this - I can’t seem to find anything pertaining to it and I don’t know what log options to turn on to be able to investigate further myself.

[Note: I solved the problem by diffing each file individually, but the question is about diagnostics not the problem itself :]

phabricator 83f66ce55e1a7684cac963053bd62c823fe07baf (Fri, Aug 4) arcanist 836768bdccd42ae6a0a95dca7760e25992067ffc (Fri, Jul 21) phutil 3b087892148d0e7e92ae1d449b0ccf371859f36e (Tue, Aug 1) phabulous a66c78b847f5f02b95fd8bccc87ca11c1dcd4ad4 (Sep 11 2016) diff 3.3 at /usr/bin/diff git 2.9.3 at /usr/bin/git hg Not Available pygmentize 2.2.0 at /usr/local/bin/pygmentize svn 1.9.4 at /usr/bin/svn      

>>> [35] <conduit> repository.query() <bytes = 151>
>>> [36] <http> http://phab/api/repository.query
<<< [36] <http> 46,402 us
<<< [35] <conduit> 46,525 us
>>> [37] <conduit> differential.creatediff() <bytes = 100,007>
>>> [38] <http> http://phab/api/differential.creatediff
<<< [38] <http> 199,839 us
<<< [37] <conduit> 199,954 us

[2017-08-04 20:16:19] EXCEPTION: (HTTPFutureCURLResponseStatus) [cURL/56] (http://phab/api/differential.creatediff) <CURLE_RECV_ERROR> The cURL library raised an error while making a request. You may be able to find more information about this error (error code: 56) on the cURL site: http://curl.haxx.se/libcurl/c/libcurl-errors.html#CURLERECVERROR at [<phutil>/src/future/http/HTTPSFuture.php:408]
arcanist(head=master, ref.master=836768bdccd4), phutil(head=master, ref.master=3b087892148d)
  #0 HTTPSFuture::isReady() called at [<phutil>/src/future/Future.php:37]
  #1 Future::resolve(NULL) called at [<phutil>/src/future/FutureProxy.php:34]
  #2 FutureProxy::resolve() called at [<phutil>/src/conduit/ConduitClient.php:64]
  #3 ConduitClient::callMethodSynchronous(string, array) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:519]
  #4 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:394]

There’s no more detailed logging available other than --trace - you would have to add some yourself, sorry.

You might get some server-side information from the webserver logs.

Got the same problem. arc diff of a certain file alone (~500 lines of python test) breaking on same curl error.

Having exact curl command would be very helpful to diagnose problem.

Server logs are not helpful aswell, Apache didn’t have POST to creatediff at all, nginx have 400 errors for that endpoint.

0.0.0.0 - - [18/Jun/2019:12:32:15 +0300] "POST /api/differential.creatediff HTTP/1.1" 400 0 "-" "-"
2019/06/18 12:32:15 [warn] 14406#0: *15540 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000078, client: 0.0.0.0, server: phabricator.some_domain.org, request: "POST /api/differential.creatediff HTTP/1.1", host: "phabricator.some_domain.org"
2019/06/18 12:32:15 [info] 14406#0: *15540 recv() failed (104: Connection reset by peer), client: 0.0.0.0, server: phabricator.some_domain.org, request: "POST /api/differential.creatediff HTTP/1.1", host: "phabricator.some_domain.org"

I’m going to lock this because it was necro’d across the ages without working reproduction instructions.

Feel free to create a new thread describing this issue and including working reproduction instructions which allow other users to reproduce the problem in their environments.