ERR-CONDUIT-CORE: Invalid parameter information was passed to method 'differential.parsecommitmessage'

Hello,

I’m trying to use arc diff to create differential with git and phabricator but i have sytematicaly an error :

<<< [13] (+22,774) <exec> 124,366 us
>>> [14] (+22,774) <http> http://phabricator.match.com/api/differential.parsecommitmessage
<<< [14] (+28,098) <http> 5,323,935 us

[2019-09-05 11:54:25] EXCEPTION: (ConduitClientException) ERR-CONDUIT-CORE: Invalid parameter information was passed to method 'differential.parsecommitmessage'. at [<phutil>\src\conduit\ConduitFuture.php:62]
arcanist(head=master, ref.master=d92fa96366c0), phutil(head=master, ref.master=71e8d7a4cf8e)
  #0 ConduitFuture::didReceiveResult(array) called at [<phutil>\src\future\FutureProxy.php:58]
  #1 FutureProxy::getResult() called at [<phutil>\src\future\FutureProxy.php:35]
  #2 FutureProxy::resolve() called at [<phutil>\src\conduit\ConduitClient.php:64]
  #3 ConduitClient::callMethodSynchronous(string, array) called at [<arcanist>\src\differential\ArcanistDifferentialCommitMessage.php:48]
  #4 ArcanistDifferentialCommitMessage::pullDataFromConduit(ConduitClient, boolean) called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:2023]
  #5 ArcanistDiffWorkflow::parseCommitMessagesIntoFields(array) called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:1943]
  #6 ArcanistDiffWorkflow::getDefaultCreateFields() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:1579]
  #7 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:1501]
  #8 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:469]
  #9 ArcanistDiffWorkflow::run() called at [<arcanist>\scripts\arcanist.php:394]

Sever with laster phabricator version (master branch) :

[root@phabricator phabricator]# php --version
PHP 5.4.16 (cli) (built: Oct 30 2018 19:30:51)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
[root@phabricator phabricator]# git --version
git version 2.23.0

Client on windows 10 :

git --version
git version 2.22.0.windows.1
$ arc --version
arcanist 3cdfe1fff806d2b54a2df631cf90193e518f42b7 (5 Sep 2019)
libphutil f51f1b3f72b50246949d0917239ca84f39ec7a54 (2 Sep 2019)

Step to reproduce :

  1. Create git repository
  2. Initialise with test file (commit then push)
  3. File is visible on phabricator Diffusion page of the repository (master branch)
  4. Update file on client and git add
  5. Run arc diff

I’m trying with existing git repository migrate to phabricator, new repository create directly on phabricator, with core.autocrlf true and false in git config. I don’t know why it does not work T_T

Complete trace :

arc diff --trace
 ARGV  "D:/Outils/arcanist/arcanist/bin/../scripts/arcanist.php" "diff" "--trace"
 LOAD  Loaded "phutil" from "D:\Outils\arcanist\libphutil\src".
 LOAD  Loaded "arcanist" from "D:\Outils\arcanist\arcanist\src".
