Usually, when Phabricator posts a story to the notifications center, it gets a 500 HTTP response.
Sometimes, the payload is OK, like a task close.
Notifications Center log
[2022-04-20 15:20:44] production.INFO: [Gate] New payload. {"service":"Phabricator","door":"Nasqueron"}
That's the correct service and door information.
Notifications center stacktrace
2023-01-10 01:57:02] production.ERROR: RuntimeException: Can't reach Phabricator API endpoint: https://devcentral.nasqueron.org/api/maniphest.query in /var/wwwroot/default/app/Phabricator/PhabricatorAPI.php:157
Stack trace:
#0 /var/wwwroot/default/app/Phabricator/PhabricatorAPI.php(98): Nasqueron\Notifications\Phabricator\PhabricatorAPI::post('https://devcent...', Array)
#1 /var/wwwroot/default/app/Phabricator/PhabricatorStory.php(231): Nasqueron\Notifications\Phabricator\PhabricatorAPI->call('maniphest.query', Array)
#2 /var/wwwroot/default/app/Phabricator/PhabricatorStory.php(164): Nasqueron\Notifications\Phabricator\PhabricatorStory->getItemProjectsPHIDs('maniphest.query', 'PHID-TASK-5kfir...')
#3 /var/wwwroot/default/app/Phabricator/PhabricatorStory.php(296): Nasqueron\Notifications\Phabricator\PhabricatorStory->getProjectsPHIDs()
#4 /var/wwwroot/default/app/Phabricator/PhabricatorStory.php(284): Nasqueron\Notifications\Phabricator\PhabricatorStory->attachProjects()
#5 /var/wwwroot/default/app/Analyzers/Phabricator/PhabricatorPayloadAnalyzer.php(56): Nasqueron\Notifications\Phabricator\PhabricatorStory->getProjects()
#6 /var/wwwroot/default/app/Notifications/PhabricatorNotification.php(55): Nasqueron\Notifications\Analyzers\Phabricator\PhabricatorPayloadAnalyzer->getGroup()
#7 /var/wwwroot/default/app/Notifications/PhabricatorNotification.php(30): Nasqueron\Notifications\Notifications\PhabricatorNotification->getGroup()
#8 /var/wwwroot/default/app/Jobs/FirePhabricatorNotification.php(43): Nasqueron\Notifications\Notifications\PhabricatorNotification->__construct('Nasqueron', Object(Nasqueron\Notifications\Phabricator\PhabricatorStory))
#9 /var/wwwroot/default/app/Jobs/FirePhabricatorNotification.php(36): Nasqueron\Notifications\Jobs\FirePhabricatorNotification->createNotification()
#10 /var/wwwroot/default/app/Listeners/NotificationListener.php(52): Nasqueron\Notifications\Jobs\FirePhabricatorNotification->handle()
#11 [internal function]: Nasqueron\Notifications\Listeners\NotificationListener->onPhabricatorPayload(Object(Nasqueron\Notifications\Events\PhabricatorPayloadEvent))
#12 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(354): call_user_func_array(Array, Array)
#13 [internal function]: Illuminate\Events\Dispatcher->Illuminate\Events\{closure}(Object(Nasqueron\Notifications\Events\PhabricatorPayloadEvent))
#14 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(221): call_user_func_array(Object(Closure), Array)
#15 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(237): Illuminate\Events\Dispatcher->fire('Nasqueron\\Notif...')
#16 /var/wwwroot/default/app/Http/Controllers/Gate/PhabricatorGateController.php(70): Illuminate\Support\Facades\Facade::__callStatic('fire', Array)
#17 /var/wwwroot/default/app/Http/Controllers/Gate/PhabricatorGateController.php(45): Nasqueron\Notifications\Http\Controllers\Gate\PhabricatorGateController->onPayload()
#18 [internal function]: Nasqueron\Notifications\Http\Controllers\Gate\PhabricatorGateController->onPost('Nasqueron')
#19 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(55): call_user_func_array(Array, Array)
#20 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(44): Illuminate\Routing\Controller->callAction('onPost', Array)
#21 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Routing/Route.php(189): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Nasqueron\Notifications\Http\Controllers\Gate\PhabricatorGateController), 'onPost')
#22 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Routing/Route.php(144): Illuminate\Routing\Route->runController()
#23 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Routing/Router.php(653): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))
#24 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#25 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#26 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Routing/Router.php(655): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#27 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Routing/Router.php(629): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#28 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Routing/Router.php(607): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#29 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(268): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#30 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#31 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#32 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#33 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(33): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#34 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#35 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(150): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#36 /var/wwwroot/default/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(117): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#37 /var/wwwroot/default/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#38 {main}Phabricator daemon log stacktrace
The stacktrace confirms a 500 error occurs at Notifications Center and it's triggered by the expected FeedPublisherHTTPWorker class.
[20-Apr-2022 15:20:44 UTC] [2022-04-20 15:20:44] EXCEPTION: (PhutilProxyException) Error while executing Task ID 1564849.
{>} (HTTPFutureHTTPResponseStatus) [HTTP/500] Internal Server Error at [<arcanist>/src/future/http/BaseHTTPFuture.php:384]
[20-Apr-2022 15:20:44 UTC] arcanist(head=master, ref.master=b50a646a3f49), phabricator(head=production, ref.production=110c5657e272)
[20-Apr-2022 15:20:44 UTC] #0 <#2> BaseHTTPFuture::parseRawHTTPResponse(string) called at [<arcanist>/src/future/http/HTTPSFuture.php:545]
[20-Apr-2022 15:20:44 UTC] #1 <#2> HTTPSFuture::isReady() called at [<arcanist>/src/future/Future.php:63]
[20-Apr-2022 15:20:44 UTC] #2 <#2> Future::updateFuture() called at [<arcanist>/src/future/FutureIterator.php:224]
[20-Apr-2022 15:20:44 UTC] #3 <#2> FutureIterator::next() called at [<arcanist>/src/future/FutureIterator.php:190]
[20-Apr-2022 15:20:44 UTC] #4 <#2> FutureIterator::rewind()
[20-Apr-2022 15:20:44 UTC] #5 <#2> iterator_to_array(FutureIterator) called at [<arcanist>/src/future/FutureIterator.php:84] [20-Apr-2022 15:20:44 UTC] #6 <#2> FutureIterator::resolveAll() called at [<arcanist>/src/future/Future.php:47]
[20-Apr-2022 15:20:44 UTC] #7 <#2> Future::resolve() called at [<arcanist>/src/future/http/BaseHTTPFuture.php:302]
[20-Apr-2022 15:20:44 UTC] #8 <#2> BaseHTTPFuture::resolvex() called at [<phabricator>/src/applications/feed/worker/FeedPublisherHTTPWorker.php:37]
[20-Apr-2022 15:20:44 UTC] #9 <#2> FeedPublisherHTTPWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:124]
[20-Apr-2022 15:20:44 UTC] #10 <#2> PhabricatorWorker::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php:160]
[20-Apr-2022 15:20:44 UTC] #11 <#2> PhabricatorWorkerActiveTask::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php:22]
[20-Apr-2022 15:20:44 UTC] #12 PhabricatorTaskmasterDaemon::run() called at [<phabricator>/src/infrastructure/daemon/PhutilDaemon.php:219]Example of payload correctly processed
{ "storyID": "25897", "storyType": "PhabricatorApplicationTransactionFeedStory", "storyData": { "objectPHID": "PHID-DREV-sazqrae6zislmsictvw2", "transactionPHIDs": { "PHID-XACT-DREV-lormfebwbs4qghl": "PHID-XACT-DREV-lormfebwbs4qghl" } }, "storyAuthorPHID": "PHID-USER-fnetlprx7zdotfm2hdrz", "storyText": "dereckson added a comment to D2675: Use correct class and filename for RouteServiceProviderTest.", "epoch": "1650467490" }
Other correct payload should exists, as we got "null" debug information on Wearg when a payload doesn't have a value associated with the storyText field.