Hi,
Today 3 members of our ~6 person dev team started seeing this exception when running any arcanist command that interacted with the phabricator service:
➜ web git:(master) ✗ arc branch --trace libphutil loaded from '/Users/eric/code/libphutil/src'. arcanist loaded from '/Users/eric/code/arcanist/src'. Config: Reading user configuration file "/Users/eric/.arcrc"... Config: Did not find system configuration at "/etc/arcconfig". Working Copy: Reading .arcconfig from "/Users/eric/code/web/.arcconfig". Working Copy: Path "/Users/eric/code/web" is part of `git` working copy "/Users/eric/code/web". Working Copy: Project root is at "/Users/eric/code/web". Config: Did not find local configuration at "/Users/eric/code/web/.git/arc/config". Loading phutil library from '/Users/eric/code/web/support/arcanist/minitest_test_engine'... >>> [0] <conduit> user.whoami() <bytes = 117> >>> [1] <http> https://work.r23s.net/api/user.whoami <<< [1] <http> 315,681 us <<< [0] <conduit> 315,926 us [2015-05-14 20:30:05] EXCEPTION: (ConduitClientException) ERR-CONDUIT-CORE: Attempting to access attached data on PhabricatorUser (via getAwayUntil()), but the data is not actually attached. Before accessing attachable data on an object, you must load and attach it. Data is normally attached by calling the corresponding needX() method on the Query class when the object is loaded. You can also call the corresponding attachX() method explicitly. at [<phutil>/src/conduit/ConduitFuture.php:58] arcanist(head=master, ref.master=c6fa42b9c5c0), minitest-test-engine(), phutil(head=master, ref.master=dc4b8571f975) #0 ConduitFuture::didReceiveResult(array) called at [<phutil>/src/future/FutureProxy.php:60] #1 FutureProxy::getResult() called at [<phutil>/src/future/FutureProxy.php:37] #2 FutureProxy::resolve() called at [<phutil>/src/conduit/ConduitClient.php:58] #3 ConduitClient::callMethodSynchronous(string, array) called at [<arcanist>/src/workflow/ArcanistWorkflow.php:344] #4 ArcanistWorkflow::authenticateConduit() called at [<arcanist>/scripts/arcanist.php:349]
We were running a ~week old release of phabricator, then upgraded to master (ie b34d5bf44ba96b7b11d7a72e1056a979406b3e93), and all of us ran arc upgrade. The problem persisted until someone made this hacky patch, which fixed the problem:
ubuntu@work:/var/app/phabricator$ git diff diff --git a/src/applications/people/conduit/UserConduitAPIMethod.php b/src/applications/people/conduit/UserConduitAPIMethod.php index 82da171..4804780 100644 --- a/src/applications/people/conduit/UserConduitAPIMethod.php +++ b/src/applications/people/conduit/UserConduitAPIMethod.php @@ -48,11 +48,13 @@ abstract class UserConduitAPIMethod extends ConduitAPIMethod { // TODO: Modernize this once we have a more long-term view of what the // data looks like. + /* $until = $user->getAwayUntil(); if ($until) { $return['currentStatus'] = 'away'; $return['currentStatusUntil'] = $until; } + */ return $return; }
If it's any help, here's my arc version post-upgrade (which wasn't working before we made the patch):
➜ ~ arc --version arcanist c6fa42b9c5c07f79d4b76f91b0378b9d9ffa7a00 (14 May 2015) libphutil dc4b8571f97515f30eed334f94142f7d1f761674 (14 May 2015)
After making the patch, all functionality has resumed working properly.
Best,
Pavel