While running tests after setting up a repro for T12845, I received this crash:
[2017-06-14 19:46:09] ERROR 2: krsort() expects parameter 1 to be array, null given at [/Users/amckinley/src/phacility/core/lib/phabricator/src/applications/maniphest/constants/ManiphestTaskPriority.php:129] arcanist(head=experimental, ref.master=5d0f5afca8cd, ref.experimental=dc65bfbe5434), corgi(head=master, ref.master=47559c2f3db1), instances(head=master, ref.master=776ec695ac60), libcore(), phabricator(head=T12124, ref.master=3400f24c8b53, ref.T12124=103857925ae3), phutil(head=master, ref.master=74a1350416eb), services(head=master, ref.master=490e2a8b0429) #0 krsort(NULL) called at [<phabricator>/src/applications/maniphest/constants/ManiphestTaskPriority.php:129] #1 ManiphestTaskPriority::getConfig() called at [<phabricator>/src/applications/maniphest/constants/ManiphestTaskPriority.php:27] #2 ManiphestTaskPriority::getTaskPriorityKeywordsMap() called at [<phabricator>/src/applications/maniphest/__tests__/ManiphestTaskTestCase.php:197] #3 ManiphestTaskTestCase::moveTask(PhabricatorUser, ManiphestTask, ManiphestTask, boolean) called at [<phabricator>/src/applications/maniphest/__tests__/ManiphestTaskTestCase.php:30] #4 ManiphestTaskTestCase::testTaskReordering() #5 call_user_func_array(array, array) called at [<arcanist>/src/unit/engine/phutil/PhutilTestCase.php:492] #6 PhutilTestCase::run() called at [<arcanist>/src/unit/engine/PhutilUnitTestEngine.php:69] #7 PhutilUnitTestEngine::run() called at [<arcanist>/src/unit/engine/ArcanistConfigurationDrivenUnitTestEngine.php:147] #8 ArcanistConfigurationDrivenUnitTestEngine::run() called at [<arcanist>/src/workflow/ArcanistUnitWorkflow.php:167] #9 ArcanistUnitWorkflow::run() called at [<arcanist>/scripts/arcanist.php:420] [2017-06-14 19:46:09] ERROR 2: Invalid argument supplied for foreach() at [/Users/amckinley/src/phacility/core/lib/phabricator/src/applications/maniphest/constants/ManiphestTaskPriority.php:28] arcanist(head=experimental, ref.master=5d0f5afca8cd, ref.experimental=dc65bfbe5434), corgi(head=master, ref.master=47559c2f3db1), instances(head=master, ref.master=776ec695ac60), libcore(), phabricator(head=T12124, ref.master=3400f24c8b53, ref.T12124=103857925ae3), phutil(head=master, ref.master=74a1350416eb), services(head=master, ref.master=490e2a8b0429) #0 ManiphestTaskPriority::getTaskPriorityKeywordsMap() called at [<phabricator>/src/applications/maniphest/__tests__/ManiphestTaskTestCase.php:197] #1 ManiphestTaskTestCase::moveTask(PhabricatorUser, ManiphestTask, ManiphestTask, boolean) called at [<phabricator>/src/applications/maniphest/__tests__/ManiphestTaskTestCase.php:30] #2 ManiphestTaskTestCase::testTaskReordering() #3 call_user_func_array(array, array) called at [<arcanist>/src/unit/engine/phutil/PhutilTestCase.php:492] #4 PhutilTestCase::run() called at [<arcanist>/src/unit/engine/PhutilUnitTestEngine.php:69] #5 PhutilUnitTestEngine::run() called at [<arcanist>/src/unit/engine/ArcanistConfigurationDrivenUnitTestEngine.php:147] #6 ArcanistConfigurationDrivenUnitTestEngine::run() called at [<arcanist>/src/workflow/ArcanistUnitWorkflow.php:167] #7 ArcanistUnitWorkflow::run() called at [<arcanist>/scripts/arcanist.php:420]
Changing my install's config from null back to the global default resolved the issue, implying that the unit tests are pulling their configuration from my local install, instead of some mocked out config. This might be expected behavior for extracting stuff like locale, but it was counterintuitive when I saw it.