Arcanist seems to crash with any invocation, possibly due to an incompatibility with the system PHP (the package says it depends on either php-blah or php5-blah (php5 packages aren't in the core package repo any more anyway), I have the php package installed, which is version 8.1)?
Upstream arcanist (e50d1bc4eabac9c37e3220e9f3fb8e37ae20b957) does not have this issue.
Steps to reproduce:
1. `apt install arcanist`
2. `arc help`
3. Observe crash
Workaround for users:
Install arcanist from upstream following these instructions: https://secure.phabricator.com/book/phabricator/article/arcanist_quick_start/
Suggested fix for the package maintainers:
Update the arcanist package or provide packages for an older PHP runtime and depend on that.
Here's the crash message:
```
PHP Deprecated: Function libxml_disable_entity_loader() is deprecated in /usr/share/arcanist/support/init/init-script.php on line 92
Deprecated: Function libxml_disable_entity_loader() is deprecated in /usr/share/arcanist/support/init/init-script.php on line 92
PHP Fatal error: Uncaught Exception: Error while loading file "/usr/share/arcanist/src/object/Phobject.php": Return type of Phobject::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/arcanist/src/init/lib/PhutilBootloader.php:275
Stack trace:
#0 /usr/share/arcanist/src/init/lib/PhutilBootloader.php(207): PhutilBootloader->executeInclude()
#1 /usr/share/arcanist/src/symbols/PhutilSymbolLoader.php(422): PhutilBootloader->loadLibrarySource()
#2 /usr/share/arcanist/src/symbols/PhutilSymbolLoader.php(277): PhutilSymbolLoader->loadSymbol()
#3 /usr/share/arcanist/src/init/init-library.php(23): PhutilSymbolLoader->selectAndLoadSymbols()
#4 /usr/share/arcanist/src/filesystem/Filesystem.php(18): __phutil_autoload()
#5 /usr/share/arcanist/src/init/lib/PhutilBootloader.php(247): include_once('...')
#6 /usr/share/arcanist/src/init/lib/PhutilBootloader.php(207): PhutilBootloader->executeInclude()
#7 /usr/share/arcanist/src/symbols/PhutilSymbolLoader.php(422): PhutilBootloader->loadLibrarySource()
#8 /usr/share/arcanist/src/symbols/PhutilSymbolLoader.php(277): PhutilSymbolLoader->loadSymbol()
#9 /usr/share/arcanist/src/init/init-library.php(23): PhutilSymbolLoader->selectAndLoadSymbols()
#10 /usr/share/arcanist/src/init/lib/PhutilBootloader.php(97): __phutil_autoload()
#11 /usr/share/arcanist/src/init/lib/PhutilBootloader.php(21): PhutilBootloader->registerLibrary()
#12 /usr/share/arcanist/src/init/init-library.php(70): PhutilBootloader::newLibrary()
#13 /usr/share/arcanist/support/init/init-script.php(96): require_once('...')
#14 /usr/share/arcanist/support/init/init-script.php(115): __arcanist_init_script__()
#15 /usr/share/arcanist/support/init/init-arcanist.php(3): require_once('...')
#16 /usr/share/arcanist/bin/arc(10): require_once('...')
#17 {main}
thrown in /usr/share/arcanist/src/init/lib/PhutilBootloader.php on line 275
Fatal error: Uncaught Exception: Error while loading file "/usr/share/arcanist/src/object/Phobject.php": Return type of Phobject::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/arcanist/src/init/lib/PhutilBootloader.php:275
Stack trace:
#0 /usr/share/arcanist/src/init/lib/PhutilBootloader.php(207): PhutilBootloader->executeInclude()
#1 /usr/share/arcanist/src/symbols/PhutilSymbolLoader.php(422): PhutilBootloader->loadLibrarySource()
#2 /usr/share/arcanist/src/symbols/PhutilSymbolLoader.php(277): PhutilSymbolLoader->loadSymbol()
#3 /usr/share/arcanist/src/init/init-library.php(23): PhutilSymbolLoader->selectAndLoadSymbols()
#4 /usr/share/arcanist/src/filesystem/Filesystem.php(18): __phutil_autoload()
#5 /usr/share/arcanist/src/init/lib/PhutilBootloader.php(247): include_once('...')
#6 /usr/share/arcanist/src/init/lib/PhutilBootloader.php(207): PhutilBootloader->executeInclude()
#7 /usr/share/arcanist/src/symbols/PhutilSymbolLoader.php(422): PhutilBootloader->loadLibrarySource()
#8 /usr/share/arcanist/src/symbols/PhutilSymbolLoader.php(277): PhutilSymbolLoader->loadSymbol()
#9 /usr/share/arcanist/src/init/init-library.php(23): PhutilSymbolLoader->selectAndLoadSymbols()
#10 /usr/share/arcanist/src/init/lib/PhutilBootloader.php(97): __phutil_autoload()
#11 /usr/share/arcanist/src/init/lib/PhutilBootloader.php(21): PhutilBootloader->registerLibrary()
#12 /usr/share/arcanist/src/init/init-library.php(70): PhutilBootloader::newLibrary()
#13 /usr/share/arcanist/support/init/init-script.php(96): require_once('...')
#14 /usr/share/arcanist/support/init/init-script.php(115): __arcanist_init_script__()
#15 /usr/share/arcanist/support/init/init-arcanist.php(3): require_once('...')
#16 /usr/share/arcanist/bin/arc(10): require_once('...')
#17 {main}
thrown in /usr/share/arcanist/src/init/lib/PhutilBootloader.php on line 275
```
ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: arcanist 0~git20200925-1
Uname: Linux 5.15.90.1-microsoft-standard-WSL2 x86_64
ApportVersion: 2.20.11-0ubuntu82.5
Architecture: amd64
CasperMD5CheckResult: unknown
Date: Thu Aug 24 12:31:52 2023
PackageArchitecture: all
ProcEnviron:
TERM=xterm-256color
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=C.UTF-8
SHELL=/usr/bin/zsh
SourcePackage: phabricator
UpgradeStatus: No upgrade log present (probably fresh install)