Config: Reading user configuration file "C:\Users\bmerlier\AppData\Roaming/.arcrc"...
Config: Did not find system configuration at "C:\ProgramData\Phabricator/Arcanist/config".
Working Copy: Unable to find .arcconfig in any of these locations: D:\git\test-git/.arcconfig.
Working Copy: Path "D:\git\test-git" is part of `git` working copy "D:\git\test-git".
Working Copy: Project root is at "D:\git\test-git".
Config: Did not find local configuration at "D:\git\test-git\.git\arc/config".
>>> [0] (+0) <http> http://phabricator.match.com/api/user.whoami
<<< [0] (+246) <http> 246,237 us
>>> [1] (+251) <exec> $ git --version
<<< [1] (+341) <exec> 89,715 us
>>> [2] (+341) <exec> $ git status --porcelain=2 -z
<<< [2] (+452) <exec> 111,397 us
>>> [3] (+457) <event> diff.didCollectChanges <listeners = 0>
<<< [3] (+457) <event> 65 us
>>> [4] (+457) <exec> $ git rev-parse --verify HEAD^
<<< [4] (+549) <exec> 92,742 us
>>> [5] (+550) <exec> $ git rev-parse --abbrev-ref --symbolic-full-name "@{upstream}"
<<< [5] (+648) <exec> 98,152 us
>>> [6] (+648) <exec> $ git cat-file -t "origin/master"
<<< [6] (+744) <exec> 96,106 us
>>> [7] (+744) <exec> $ git merge-base "origin/master" HEAD
<<< [7] (+838) <exec> 93,992 us
>>> [8] (+839) <exec> $ git rev-parse "HEAD"
<<< [8] (+928) <exec> 89,248 us
>>> [9] (+928) <exec> $ git log --first-parent --format=medium "9d59faa51dac1c248662f286708bb1224fd3c805".."01bfcc1e681d53f8197ea3b4b9d934c62c3c3a4d"
<<< [9] (+1,028) <exec> 99,387 us
>>> [10] (+1,033) <exec> $ git log "01bfcc1e681d53f8197ea3b4b9d934c62c3c3a4d" --not "9d59faa51dac1c248662f286708bb1224fd3c805" --format=%H%x01%T%x01%P%x01%at%x01%an%x01%aE%x01%s%x01%s%n%n%b%x02 --
<<< [10] (+1,130) <exec> 96,071 us
>>> [11] (+1,130) <http> http://phabricator.match.com/api/differential.query
<<< [11] (+21,460) <http> 20,330,664 us
>>> [12] (+21,461) <exec> $ git rev-parse --git-dir
<<< [12] (+21,563) <exec> 102,012 us
>>> [13] (+21,563) <exec> $ git log "01bfcc1e681d53f8197ea3b4b9d934c62c3c3a4d" --not "9d59faa51dac1c248662f286708bb1224fd3c805" --format=%H%x01%T%x01%P%x01%at%x01%an%x01%aE%x01%s%x01%s%n%n%b%x02 --
<<< [13] (+21,664) <exec> 100,530 us
>>> [14] (+21,664) <http> http://phabricator.match.com/api/differential.parsecommitmessage
<<< [14] (+26,807) <http> 5,142,753 us

[2019-09-05 14:31:48] EXCEPTION: (ConduitClientException) ERR-CONDUIT-CORE: Invalid parameter information was passed to method 'differential.parsecommitmessage'. at [<phutil>\src\conduit\ConduitFuture.php:62]
arcanist(head=master, ref.master=3cdfe1fff806), phutil(head=master, ref.master=f51f1b3f72b5)
  #0 ConduitFuture::didReceiveResult(array) called at [<phutil>\src\future\FutureProxy.php:58]
  #1 FutureProxy::getResult() called at [<phutil>\src\future\FutureProxy.php:35]
  #2 FutureProxy::resolve() called at [<phutil>\src\conduit\ConduitClient.php:64]
  #3 ConduitClient::callMethodSynchronous(string, array) called at [<arcanist>\src\differential\ArcanistDifferentialCommitMessage.php:48]
  #4 ArcanistDifferentialCommitMessage::pullDataFromConduit(ConduitClient, boolean) called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:2023]
  #5 ArcanistDiffWorkflow::parseCommitMessagesIntoFields(array) called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:1943]
  #6 ArcanistDiffWorkflow::getDefaultCreateFields() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:1579]
  #7 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:1501]
  #8 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:469]
  #9 ArcanistDiffWorkflow::run() called at [<arcanist>\scripts\arcanist.php:394]

Fichier Tes.java : http://dl.free.fr/fyMplYetu

public class Test {
	//The test
	private int toto = 10;
	
	public int getToto(){
		return this.toto
	}
	
	public void setToto(int toto){
		this.toto = toto;
	}
}

Thanks for your help

Anybody has an idea ?

Maybe the commit message has some characters that cannot be represented in UTF-8?

There might be some information in the server’s logs.

Is this running in git bash on windows, CMD, WSL, or some other terminal?

Also, you didn’t specify the server’s versions.

Hello

Serveur :

