Page MenuHomePhabricator

arc diff failing due to "invalid type" error
Closed, ResolvedPublic

Description

I noticed the following task had been resolved:
https://secure.phabricator.com/T8805

But it looks the change for the above task only addressed the "duration" type. What about the following error (it happens when doing arc diff) which is very similar?

EXCEPTION: (ConduitClientException) ERR-CONDUIT-CORE: Parameter 'line' has invalid type. Expected type 'optional int', got type 'string'. at [<phutil>/src/conduit/ConduitFuture.php:58]
affogatolinter(), arcanist(head=master, ref.master=999eb9376568), owners(), phutil(head=master, ref.master=aa6cd8f7e5e5)

#0 <#2> ConduitFuture::didReceiveResult(array) called at [<phutil>/src/future/FutureProxy.php:58]
#1 <#2> FutureProxy::getResult() called at [<phutil>/src/future/FutureProxy.php:35]
#2 <#2> FutureProxy::resolve() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2786]
#3 phlog(ConduitClientException) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2792]
#4 ArcanistDiffWorkflow::updateAutotargets(string, integer) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:530]
#5 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:382]

Event Timeline

nickz assigned this task to epriestley.
nickz raised the priority of this task from to Needs Triage.
nickz updated the task description. (Show Details)
nickz added a project: Arcanist.
nickz added a subscriber: nickz.
epriestley triaged this task as Normal priority.Jul 22 2015, 1:30 PM

after updating to the latest version, I still got the error:

[2015-07-24 23:11:10] EXCEPTION: (ConduitClientException) ERR-CONDUIT-CORE: Parameter 'line' has invalid type. Expected type 'optional int', got type 'string'. at [<phutil>/src/conduit/ConduitFuture.php:58]
affogatolinter(), arcanist(head=master, ref.master=999eb9376568), owners(), phutil(head=master, ref.master=aa6cd8f7e5e5)

#0 <#2> ConduitFuture::didReceiveResult(array) called at [<phutil>/src/future/FutureProxy.php:58]
#1 <#2> FutureProxy::getResult() called at [<phutil>/src/future/FutureProxy.php:35]
#2 <#2> FutureProxy::resolve() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2786]
#3 phlog(ConduitClientException) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2792]
#4 ArcanistDiffWorkflow::updateAutotargets(string, integer) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:530]
#5 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:382]

Any ideas?

Is arc up to date? This change affects Arcanist, not Phabricator.

Yes, arc up to date:

On the client:
EX10301:pinboard nickz$ arc --version
arcanist 5fcf7b5a3b9ebbb42130b25f165283dbe2476f0c (24 Jul 2015)
libphutil aa6cd8f7e5e5e637dcfcb8417fbc343b45820c93 (8 Jul 2015)

On the server:
[root@phabulous006:/mnt/arcanist (master)]# git log -1
commit 5fcf7b5a3b9ebbb42130b25f165283dbe2476f0c
Author: Lukas Sparrow <lukas.sparrow@gmail.com>
Date: Fri Jul 24 05:11:32 2015 -0700

Can you show me the complete output on the client with --trace?

EX10301:pinboard nickz$ arc diff --trace
libphutil loaded from '/Users/nickz/Arcanist/libphutil/src'.
arcanist loaded from '/Users/nickz/Arcanist/arcanist/src'.
Config: Reading user configuration file "/Users/nickz/.arcrc"...
Config: Did not find system configuration at "/etc/arcconfig".
Working Copy: Reading .arcconfig from "/Users/nickz/code/pinboard/.arcconfig".
Working Copy: Path "/Users/nickz/code/pinboard" is part of git working copy "/Users/nickz/code/pinboard".
Working Copy: Project root is at "/Users/nickz/code/pinboard".
Config: Did not find local configuration at "/Users/nickz/code/pinboard/.git/arc/config".
Loading phutil library from '/Users/nickz/code/pinboard/.phabricator-libs/affogatolinter'...
Loading phutil library from '/Users/nickz/code/pinboard/.phabricator-libs/owners'...

