Page MenuHomePhabricator

`arc land` Exception; null passed to `idx()`
Closed, ResolvedPublic

Description

After upgrading recently, I get a strange exception when I try to land a feature branch.

$ arc version
arcanist 8fe013b0ecb58bd38213f13064bcc918416b8d4d (28 May 2015)
libphutil c2cd90ee7aec642dcdf72de6119a9cac6e735cff (26 May 2015)

Command Trace:

$ arc land
libphutil loaded from '/Users/jgable/projects/fb/libphutil/src'.
arcanist loaded from '/Users/jgable/projects/fb/arcanist/src'.
Config: Reading user configuration file "/Users/jgable/.arcrc"...
Config: Did not find system configuration at "/etc/arcconfig".
Working Copy: Reading .arcconfig from "/Users/jgable/projects/summit/traject/.arcconfig".
Working Copy: Path "/Users/jgable/projects/summit/traject" is part of `git` working copy "/Users/jgable/projects/summit/traject".
Working Copy: Project root is at "/Users/jgable/projects/summit/traject".
Config: Did not find local configuration at "/Users/jgable/projects/summit/traject/.git/arc/config".
>>> [0] <conduit> conduit.connect() <bytes = 482>
>>> [1] <http> http://phabricator.openeducationlabs.org/api/conduit.connect
<<< [1] <http> 237,565 us
<<< [0] <conduit> 239,683 us
>>> [2] <conduit> repository.query() <bytes = 194>
>>> [3] <http> http://phabricator.openeducationlabs.org/api/repository.query
<<< [3] <http> 226,652 us
<<< [2] <conduit> 226,897 us

[2015-05-28 19:27:28] EXCEPTION: (InvalidArgumentException) Argument 1 passed to idx() must be of the type array, null given, called in /Users/jgable/projects/fb/arcanist/src/workflow/ArcanistLandWorkflow.php on line 266 and defined at [<phutil>/src/error/PhutilErrorHandler.php:200]
arcanist(head=master, ref.master=8fe013b0ecb5), phutil(head=master, ref.master=c2cd90ee7aec)
  #0 PhutilErrorHandler::handleError(integer, string, string, integer, array) called at [<phutil>/src/utils/utils.php:36]
  #1 idx(NULL, string) called at [<arcanist>/src/workflow/ArcanistLandWorkflow.php:266]
  #2 ArcanistLandWorkflow::readArguments() called at [<arcanist>/src/workflow/ArcanistLandWorkflow.php:198]
  #3 ArcanistLandWorkflow::run() called at [<arcanist>/scripts/arcanist.php:382]

arc which --trace

$ arc which --trace
libphutil loaded from '/Users/jgable/projects/fb/libphutil/src'.
arcanist loaded from '/Users/jgable/projects/fb/arcanist/src'.
Config: Reading user configuration file "/Users/jgable/.arcrc"...
Config: Did not find system configuration at "/etc/arcconfig".
Working Copy: Reading .arcconfig from "/Users/jgable/projects/summit/traject/.arcconfig".
Working Copy: Path "/Users/jgable/projects/summit/traject" is part of `git` working copy "/Users/jgable/projects/summit/traject".
Working Copy: Project root is at "/Users/jgable/projects/summit/traject".
Config: Did not find local configuration at "/Users/jgable/projects/summit/traject/.git/arc/config".
>>> [0] <conduit> conduit.connect() <bytes = 483>
>>> [1] <http> http://phabricator.openeducationlabs.org/api/conduit.connect
<<< [1] <http> 289,520 us
<<< [0] <conduit> 289,965 us
REPOSITORY
>>> [2] <conduit> repository.query() <bytes = 194>
>>> [3] <http> http://phabricator.openeducationlabs.org/api/repository.query
<<< [3] <http> 229,874 us
<<< [2] <conduit> 230,111 us
To identify the repository associated with this working copy, arc followed this process:

    Configuration value "repository.callsign" is set to "PLP".

    No repositories matched the query. Check that your configuration is
    correct, or use "repository.callsign" to select a repository explicitly.

This working copy is not associated with any repository.

>>> [4] <exec> $ git rev-parse --verify HEAD^
<<< [4] <exec> 16,758 us
>>> [5] <exec> $ git rev-parse --abbrev-ref --symbolic-full-name '@{upstream}'
<<< [5] <exec> 11,567 us
>>> [6] <exec> $ git cat-file -t 'remotes/origin/master'
<<< [6] <exec> 12,603 us
>>> [7] <exec> $ git merge-base 'remotes/origin/master' HEAD
<<< [7] <exec> 12,822 us
>>> [8] <exec> $ git rev-parse 'HEAD'
<<< [8] <exec> 9,943 us
>>> [9] <exec> $ git log '86a79dd80db77f6a2585d821b3768d6fd121c336' --not '10519398a8b20a78514cca9c236f4e1ea72744e6' --format='%H%x01%T%x01%P%x01%at%x01%an%x01%aE%x01%s%x01%s%n%n%b%x02' --
<<< [9] <exec> 12,394 us
>>> [10] <exec> $ git log -n 1 --format=%s '10519398a8b20a78514cca9c236f4e1ea72744e6'
<<< [10] <exec> 12,431 us
COMMIT RANGE
If you run 'arc diff', changes between the commit:

    10519398a8b20a78  Confirmation modal when deleting free form tasks

...and the current working copy state will be sent to Differential, because
it is the merge-base of 'remotes/origin/master' (the Git upstream of the
current branch) HEAD.

You can see the exact changes that will be sent by running this command:

    $ git diff 10519398a8b20a78..HEAD

These commits will be included in the diff:

    86a79dd80db77f6a  Add AutoSizeTextArea core component for Reflections


>>> [11] <exec> $ git log --first-parent --format=medium '10519398a8b20a78514cca9c236f4e1ea72744e6'..'86a79dd80db77f6a2585d821b3768d6fd121c336'
<<< [11] <exec> 13,549 us
>>> [12] <conduit> differential.query() <bytes = 217>
>>> [13] <http> http://phabricator.openeducationlabs.org/api/differential.query
<<< [13] <http> 262,844 us
<<< [12] <conduit> 263,083 us
MATCHING REVISIONS
These Differential revisions match the changes in this working copy:

    D720 Add AutoSizeTextArea core component for Reflections
        Reason: Commit message for '86a79dd80db77f6a' has explicit 'Differential Revision'.

Since exactly one revision in Differential matches this working copy, it will
be updated if you run 'arc diff'.

Revisions and Commits

Restricted Differential Revision

Event Timeline

jgable raised the priority of this task from to Needs Triage.
jgable updated the task description. (Show Details)
jgable added a subscriber: jgable.
epriestley added a revision: Restricted Differential Revision.May 28 2015, 11:10 PM
epriestley closed this task as Resolved by committing Restricted Diffusion Commit.May 28 2015, 11:11 PM
epriestley added a commit: Restricted Diffusion Commit.