Arc liberate throws exception

Reproduction Instructions

  1. Run arc liberate

Expected behaviour
It runs without error.

Actual behaviour
It throws an exception:

EXCEPTION: (TypeError) fwrite(): Argument #3 ($length) must be of type ?int, string given at [<arcanist>/src/moduleutils/PhutilLibraryMapBuilder.php:125]
arcanist()
  #0 fwrite(resource, string, string) called at [<arcanist>/src/moduleutils/PhutilLibraryMapBuilder.php:125]
  #1 PhutilLibraryMapBuilder::log(string) called at [<arcanist>/src/moduleutils/PhutilLibraryMapBuilder.php:454]
  #2 PhutilLibraryMapBuilder::analyzeLibrary() called at [<arcanist>/src/moduleutils/PhutilLibraryMapBuilder.php:77]
  #3 PhutilLibraryMapBuilder::buildMap() called at [<arcanist>/src/moduleutils/PhutilLibraryMapBuilder.php:109]
  #4 PhutilLibraryMapBuilder::buildAndWriteMap() called at [<arcanist>/support/lib/rebuild-map.php:75]

Suggested fix
The offending line referred to in the backtrace above looks like this:

@fwrite(STDERR, "%s\n", $message);

Based on other uses of fwrite() throughout the phabricator/arcanist/libphutil codebases, it should probably look like this:

@fwrite(STDERR, $message."\n");

Arcanist Version
arcanist 5d9e971ab0e0ac0b7b15f4023336a253e78a60e1 (13 Mar 2021)