[0] <conduit> conduit.connect() <bytes = 455>
[1] <http> https://phabricator.pinadmin.com/api/conduit.connect

<<< [1] <http> 1,675,525 us
<<< [0] <conduit> 1,675,896 us

[2] <exec> $ git diff --no-ext-diff --no-textconv --raw 'HEAD' --
[3] <exec> $ git ls-files --others --exclude-standard

<<< [2] <exec> 139,713 us
<<< [3] <exec> 138,967 us

[4] <exec> $ git diff-files --name-only

<<< [4] <exec> 69,617 us

[5] <event> diff.didCollectChanges <listeners = 0>

<<< [5] <event> 54 us

[6] <exec> $ git rev-parse --verify HEAD^

<<< [6] <exec> 29,763 us

[7] <exec> $ git merge-base 'origin/master' HEAD

<<< [7] <exec> 31,620 us

[8] <exec> $ git rev-parse 'HEAD'

<<< [8] <exec> 28,088 us

[9] <exec> $ git log --first-parent --format=medium '955511af274213958dceec8da321a786467ed6bc'..'cd5209c7bf769de9e293afa3b8a90327a28a3d48'

<<< [9] <exec> 31,014 us

[10] <conduit> differential.query() <bytes = 291>
[11] <http> https://phabricator.pinadmin.com/api/differential.query

<<< [11] <http> 1,275,340 us
<<< [10] <conduit> 1,275,577 us

[12] <exec> $ git rev-parse --git-dir

<<< [12] <exec> 6,059 us
You have a saved revision message in '.git/arc/create-message'.
Message begins:

just a test, don't merge

You can use this message, or discard it.

Do you want to use this message? [Y/n]

[13] <exec> $ git log 'cd5209c7bf769de9e293afa3b8a90327a28a3d48' --not '955511af274213958dceec8da321a786467ed6bc' --format='%H%x01%T%x01%P%x01%at%x01%an%x01%aE%x01%s%x01%s%n%n%b%x02' --

<<< [13] <exec> 33,376 us

[14] <conduit> differential.parsecommitmessage() <bytes = 348>
[15] <http> https://phabricator.pinadmin.com/api/differential.parsecommitmessage

<<< [15] <http> 2,227,047 us
<<< [14] <conduit> 2,227,267 us

[16] <conduit> differential.parsecommitmessage() <bytes = 325>
[17] <http> https://phabricator.pinadmin.com/api/differential.parsecommitmessage

<<< [17] <http> 1,406,056 us
<<< [16] <conduit> 1,406,323 us

[18] <event> diff.willBuildMessage <listeners = 0>

<<< [18] <event> 75 us

[19] <exec> $ git branch --no-color

<<< [19] <exec> 31,748 us

[20] <exec> $ vim '/var/folders/n0/hrlsr3695dv1d116vhl2lt3c0000gn/T/edit.62ovzr9g4zcw0gkk/new-commit'

<<< [20] <exec> 2,525,912 us

[21] <conduit> differential.parsecommitmessage() <bytes = 473>
[22] <http> https://phabricator.pinadmin.com/api/differential.parsecommitmessage

<<< [22] <http> 1,377,830 us
<<< [21] <conduit> 1,378,095 us

[23] <conduit> differential.query() <bytes = 187>
[24] <http> https://phabricator.pinadmin.com/api/differential.query

You have not specified any reviewers. Continue anyway? [y/N] y

<<< [24] <http> 1,857,573 us
<<< [23] <conduit> 1,857,884 us

[25] <event> diff.didBuildMessage <listeners = 0>

<<< [25] <event> 87 us

[26] <conduit> differential.getcommitmessage() <bytes = 239>
[27] <http> https://phabricator.pinadmin.com/api/differential.getcommitmessage

<<< [27] <http> 1,367,975 us
<<< [26] <conduit> 1,368,255 us

[28] <conduit> differential.parsecommitmessage() <bytes = 414>
[29] <http> https://phabricator.pinadmin.com/api/differential.parsecommitmessage

