Arc call-conduit does not work on Windows

Arcanist version: ccd39feb6d3bbd84e122817b0d8b36284b6edd9d (25 Jul 2020, latest stable)
PHP versions: 7.2 - 7.4 (tested on four different Windows 10 machines)
Shells: cmd.exe and Git for Windows Bash

Do: echo '{}' | arc call-conduit -- conduit.ping

Expected result: Ping or in case I am not in a working directory arcanist telling me about it.

Actual result:
EXCEPTION: (Exception) Failed to set socket nonblocking! at [\src\channel\PhutilSocketChannel.php:51]
arcanist(head=stable, ref.stable=ccd39feb6d3b)
#0 PhutilSocketChannel::__construct(resource) called at [\src\workflow\ArcanistWorkflow.php:2413]
#1 ArcanistWorkflow::readStdin() called at [\src\workflow\ArcanistCallConduitWorkflow.php:47]
#2 ArcanistCallConduitWorkflow::runWorkflow(PhutilArgumentParser) called at [\src\workflow\ArcanistWorkflow.php:227]
#3 ArcanistWorkflow::executeWorkflow(PhutilArgumentParser) called at [\src\toolset\ArcanistPhutilWorkflow.php:21]
#4 ArcanistPhutilWorkflow::execute(PhutilArgumentParser) called at [\src\parser\argument\PhutilArgumentParser.php:492]
#5 PhutilArgumentParser::parseWorkflowsFull(array) called at [\src\runtime\ArcanistRuntime.php:171]
#6 ArcanistRuntime::executeCore(array) called at [\src\runtime\ArcanistRuntime.php:37]
#7 ArcanistRuntime::execute(array) called at [\support\init\init-arcanist.php:6]
#8 require_once(string) called at [\bin\arc:10]

Works on all our Linux and macOS clients, though.

Thanks, I filed this upstream as https://secure.phabricator.com/T13563.

1 Like