[root@phabricator arcanist]# ./bin/arc --version
arcanist 3cdfe1fff806d2b54a2df631cf90193e518f42b7 (5 Sep 2019)
libphutil f51f1b3f72b50246949d0917239ca84f39ec7a54 (2 Sep 2019)

same version as client.
I use Git bash on windows to run command.

Phabricator last commit of the server version

commit adc2002d2870f3ca277723a2e81fff1b6922cd81 (HEAD -> master, origin/master, origin/HEAD)
Author: epriestley git@epriestley.com
Date: Thu Sep 5 03:43:22 2019 -0700

In error_log (httpd), i have the same erreur as arc diff --trace.

Is there an other log ?

EDIT : The commit message was writed on Notepad++ with encoding utf8 without BOM

commit 3baf69e0f300484b280159b6b3eb9fd4aab0410d (HEAD -> Test)
Author: bmerlier bmerlier@supermarchesmatch.fr
Date: Thu Sep 5 13:41:59 2019 +0200

Test diff

Résumé: plop

Plan de test: test

test 2

Relecteurs:

Abonnés:

EDIT 2 :
image

Thanks

The server logs will show some other stacktrace, please post that as well.

To see the server version, visit https://<your_instance>/config/version/.

image

With debug verbose activated :slight_smile:

> [Tue Oct 01 11:50:05.965921 2019] [:error] [pid 106813] [client 172.23.49.70:59961] [2019-10-01 11:50:05] EXCEPTION: (PhutilProxyException) L\xe2\x80\x99information de param\xc3\xa8tre non valide a \xc3\xa9t\xc3\xa9 pass\xc3\xa9e \xc3\xa0 la m\xc3\xa9thode 'differential.parsecommitmessage'. {>} **(PhutilJSONParserException) Parse error on line 1 at column 93: Invalid string, it appears you forgot to terminate the string, or attempted to write a multiline string which is invalid - It appears you have an extra trailing comma at [<phutil>/src/parser/PhutilJSONParser.php:32]**
> [Tue Oct 01 11:50:05.966266 2019] [:error] [pid 106813] [client 172.23.49.70:59961] arcanist(head=master, ref.master=3cdfe1fff806), phabricator(head=master, ref.master=76d9912932bc), phutil(head=master, ref.master=39ed96cd818a)
> [Tue Oct 01 11:50:05.966280 2019] [:error] [pid 106813] [client 172.23.49.70:59961]   #0 <#3> PhutilJSONParser::parse(string) called at [<phutil>/src/utils/utils.php:1296]
> [Tue Oct 01 11:50:05.966283 2019] [:error] [pid 106813] [client 172.23.49.70:59961]   #1 <#3> phutil_json_decode(string) called at [<phabricator>/src/applications/conduit/controller/PhabricatorConduitAPIController.php:666]
> [Tue Oct 01 11:50:05.966286 2019] [:error] [pid 106813] [client 172.23.49.70:59961]   #2 <#2> PhabricatorConduitAPIController::decodeConduitParams(AphrontRequest, string) called at [<phabricator>/src/applications/conduit/controller/PhabricatorConduitAPIController.php:30]
> [Tue Oct 01 11:50:05.966288 2019] [:error] [pid 106813] [client 172.23.49.70:59961]   #3 phlog(PhutilProxyException) called at [<phabricator>/src/applications/conduit/controller/PhabricatorConduitAPIController.php:103]
> [Tue Oct 01 11:50:05.966291 2019] [:error] [pid 106813] [client 172.23.49.70:59961]   #4 PhabricatorConduitAPIController::handleRequest(AphrontRequest) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:286]
> [Tue Oct 01 11:50:05.966293 2019] [:error] [pid 106813] [client 172.23.49.70:59961]   #5 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:209]
> [Tue Oct 01 11:50:05.966296 2019] [:error] [pid 106813] [client 172.23.49.70:59961]   #6 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phabricator>/webroot/index.php:35]

Thanks.
What’s the locale of your Phabricator and in your git (echo $LANG should tell you this one).

For my windows client :

$ echo $LANG
fr_FR.UTF-8

For the server :

[root@phabricator phabricator]# echo $LANG
fr_FR.UTF-8