<<< [29] <http> 4,125,328 us
<<< [28] <conduit> 4,125,548 us

[30] <exec> $ git log --first-parent --format=medium '955511af274213958dceec8da321a786467ed6bc'..'cd5209c7bf769de9e293afa3b8a90327a28a3d48'

<<< [30] <exec> 33,318 us

[31] <conduit> differential.querydiffs() <bytes = 195>
[32] <http> https://phabricator.pinadmin.com/api/differential.querydiffs

<<< [32] <http> 1,401,574 us
<<< [31] <conduit> 1,401,763 us

[33] <exec> $ vim '/var/folders/n0/hrlsr3695dv1d116vhl2lt3c0000gn/T/edit.1mtz9p2f7rgg44ko/differential-update-comments'

<<< [33] <exec> 11,757,111 us
Linting...

[34] <exec> $ git rev-parse 'HEAD'

<<< [34] <exec> 29,921 us

[35] <exec> $ git merge-base '955511af274213958dceec8da321a786467ed6bc' 'cd5209c7bf769de9e293afa3b8a90327a28a3d48'

<<< [35] <exec> 33,030 us

[36] <exec> $ git diff --no-ext-diff --no-textconv --raw '955511af274213958dceec8da321a786467ed6bc' --

<<< [36] <exec> 129,290 us

[37] <exec> $ git diff --no-ext-diff --no-textconv --no-color --src-prefix=a/ --dst-prefix=b/ -U32767 -M -C '955511af274213958dceec8da321a786467ed6bc' --

<<< [37] <exec> 136,118 us
Examining paths for linter 'flake8'.
Found 1 matching paths for linter 'flake8'.

[38] <exec> $ which 'flake8'

<<< [38] <exec> 4,529 us

[39] <exec> $ which 'flake8'

<<< [39] <exec> 2,919 us

[40] <exec> $ 'flake8' --version

<<< [40] <exec> 513,352 us

[41] <lint> Flake8 <paths = 1>
[42] <exec> $ which 'flake8'

<<< [42] <exec> 3,075 us

[43] <exec> $ 'flake8' '/Users/nickz/code/pinboard/urls.py'

<<< [41] <lint> 4,176 us

[44] <lint> Flake8 <paths = 1>

<<< [43] <exec> 180,918 us
<<< [44] <lint> 181,406 us

Lint for urls.py:

Error  (E265) flake8 1
 block comment should start with '# '

            1 from django.conf.urls import include, patterns
            2 
 >>>        3 ## #Default handlers for errors
            4 handler500 = 'django.views.defaults.server_error'
            5 handler404 = 'django.views.defaults.page_not_found'
            6 handler403 = 'django.views.defaults.permission_denied'

LINT ERRORS Lint raised errors!

Lint issued unresolved errors! Provide explanation to continue or press Enter
to abort.

[45] <exec> $ bash -c 'true'

<<< [45] <exec> 3,746 us

Explanation: test

Running unit tests...
UNIT OKAY No unit test failures.

[46] <exec> $ git rev-parse 'HEAD'

<<< [46] <exec> 30,805 us

[47] <exec> $ git merge-base '955511af274213958dceec8da321a786467ed6bc' 'cd5209c7bf769de9e293afa3b8a90327a28a3d48'

<<< [47] <exec> 32,943 us

[48] <exec> $ git diff --no-ext-diff --no-textconv --no-color --src-prefix=a/ --dst-prefix=b/ -U32767 -M -C '955511af274213958dceec8da321a786467ed6bc' 'cd5209c7bf769de9e293afa3b8a90327a28a3d48' --

<<< [48] <exec> 38,928 us

[49] <exec> $ git rev-parse '955511af274213958dceec8da321a786467ed6bc'

<<< [49] <exec> 33,827 us

[50] <exec> $ git branch --no-color

<<< [50] <exec> 29,987 us

[51] <exec> $ git log --format=medium -n16 '955511af274213958dceec8da321a786467ed6bc'

<<< [51] <exec> 34,795 us

