Quoting from Z1336: General Chat:
@eliaspro:
ran into an ugly issue today for which I'm still trying to figure out what to make out of it…
in our setup, Phabricator (and subcomponents) updates happen atomically, meaning: we don't update an existing phabricator installation but whenever any param (new commit, configuration changes, …) changes, a new unique build is generated and once the build is complete, the finished build is symlinked as the active one… (a bit similar to what Nix(OS) is doing on a global level)this lead to a weird result in bin/ssh-auth which generated the response for the bin/ssh-exec command pointing to old (already removed) builds, e.g.:
# echo {} | ssh git@10.0.0.163 conduit conduit.ping sh: 1: /var/www/10.0.0.163/phabricator/builds/0f42c560/bin/ssh-exec: not foundit turned out to be a caching issue in bin/ssh-auth which apparently doesn't take into account, whether the realpath of itself ($root) has changed and reuses a now invalid cache result for $authfile…
I worked around this issue for now by setting phabricator.cache-namespace to a per-build unique value (e.g. phabricator-0f42c560)
If you want to file a task for that, we can make the cachekey depend on the Phabricator directory root sooner or later. Using cache-namespace will also work.
Version Information
- phabricator fcd8c9c240d4c9de3368dfa80794be909cd6e3d2 (Thu, Mar 2)
- arcanist 3b6b523c2b236e3724a1e115f126cb6fd05fa128 (Sat, Feb 18)
- phutil 81494451f9be355d444451206c205304a9fb6118 (Tue, Feb 28)