Diffusion - Latest Commits not showing in PHP 8.1 and above ("Still Importing")
Event Timeline
Can you please share more details in the question? Is that a new installation? have you seen the logs? are your daemons running? Thanks :)
Thanks! uhm...... still unclear how to help. Feel free to clarify these:
Is this an "Observed" git repository?
What happens if you Manage → Update Now the repository?
Sorry for not giving more info
This is a Mercurial repository. It is active and being used every day for development.
Repository functions are working: When I pull, I get the latest commit.
But on History it shows as "Still Importing.. This commit is still importing. Changes will be visible once the import finishes."
I did Update Now and I still shows as "Still Importing...."
I am not seeing the history exactly after this update - https://we.phorge.it/Q53
Kind of
git log
And telling the last one
Or, going into the /config/ page (but it may be broken for your case)
Premising that it is very strange that the daemon log is not telling anything in your /var/tmp/phd/log/daemons.log about this thing
Ah! I was looking in php error log
This is from the daemons.log
[08-May-2023 14:01:03 UTC] [2023-05-08 14:01:03] EXCEPTION: (PhutilProxyException) Error while executing Task ID 180186. {>} (RuntimeException) strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [<arcanist>/src/error/PhutilErrorHandler.php:261] [08-May-2023 14:01:03 UTC] arcanist(head=stable, ref.master=a1ee2ab93158, ref.stable=d47289622650), phorge(head=stable, ref.master=58fbf64a2786, ref.stable=d74e9d825a2c) [08-May-2023 14:01:03 UTC] #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/search/engine/PhabricatorApplicationSearchEngine.php:1140] [08-May-2023 14:01:03 UTC] #1 <#2> PhabricatorApplicationSearchEngine::buildConduitResponse(ConduitAPIRequest, DiffusionInternalCommitSearchConduitAPIMethod) called at [<phorge>/src/applications/search/engine/PhabricatorSearchEngineAPIMethod.php:52] [08-May-2023 14:01:03 UTC] #2 <#2> PhabricatorSearchEngineAPIMethod::execute(ConduitAPIRequest) called at [<phorge>/src/applications/conduit/method/ConduitAPIMethod.php:156] [08-May-2023 14:01:03 UTC] #3 <#2> ConduitAPIMethod::executeMethod(ConduitAPIRequest) called at [<phorge>/src/applications/conduit/call/ConduitCall.php:131] [08-May-2023 14:01:03 UTC] #4 <#2> ConduitCall::executeMethod() called at [<phorge>/src/applications/conduit/call/ConduitCall.php:81] [08-May-2023 14:01:03 UTC] #5 <#2> ConduitCall::execute() called at [<arcanist>/src/future/MethodCallFuture.php:30] [08-May-2023 14:01:03 UTC] #6 <#2> MethodCallFuture::isReady() called at [<arcanist>/src/future/Future.php:63] [08-May-2023 14:01:03 UTC] #7 <#2> Future::updateFuture() called at [<arcanist>/src/future/Future.php:159] [08-May-2023 14:01:03 UTC] #8 <#2> Future::start() called at [<arcanist>/src/future/FutureIterator.php:403] [08-May-2023 14:01:03 UTC] #9 <#2> FutureIterator::moveFutureToWork(integer) called at [<arcanist>/src/future/FutureIterator.php:374] [08-May-2023 14:01:03 UTC] #10 <#2> FutureIterator::updateWorkingSet() called at [<arcanist>/src/future/FutureIterator.php:206] [08-May-2023 14:01:03 UTC] #11 <#2> FutureIterator::next() called at [<arcanist>/src/future/FutureIterator.php:190] [08-May-2023 14:01:03 UTC] #12 <#2> FutureIterator::rewind() [08-May-2023 14:01:03 UTC] #13 <#2> iterator_to_array(FutureIterator) called at [<arcanist>/src/future/FutureIterator.php:84] [08-May-2023 14:01:03 UTC] #14 <#2> FutureIterator::resolveAll() called at [<arcanist>/src/future/Future.php:47] [08-May-2023 14:01:03 UTC] #15 <#2> Future::resolve() called at [<phorge>/src/applications/repository/storage/PhabricatorRepositoryCommit.php:549] [08-May-2023 14:01:03 UTC] #16 <#2> PhabricatorRepositoryCommit::newCommitRef(PhabricatorUser) called at [<phorge>/src/applications/repository/worker/commitmessageparser/PhabricatorRepositoryCommitMessageParserWorker.php:19] [08-May-2023 14:01:03 UTC] #17 <#2> PhabricatorRepositoryCommitMessageParserWorker::parseCommit(PhabricatorRepository, PhabricatorRepositoryCommit) called at [<phorge>/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:72] [08-May-2023 14:01:03 UTC] #18 <#2> PhabricatorRepositoryCommitParserWorker::doWork() called at [<phorge>/src/infrastructure/daemon/workers/PhabricatorWorker.php:124] [08-May-2023 14:01:03 UTC] #19 <#2> PhabricatorWorker::executeTask() called at [<phorge>/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php:160] [08-May-2023 14:01:03 UTC] #20 <#2> PhabricatorWorkerActiveTask::executeTask() called at [<phorge>/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php:22] [08-May-2023 14:01:03 UTC] #21 PhabricatorTaskmasterDaemon::run() called at [<phorge>/src/infrastructure/daemon/PhutilDaemon.php:219] [08-May-2023 14:01:03 UTC] #22 PhutilDaemon::execute() called at [<phorge>/scripts/daemon/exec/exec_daemon.php:131]
I see this strlen() error keeps repeating, and it is flooding the daemon.log
I have many repositories (50 or 60)
The bad news is that you are using PHP 8.1 or above that is not supported officially since never
The good news is that I can craft an hot-patch for you in few minutes, wait please
Oh no.......... I think some auto-update has updated the PHP version to 8.2
I have now manually changed to 7.4 and restarted the daemons
I will keep you updated on this
Since this question has an answer and a related Task and a related Patch, I mark this as closed :)
Since you were able to share a stack trace and give very useful troubleshooting info in almost realtime you are now marked as Trusted Contributors
Let's continue this discussion here:
T15370: PHP 8.1 "strlen(null)" exceptions block repository import