[52] <conduit> repository.query() <bytes = 195>
[53] <http> https://phabricator.pinadmin.com/api/repository.query

<<< [53] <http> 1,772,772 us
<<< [52] <conduit> 1,773,000 us

[54] <conduit> differential.creatediff() <bytes = 1722>
[55] <http> https://phabricator.pinadmin.com/api/differential.creatediff

<<< [55] <http> 1,393,777 us
<<< [54] <conduit> 1,393,959 us

[56] <event> diff.wasCreated <listeners = 0>

<<< [56] <event> 46 us
SKIP STAGING No staging area is configured for this repository.

[57] <conduit> harbormaster.queryautotargets() <bytes = 288>
[58] <http> https://phabricator.pinadmin.com/api/harbormaster.queryautotargets

<<< [58] <http> 1,454,133 us
<<< [57] <conduit> 1,454,360 us

[59] <conduit> harbormaster.sendmessage() <bytes = 553>
[60] <http> https://phabricator.pinadmin.com/api/harbormaster.sendmessage
[61] <conduit> harbormaster.sendmessage() <bytes = 272>
[62] <http> https://phabricator.pinadmin.com/api/harbormaster.sendmessage

<<< [60] <http> 1,263,273 us
<<< [59] <conduit> 1,274,636 us
[2015-07-26 05:32:42] EXCEPTION: (ConduitClientException) ERR-CONDUIT-CORE: Parameter 'char' has invalid type. Expected type 'optional int', got type 'string'. at [<phutil>/src/conduit/ConduitFuture.php:58]
affogatolinter(), arcanist(head=master, ref.master=5fcf7b5a3b9e), owners(), phutil(head=master, ref.master=aa6cd8f7e5e5)

#0 <#2> ConduitFuture::didReceiveResult(array) called at [<phutil>/src/future/FutureProxy.php:58]
#1 <#2> FutureProxy::getResult() called at [<phutil>/src/future/FutureProxy.php:35]
#2 <#2> FutureProxy::resolve() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2786]
#3 phlog(ConduitClientException) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2792]
#4 ArcanistDiffWorkflow::updateAutotargets(string, integer) called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:530]
#5 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:382]

[63] <conduit> differential.setdiffproperty() <bytes = 263>
[64] <http> https://phabricator.pinadmin.com/api/differential.setdiffproperty
[65] <conduit> differential.setdiffproperty() <bytes = 728>
[66] <http> https://phabricator.pinadmin.com/api/differential.setdiffproperty
[67] <exec> $ git log 'cd5209c7bf769de9e293afa3b8a90327a28a3d48' --not '955511af274213958dceec8da321a786467ed6bc' --format='%H%x01%T%x01%P%x01%at%x01%an%x01%aE%x01%s%x01%s%n%n%b%x02' --

<<< [67] <exec> 30,931 us

[68] <conduit> differential.setdiffproperty() <bytes = 1655>
[69] <http> https://phabricator.pinadmin.com/api/differential.setdiffproperty

<<< [64] <http> 1,229,272 us
<<< [63] <conduit> 1,229,667 us
<<< [69] <http> 1,804,304 us
<<< [68] <conduit> 1,804,601 us
<<< [66] <http> 1,846,618 us
<<< [65] <conduit> 1,846,869 us

[70] <conduit> differential.updaterevision() <bytes = 447>
[71] <http> https://phabricator.pinadmin.com/api/differential.updaterevision

<<< [71] <http> 1,927,964 us
<<< [70] <conduit> 1,928,138 us
Updated an existing Differential revision:

Revision URI: https://phabricator.pinadmin.com/D38076

Included changes:

M       urls.py

Aha! That's a different error:

[2015-07-26 05:32:42] EXCEPTION: (ConduitClientException) ERR-CONDUIT-CORE: Parameter 'char' has invalid type. Expected type 'optional int', got type 'string'. at [<phutil>/src/conduit/ConduitFuture.php:58]

Note char vs line. I'll fix this.

Presuming this is fixed for real now, let us know if you're still seeing any issues.