Page MenuHomePhorge

Unable to submit patch via arc diff
OpenPublic

Asked by deric on Dec 6 2023, 15:24.

Details

I'm unable to submit patch via arc diff command. There seems to be an issue with phutil , which should be deprecated, right?

...
 OKAY  No lint messages.
 LINT OKAY  No lint problems.
Running unit tests...

[2023-12-06 15:21:16] EXCEPTION: (PhutilBootloaderException) The phutil library 'phabricator' has not been loaded! at [<arcanist>/src/init/lib/PhutilBootloader.php:195]
arcanist(head=master, ref.master=e50d1bc4eaba), phorge(head=theme, ref.master=e610e739cb42, ref.theme=7d3c10f8c322)
  #0 PhutilBootloader::getLibraryRoot(string) called at [<arcanist>/src/init/lib/moduleutils.php:5]
  #1 phutil_get_library_root(string) called at [<phorge>/infrastructure/testing/PhabricatorTestCase.php:61]
  #2 PhabricatorTestCase::willRunTestCases(array) called at [<arcanist>/src/unit/engine/PhutilUnitTestEngine.php:64]
  #3 PhutilUnitTestEngine::run() called at [<arcanist>/src/unit/engine/ArcanistConfigurationDrivenUnitTestEngine.php:148]
  #4 ArcanistConfigurationDrivenUnitTestEngine::run() called at [<arcanist>/src/workflow/ArcanistUnitWorkflow.php:170]
  #5 ArcanistUnitWorkflow::run() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1231]
  #6 ArcanistDiffWorkflow::runUnit() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:1133]
  #7 ArcanistDiffWorkflow::runLintUnit() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:363]
  #8 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:427]
<<< [1] (+4,796) <exec> 4,796,931 us

Answers

avivey
Updated 381 Days Ago

"phutil" the library was disbanded, but "phutil library" in this case refers to the Phorge/Phabricator codebase itself. The name "phutil" is still common in the system.

Which change did you try to diff? looks like your arcanist has some local changes we don't have - is it up-to-date?

You can also run with --trace to maybe get more logs.

deric
Updated 381 Days Ago

Sorry, my fault. I've already have php 8.1 installed on my system. I guess arcanist is not yet compatible. I've managed to execute arc diff in Docker with old php version, but there's no mysql for running unit tests.

speck
Updated 376 Days Ago

At the moment I think using arcanist with Phorge requires using the one cloned from here. If you have a separate install of arcanist that’s older I don’t think it works properly. Could you try running the arc binary from the corresponding arcanist repo?

E.g.

../arcanist/bin/arc diff

New Answer