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