I had a phlog with the string that wil be parsed, in parsutils.php, the log just before exception seemes to me not terminate correctly:

[Tue Oct 01 11:50:05.964692 2019] [:error] [pid 106813] [client 172.23.49.70:59961] [2019-10-01 11:50:05] PHLOG: '$string :{"authors":["PHID-USER-wugnz5n522ledtteyeiw"],"status":"status-open","commitHashes":[["gtcm","c1fe734ba3cef583c4d024ecc87f' at [/var/www/phabricator/libphutil/src/utils/utils.php:1290]

Thanks again for your help

Looks like the client is not building the json correctly for some reason.

In your client libphutil, I want you to apply this patch:

diff --git src/conduit/ConduitClient.php src/conduit/ConduitClient.php
index 065a42a..5f3c356 100644
--- src/conduit/ConduitClient.php
+++ src/conduit/ConduitClient.php
@@ -131,6 +131,11 @@ final class ConduitClient extends Phobject {

     $uri = id(clone $this->uri)->setPath('/api/'.$method);

+    if ($method == 'differential.parsecommitmessage') {
+      var_dump($params);
+      var_dump(json_encode($params));
+    }
+
     $data = array(
       'params'      => json_encode($params),
       'output'      => 'json',

and try running the diff again - it should print out some more debug info which might help understand the issue.

Also, which version of PHP is your client using?

First :slight_smile:

bmerlier@MLAM0011 MINGW64 /d/git/test-git (master)
$ php -version
PHP 7.1.32 (cli) (built: Aug 28 2019 09:08:22) ( NTS MSVC14 (Visual C++ 2015) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

Git Console Log :slight_smile:

$ arc diff --trace
 ARGV  "D:/Outils/arcanist/arcanist/bin/../scripts/arcanist.php" "diff" "--trace"
 LOAD  Loaded "phutil" from "D:\Outils\arcanist\libphutil\src".
 LOAD  Loaded "arcanist" from "D:\Outils\arcanist\arcanist\src".
Config: Reading user configuration file "C:\Users\bmerlier\AppData\Roaming/.arcrc"...
Config: Did not find system configuration at "C:\ProgramData\Phabricator/Arcanist/config".
Working Copy: Reading .arcconfig from "D:\git\test-git/.arcconfig".
Working Copy: Path "D:\git\test-git" is part of `git` working copy "D:\git\test-git".
Working Copy: Project root is at "D:\git\test-git".
Config: Did not find local configuration at "D:\git\test-git\.git\arc/config".
>>> [0] (+0) <http> http://phabricator.match.com/api/user.whoami
<<< [0] (+4,277) <http> 4,277,956 us
>>> [1] (+4,283) <exec> $ git --version
<<< [1] (+4,383) <exec> 100,430 us
>>> [2] (+4,383) <exec> $ git status --porcelain=2 -z
<<< [2] (+4,493) <exec> 109,673 us
>>> [3] (+4,495) <event> diff.didCollectChanges <listeners = 0>
<<< [3] (+4,495) <event> 51 us
>>> [4] (+4,495) <exec> $ git rev-parse --verify HEAD^
<<< [4] (+4,595) <exec> 99,203 us
>>> [5] (+4,595) <exec> $ git rev-parse --abbrev-ref --symbolic-full-name "@{upstream}"
<<< [5] (+4,701) <exec> 106,276 us
>>> [6] (+4,701) <exec> $ git cat-file -t "origin/master"
<<< [6] (+4,809) <exec> 107,360 us
>>> [7] (+4,809) <exec> $ git merge-base "origin/master" HEAD
<<< [7] (+4,919) <exec> 110,031 us
>>> [8] (+4,919) <exec> $ git rev-parse "HEAD"
<<< [8] (+5,019) <exec> 99,377 us
>>> [9] (+5,019) <exec> $ git log --first-parent --format=medium "9d59faa51dac1c248662f286708bb1224fd3c805".."6baf0b549788b5aeb8df40fe595608bf2dda6e04"
<<< [9] (+5,118) <exec> 99,204 us
>>> [10] (+5,122) <exec> $ git log "6baf0b549788b5aeb8df40fe595608bf2dda6e04" --not "9d59faa51dac1c248662f286708bb1224fd3c805" --format=%H%x01%T%x01%P%x01%at%x01%an%x01%aE%x01%s%x01%s%n%n%b%x02 --
<<< [10] (+5,235) <exec> 112,982 us
>>> [11] (+5,235) <http> http://phabricator.match.com/api/differential.query
<<< [11] (+28,174) <http> 22,938,617 us
>>> [12] (+28,174) <exec> $ git rev-parse --git-dir
<<< [12] (+28,288) <exec> 113,818 us
>>> [13] (+28,288) <exec> $ git log "6baf0b549788b5aeb8df40fe595608bf2dda6e04" --not "9d59faa51dac1c248662f286708bb1224fd3c805" --format=%H%x01%T%x01%P%x01%at%x01%an%x01%aE%x01%s%x01%s%n%n%b%x02 --
<<< [13] (+28,401) <exec> 112,396 us
>>> [14] (+28,401) <http> http://phabricator.match.com/api/differential.parsecommitmessage
<<< [14] (+35,848) <http> 7,446,877 us

[2019-10-03 07:50:43] EXCEPTION: (ConduitClientException) ERR-CONDUIT-CORE: L’information de paramètre non valide a été passée à la méthode 'differential.parsecommitmessage'. at [<phutil>\src\conduit\ConduitFuture.php:62]
arcanist(head=master, ref.master=3cdfe1fff806), phutil(head=master, ref.master=f51f1b3f72b5)
  #0 ConduitFuture::didReceiveResult(array) called at [<phutil>\src\future\FutureProxy.php:58]
  #1 FutureProxy::getResult() called at [<phutil>\src\future\FutureProxy.php:35]
  #2 FutureProxy::resolve() called at [<phutil>\src\conduit\ConduitClient.php:64]
  #3 ConduitClient::callMethodSynchronous(string, array) called at [<arcanist>\src\differential\ArcanistDifferentialCommitMessage.php:48]
  #4 ArcanistDifferentialCommitMessage::pullDataFromConduit(ConduitClient, boolean) called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:2023]
  #5 ArcanistDiffWorkflow::parseCommitMessagesIntoFields(array) called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:1943]
  #6 ArcanistDiffWorkflow::getDefaultCreateFields() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:1579]
  #7 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:1501]
  #8 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:469]
  #9 ArcanistDiffWorkflow::run() called at [<arcanist>\scripts\arcanist.php:394]

Server error log :slight_smile:

[Thu Oct 03 09:50:38.153182 2019] [:error] [pid 1895] [client 172.23.49.70:51393] [2019-10-03 09:50:38] EXCEPTION: (PhutilProxyException) L\xe2\x80\x99information de param\xc3\xa8tre non valide a \xc3\xa9t\xc3\xa9 pass\xc3\xa9e \xc3\xa0 la m\xc3\xa9thode 'differential.parsecommitmessage'. {>} (PhutilJSONParserException) Parse error on line 1 at column 93: Invalid string, it appears you forgot to terminate the string, or attempted to write a multiline string which is invalid - It appears you have an extra trailing comma at [<phutil>/src/parser/PhutilJSONParser.php:32]
[Thu Oct 03 09:50:38.157699 2019] [:error] [pid 1895] [client 172.23.49.70:51393] arcanist(head=master, ref.master=3cdfe1fff806), phabricator(head=master, ref.master=76d9912932bc), phutil(head=master, ref.master=39ed96cd818a)
[Thu Oct 03 09:50:38.157716 2019] [:error] [pid 1895] [client 172.23.49.70:51393]   #0 <#3> PhutilJSONParser::parse(string) called at [<phutil>/src/utils/utils.php:1295]
[Thu Oct 03 09:50:38.157719 2019] [:error] [pid 1895] [client 172.23.49.70:51393]   #1 <#3> phutil_json_decode(string) called at [<phabricator>/src/applications/conduit/controller/PhabricatorConduitAPIController.php:666]
[Thu Oct 03 09:50:38.157722 2019] [:error] [pid 1895] [client 172.23.49.70:51393]   #2 <#2> PhabricatorConduitAPIController::decodeConduitParams(AphrontRequest, string) called at [<phabricator>/src/applications/conduit/controller/PhabricatorConduitAPIController.php:30]
[Thu Oct 03 09:50:38.157724 2019] [:error] [pid 1895] [client 172.23.49.70:51393]   #3 phlog(PhutilProxyException) called at [<phabricator>/src/applications/conduit/controller/PhabricatorConduitAPIController.php:103]
[Thu Oct 03 09:50:38.157727 2019] [:error] [pid 1895] [client 172.23.49.70:51393]   #4 PhabricatorConduitAPIController::handleRequest(AphrontRequest) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:286]
[Thu Oct 03 09:50:38.157729 2019] [:error] [pid 1895] [client 172.23.49.70:51393]   #5 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:209]
[Thu Oct 03 09:50:38.157732 2019] [:error] [pid 1895] [client 172.23.49.70:51393]   #6 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phabricator>/webroot/index.php:35]

I don’t see any new log, it seemes that exception occured before this part of code

Are you sure you modified the right libphutil? The one in D:\Outils\arcanist\libphutil\?

Try this patch instead of the last one:

diff --git src/conduit/ConduitClient.php src/conduit/ConduitClient.php
index 065a42a..011f9d0 100644
--- src/conduit/ConduitClient.php
+++ src/conduit/ConduitClient.php
@@ -131,6 +131,10 @@ final class ConduitClient extends Phobject {

     $uri = id(clone $this->uri)->setPath('/api/'.$method);

+    if (strpos($method, 'differential') === 0) {
+      phlog($method, $params, json_encode($params));
+    }
+
     $data = array(
       'params'      => json_encode($params),
       'output'      => 'json',

My bad, i think i edit the wrong file. :rofl:
I forgot that there are libs on the client not only on the server.

I try it, tomorow morning and back with log.

To be sure, the command line arc diff, doesn’t need arguments ?

Again thanks for your help

arc diff with no arguments tries to make reasonable guesses.

   if (strpos($method, 'differential') === 0) {
      phlog($method, $params, json_encode($params));
    }
	
	if ($method == 'differential.parsecommitmessage') {
	  var_dump($params);
      var_dump(json_encode($params));
    }

Trace on client with arc diff --trace:

 $ arc diff --trace
 ARGV  "D:/Outils/arcanist/arcanist/bin/../scripts/arcanist.php" "diff" "--trace"
 LOAD  Loaded "phutil" from "D:\Outils\arcanist\libphutil\src".
 LOAD  Loaded "arcanist" from "D:\Outils\arcanist\arcanist\src".
Config: Reading user configuration file "C:\Users\bmerlier\AppData\Roaming/.arcrc"...
Config: Did not find system configuration at "C:\ProgramData\Phabricator/Arcanist/config".
Working Copy: Reading .arcconfig from "D:\git\gitflowcmdtest/.arcconfig".
Working Copy: Path "D:\git\gitflowcmdtest" is part of `git` working copy "D:\git\gitflowcmdtest".
Working Copy: Project root is at "D:\git\gitflowcmdtest".
Config: Did not find local configuration at "D:\git\gitflowcmdtest\.git\arc/config".
>>> [0] (+0) <http> http://phabricator.match.com/api/user.whoami
<<< [0] (+2,634) <http> 2,634,221 us
>>> [1] (+2,638) <exec> $ git --version
<<< [1] (+2,739) <exec> 100,283 us
>>> [2] (+2,739) <exec> $ git status --porcelain=2 -z
<<< [2] (+2,847) <exec> 108,136 us
>>> [3] (+2,849) <event> diff.didCollectChanges <listeners = 0>
<<< [3] (+2,849) <event> 69 us
>>> [4] (+2,849) <exec> $ git rev-parse --verify HEAD^
<<< [4] (+2,941) <exec> 91,830 us
>>> [5] (+2,941) <exec> $ git rev-parse --abbrev-ref --symbolic-full-name "@{upstream}"
<<< [5] (+3,034) <exec> 92,524 us
>>> [6] (+3,034) <exec> $ git rev-parse --git-dir
<<< [6] (+3,125) <exec> 90,468 us
>>> [7] (+3,125) <exec> $ git cat-file -t "origin/develop"
<<< [7] (+3,219) <exec> 93,339 us
>>> [8] (+3,219) <exec> $ git merge-base "origin/develop" HEAD
<<< [8] (+3,317) <exec> 97,765 us
>>> [9] (+3,317) <exec> $ git rev-parse "HEAD"
<<< [9] (+3,405) <exec> 88,330 us
>>> [10] (+3,405) <exec> $ git log --first-parent --format=medium "3ff140c1644cd7e7896285e569ecbfc7e2006f6c".."3585f714659917acadedfc0823072aa7564fc68b"
<<< [10] (+3,501) <exec> 95,277 us
>>> [11] (+3,504) <exec> $ git log "3585f714659917acadedfc0823072aa7564fc68b" --not "3ff140c1644cd7e7896285e569ecbfc7e2006f6c" --format=%H%x01%T%x01%P%x01%at%x01%an%x01%aE%x01%s%x01%s%n%n%b%x02 --
<<< [11] (+3,606) <exec> 101,314 us
[2019-10-04 07:35:51] PHLOG: 'differential.query' at [D:\Outils\arcanist\libphutil\src\conduit\ConduitClient.php:137]
[2019-10-04 07:35:51] PHLOG: Array of size 4 starting with: { 'authors' => Array { 0 => 'PHID-USER-wugnz5n522ledtteyeiw' } } at [D:\Outils\arcanist\libphutil\src\conduit\ConduitClient.php:137]
[2019-10-04 07:35:51] PHLOG: '{"authors":["PHID-USER-wugnz5n522ledtteyeiw"],"status":"status-open","commitHashes":[["gtcm","3585f714659917acadedfc0823072aa7564fc68b"],["gttr","ecaa86dd308861234e48a53f5f5dd2c5df362833"]],"__conduit__":{"token":"cli-tik2c6qtgusdxbbqkcuuvi7id47y"}}' at [D:\Outils\arcanist\libphutil\src\conduit\ConduitClient.php:137]
>>> [12] (+3,609) <http> http://phabricator.match.com/api/differential.query
<<< [12] (+26,950) <http> 23,340,719 us
>>> [13] (+26,950) <exec> $ git log "3585f714659917acadedfc0823072aa7564fc68b" --not "3ff140c1644cd7e7896285e569ecbfc7e2006f6c" --format=%H%x01%T%x01%P%x01%at%x01%an%x01%aE%x01%s%x01%s%n%n%b%x02 --
<<< [13] (+27,059) <exec> 109,210 us
[2019-10-04 07:36:14] PHLOG: 'differential.parsecommitmessage' at [D:\Outils\arcanist\libphutil\src\conduit\ConduitClient.php:137]
[2019-10-04 07:36:14] PHLOG: Array of size 3 starting with: { 'corpus' => 'Ajout config arc' } at [D:\Outils\arcanist\libphutil\src\conduit\ConduitClient.php:137]
[2019-10-04 07:36:14] PHLOG: '{"corpus":"Ajout config arc","partial":true,"__conduit__":{"token":"cli-tik2c6qtgusdxbbqkcuuvi7id47y"}}' at [D:\Outils\arcanist\libphutil\src\conduit\ConduitClient.php:137]
array(3) {
  ["corpus"]=>
  string(16) "Ajout config arc"
  ["partial"]=>
  bool(true)
  ["__conduit__"]=>
  array(1) {
    ["token"]=>
    string(32) "cli-tik2c6qtgusdxbbqkcuuvi7id47y"
  }
}
string(103) "{"corpus":"Ajout config arc","partial":true,"__conduit__":{"token":"cli-tik2c6qtgusdxbbqkcuuvi7id47y"}}"
>>> [14] (+27,062) <http> http://phabricator.match.com/api/differential.parsecommitmessage
<<< [14] (+34,286) <http> 7,224,535 us

[2019-10-04 07:36:22] EXCEPTION: (ConduitClientException) ERR-CONDUIT-CORE: L’information de paramètre non valide a été passée à la méthode 'differential.parsecommitmessage'. at [<phutil>\src\conduit\ConduitFuture.php:62]
arcanist(head=master, ref.master=3cdfe1fff806), phutil(head=master, ref.master=f51f1b3f72b5)
  #0 ConduitFuture::didReceiveResult(array) called at [<phutil>\src\future\FutureProxy.php:58]
  #1 FutureProxy::getResult() called at [<phutil>\src\future\FutureProxy.php:35]
  #2 FutureProxy::resolve() called at [<phutil>\src\conduit\ConduitClient.php:64]
  #3 ConduitClient::callMethodSynchronous(string, array) called at [<arcanist>\src\differential\ArcanistDifferentialCommitMessage.php:48]
  #4 ArcanistDifferentialCommitMessage::pullDataFromConduit(ConduitClient, boolean) called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:2023]
  #5 ArcanistDiffWorkflow::parseCommitMessagesIntoFields(array) called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:1943]
  #6 ArcanistDiffWorkflow::getDefaultCreateFields() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:1579]
  #7 ArcanistDiffWorkflow::getCommitMessageFromUser() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:1501]
  #8 ArcanistDiffWorkflow::buildCommitMessage() called at [<arcanist>\src\workflow\ArcanistDiffWorkflow.php:469]
  #9 ArcanistDiffWorkflow::run() called at [<arcanist>\scripts\arcanist.php:394]

err… not only is that a valid json, it also contains nothing but ascii text.

At this point, I’m guessing either there’s some unexpected changes in your server code, or your client php/curl setup is strange and possibly buggy. Do other users in your instance have similar issues?

ps you might want to invalidate the cli token exposed here - navigate to /settings/user/<your username>/page/apitokens/ for that.

I’m the only one technical person on these test instance. It’s a centos mount on Hyper V to validate phabricator could be our team’s central tool.

Except diff tool, all are done to pass on Real server ^^.

I try to reinstall php and arcanist on my desktop if problem persist i’m waiting to finalize the production install to retest and test with other people.

PHP : Last version:
$ php -i
phpinfo()
PHP Version => 7.3.10

System => Windows NT MLAM0011 10.0 build 15063 (Windows 10) AMD64
Build Date => Sep 24 2019 11:50:33
Compiler => MSVC15 (Visual C++ 2017)
Architecture => x64
...
curl

cURL support => enabled
cURL Information => 7.64.0

Git : https://github.com/git-for-windows/git/releases/tag/v2.23.0.windows.1

Arcanist and libphutil : new clone

$ arc --version
arcanist 3cdfe1fff806d2b54a2df631cf90193e518f42b7 (5 Sep 2019)
libphutil 39ed96cd818aae761ec92613a9ba0800824d0ab0 (30 Sep 2019)

Invalidate token api then :slight_smile:

$ arc install-certificate
CONNECT  Connecting to "http://phabricator.match.com/api/"...
LOGIN TO PHABRICATOR
Open this page in your browser and login to Phabricator if necessary:

http://phabricator.match.com/conduit/login/

Then paste the API Token on that page below.

    Paste API Token from that page: cli-pq26sgjjpgzwwspdkryrk3lozfy3
Writing ~/.arcrc...
 SUCCESS!  API Token installed.

Step to reproduce :

  1. bmerlier@MLAM0011 MINGW64 /D/git/gitflowcmdtest (develop)
  2. $ git flow feature start arcNewTest
  3. add .arconfig and Modify one file
  4. $ git add .arcconfig src/main/java/com/match/test/TestApplication.java
  5. $ git commit -m “test arc diff”
  6. $ arc diff

BOOOOM T_T

 Exception
ERR-CONDUIT-CORE: L’information de paramètre non valide a été passée à la méthode 'differential.parsecommitmessage'.
(Run with `--trace` for a full exception trace.)

Found !!!

We have checked on other desktop, and it’s the proxy tool. In fact we have proxy with cntlm authentication and it seemes to me that tools change badly the message. Without tool arc diff run correctly :slight_smile:

I’m happy