Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHP Fatal error: Uncaught TypeError #1486

Closed
olatechpro opened this issue Oct 13, 2023 · 0 comments · Fixed by #1487
Closed

PHP Fatal error: Uncaught TypeError #1486

olatechpro opened this issue Oct 13, 2023 · 0 comments · Fixed by #1487

Comments

@olatechpro
Copy link
Collaborator

From: https://secure.helpscout.net/conversation/2389402575/211549?folderId=6932143

Hi there,

I have just discovered one of our clients WP Multisite networks are having issues with completing scheduled cron events because of fatal PHP errors triggered by the PublishPress Planner plugin.
Because of this, other events in the queue are not reached thus do not complete. This leaves all sites in the network outdated in various ways since scheduled events cannot complete.

Here is an error for you:

PHP Fatal error: Uncaught TypeError: PublishPress\NotificationsLog\NotificationsLogModel::__construct(): Argument #1 ($log) must be of type WP_Comment, null given, called in /web/app/plugins/publishpress/modules/notifications-log/notifications-log.php on line 326 and defined in /web/app/plugins/publishpress/modules/notifications-log/library/NotificationsLogModel.php:218
Stack trace:
#0 /web/app/plugins/publishpress/modules/notifications-log/notifications-log.php(326): PublishPress\NotificationsLog\NotificationsLogModel->__construct()
#1 /web/wp/wp-includes/class-wp-hook.php(310): PP_Notifications_Log->removeAsyncNotificationLog()
#2 /web/wp/wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters()
#3 /web/wp/wp-includes/plugin.php(517): WP_Hook->do_action()
#4 /web/app/plugins/publishpress/modules/async-notifications/async-notifications.php(140): do_action()
#5 /web/wp/wp-includes/class-wp-hook.php(310): PP_Async_Notifications->send_notification()
#6 /web/wp/wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters()
#7 /web/wp/wp-includes/plugin.php(565): WP_Hook->do_action()
#8 phar:///usr/local/bin/wp/vendor/wp-cli/cron-command/src/Cron_Event_Command.php(364): do_action_ref_array()
#9 phar:///usr/local/bin/wp/vendor/wp-cli/cron-command/src/Cron_Event_Command.php(286): Cron_Event_Command::run_event()
#10 [internal function]: Cron_Event_Command->run()
#11 phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CommandFactory.php(100): call_user_func()
#12 [internal function]: WP_CLI\Dispatcher\CommandFactory::WP_CLI\Dispatcher{closure}()
#13 phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/Subcommand.php(491): call_user_func()
#14 phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(431): WP_CLI\Dispatcher\Subcommand->invoke()
#15 phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(454): WP_CLI\Runner->run_command()
#16 phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(1269): WP_CLI\Runner->run_command_and_exit()
#17 phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LaunchRunner.php(28): WP_CLI\Runner->start()
#18 phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/bootstrap.php(83): WP_CLI\Bootstrap\LaunchRunner->process()
#19 phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/wp-cli.php(32): WP_CLI\bootstrap()
#20 phar:///usr/local/bin/wp/php/boot-phar.php(20): include('...')
#21 /usr/local/bin/wp(4): include('...')
#22 {main}
thrown in /web/app/plugins/publishpress/modules/notifications-log/library/NotificationsLogModel.php on line 218

We execute cron events via a real server cronjob.
Here is what we use for one of our sites (it is the same for others, too, just a different --url flag);
13,28,43,58 * * * * /usr/local/bin/wp cron event run --due-now --path=/www/activatelearningcolleges_710/public/current/web/wp/ --url=merristwood.activatelearning.ac.uk > /dev/null 2>&1

The scheduled event in question that is triggering the error is publishpress_notifications_send_notification.

Each site has a queue of at least 50 of these notifications publishpress_notifications_send_notification.

Please can this be looked into ASAP.

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant