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/.