Page MenuHomePhabricator

arc land freezes on up-to-date version
Closed, ResolvedPublic

Description

I updated libphutil and arcanist to the latest version.

Since then, arc land freezes after asking for the VCS password.

arc land arcpatch-D139 --trace
 ARGV  '/...arcanist/bin/../scripts/arcanist.php' 'land' 'arcpatch-D139' '--trace'
 LOAD  Loaded "phutil" from ".../libphutil/src".
 LOAD  Loaded "arcanist" from ".../arcanist/src".
Config: Reading user configuration file ".../.arcrc"...
Config: Did not find system configuration at "/etc/arcconfig".
Working Copy: Unable to find .arcconfig in any of these locations: .../repo/.arcconfig.
Working Copy: Path ".../repo" is part of `git` working copy ".../repo".
Working Copy: Project root is at ".../repo".
Config: Did not find local configuration at ".../repo/.git/arc/config".
>>> [0] <conduit> user.whoami() <bytes = 117>
>>> [1] <http> https://.../api/user.whoami
<<< [1] <http> 386,270 us
<<< [0] <conduit> 395,050 us
>>> [2] <exec> $ git symbolic-ref --quiet HEAD
<<< [2] <exec> 6,803 us
>>> [3] <exec> $ git rev-parse --symbolic-full-name 'arcpatch-D139'@{upstream}
<<< [3] <exec> 5,766 us
>>> [4] <exec> $ git --version
<<< [4] <exec> 2,430 us
>>> [5] <exec> $ git ls-remote --get-url 'origin'
<<< [5] <exec> 4,776 us
>>> [6] <conduit> repository.query() <bytes = 290>
>>> [7] <http> https://.../api/repository.query
<<< [7] <http> 261,435 us
<<< [6] <conduit> 261,595 us
>>> [8] <exec> $ git rev-parse --symbolic-full-name 'arcpatch-D139'@{upstream}
<<< [8] <exec> 8,023 us
>>> [9] <exec> $ git rev-parse --symbolic-full-name 'master'@{upstream}
<<< [9] <exec> 9,027 us
>>> [10] <exec> $ git symbolic-ref --quiet HEAD
<<< [10] <exec> 4,788 us
>>> [11] <exec> $ git rev-parse --symbolic-full-name 'arcpatch-D139'@{upstream}
<<< [11] <exec> 5,262 us
 TARGET  Landing onto "master", the default target under git.
>>> [12] <exec> $ git rev-parse --symbolic-full-name 'arcpatch-D139'@{upstream}
<<< [12] <exec> 5,189 us
 REMOTE  Using remote "origin", the default remote under git.
>>> [13] <exec> $ git diff --no-ext-diff --no-textconv --raw 'HEAD' --
>>> [14] <exec> $ git ls-files --others --exclude-standard
<<< [14] <exec> 5,038 us
<<< [13] <exec> 7,629 us
>>> [15] <exec> $ git diff-files --name-only
<<< [15] <exec> 5,214 us
>>> [16] <exec> $ git rev-parse --verify 'origin/master'
<<< [16] <exec> 5,062 us
>>> [17] <exec> $ git rev-parse --verify 'arcpatch-D139'
<<< [17] <exec> 4,665 us
 FETCH  Fetching origin/master...
>>> [18] <exec> $ git fetch -- 'origin' 'master'
Password for 'https://user@...':

When I enter the password, nothing happens, also trace is quiet.

A collegue of mine was working with an older version of arcanist and libphutil.

arcanist: 3308da5f8fbe9de8c9c2a25646a5704eca323851
libphutil: 59f5a8d2bb820074c4d4bd28ab2b3c2541a857e2

With this version, I could run arc land.

Has this problem appeared before? Maybe I have a config setting wrongly set.

Event Timeline

Does this fix it?

diff --git a/src/land/ArcanistGitLandEngine.php b/src/land/ArcanistGitLandEngine.php
index 068124d..9eff26b 100644
--- a/src/land/ArcanistGitLandEngine.php
+++ b/src/land/ArcanistGitLandEngine.php
@@ -128,7 +128,7 @@ final class ArcanistGitLandEngine
       pht('FETCH'),
       pht('Fetching %s...', $ref));
 
-    $api->execxLocal(
+    $api->execPassthru(
       'fetch -- %s %s',
       $this->getTargetRemote(),
       $this->getTargetOnto());

This solved my problem, thank you so much.

epriestley triaged this task as Normal priority.