• Resolved tbclark3

    (@tbclark3)


     Fatal error: Uncaught Error: call_user_func_array(): Argument #1 ($callback) must be a valid callback, function “_return_false” not found or invalid function name
    in /var/www/html/wp-includes/class-wp-hook.php on line 310

    Call stack:

    1. WP_Hook::apply_filters()
      wp-includes/plugin.php:205
    2. apply_filters()
      wp-includes/comment.php:688
    3. wp_allow_comment()
      wp-includes/comment.php:2278
    4. wp_new_comment()
      wp-content/plugins/postie/postie-message.php:682
    5. PostieMessage::save_post()
      wp-content/plugins/postie/postie-message.php:159
    6. PostieMessage::process()
      wp-content/plugins/postie/postie.class.php:211
    7. Postie::fetch_mail()
      wp-content/plugins/postie/postie.class.php:89
    8. Postie::get_mail()
      wp-content/plugins/postie/postie-api.php:74
    9. postie_get_mail()
      wp-content/plugins/postie/config_form.php:33
    10. require_once()
      wp-content/plugins/postie/postie.php:302
    11. PostieInit::postie_show_config_page()
      wp-includes/class-wp-hook.php:308
    12. WP_Hook::apply_filters()
      wp-includes/class-wp-hook.php:332
    13. WP_Hook::do_action()
      wp-includes/plugin.php:517
    14. do_action()
      wp-admin/admin.php:259
Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author Wayne Allen

    (@wayneallen-1)

    Thanks for the details. I’m not sure what is happening as __return_false is a valid WP function and is used in many other places than Postie.

    Its possible that some other plugin has also registered a hook for the duplicate_comment_id filter and passed in _return_false (only one leading underscore rather than 2)

    You can likely get around this on the Postie side by setting “Allow Duplicate Comments” to “No”

    Thread Starter tbclark3

    (@tbclark3)

    Thanks for your fast response!

    Changing “Allow Duplicate Comments” to “No” doesn’t change the error.

    I can’t find any plugin that changes __return_false to _return_false:

    grep -rn . -e ‘_return_false’
    ./another-wordpress-classifieds-plugin/includes/compatibility/class-jetpack-plugin-integration.php:47: add_filter( ‘jetpack_enable_open_graph’, ‘__return_false’ );
    ./another-wordpress-classifieds-plugin/includes/compatibility/class-seo-framework-plugin-integration.php:96: add_filter( ‘awpcp-should-generate-rel-canonical’, ‘__return_false’ );
    ./another-wordpress-classifieds-plugin/includes/compatibility/class-seo-framework-plugin-integration.php:97: add_filter( ‘awpcp-should-generate-basic-meta-tags’, ‘__return_false’ );
    ./another-wordpress-classifieds-plugin/includes/compatibility/class-seo-framework-plugin-integration.php:98: add_filter( ‘awpcp-should-generate-title’, ‘__return_false’ );
    ./google-sitemap-generator/class-googlesitemapgeneratorloader.php:86: add_filter( ‘wp_sitemaps_enabled’, ‘__return_false’ );
    ./google-sitemap-generator/sitemap.php:117: add_filter( ‘wp_sitemaps_enabled’, ‘__return_false’ );
    ./peters-login-redirect/src/core/src/Admin/RedirectionsPage.php:125: add_filter(‘screen_options_show_screen’, ‘__return_false’);
    ./wp-optimize/cache/class-wp-optimize-cache-commands.php:211: add_filter(‘updraft_interrupt_tasks_queue_load-url-task’, ‘__return_false’, 99);
    ./wp-mail-smtp/src/Options.php:1524: add_filter( ‘wp_mail_smtp_options_is_const_enabled’, ‘__return_false’, PHP_INT_MAX );
    ./wp-mail-smtp/src/Options.php:1526: remove_filter( ‘wp_mail_smtp_options_is_const_enabled’, ‘__return_false’, PHP_INT_MAX );
    ./postie/postie.class.php:53: add_filter(‘duplicate_comment_id’, ‘__return_false’);
    ./query-monitor/classes/Dispatcher.php:97: add_filter( “qm/dispatch/{$this->id}”, ‘__return_false’ );
    ./events-manager/buddypress/bp-em-core.php:327: add_filter(‘option_dbem_js_limit’, ‘__return_false’);
    ./events-manager/buddypress/bp-em-core.php:328: add_filter(‘option_dbem_css_limit’, ‘__return_false’);
    ./events-manager/classes/em-taxonomy-frontend.php:90: add_filter(‘mtm_is_cpt_page’, ‘__return_false’);
    ./mailpoet/lib/Cron/ActionScheduler/RemoteExecutorHandler.php:31: $this->wp->addFilter(‘https_local_ssl_verify’, ‘__return_false’, 100);
    ./tablepress/classes/class-render.php:298: add_filter( ‘tablepress_apply_nl2br’, ‘__return_false’, 9 ); // Priority 9, so that this filter can easily be overwritten at the default priority.
    ./tablepress/classes/class-render.php:319: remove_filter( ‘tablepress_apply_nl2br’, ‘__return_false’, 9 ); // Priority 9, so that this filter can easily be overwritten at the default priority.

    Any other thoughts?

    Thread Starter tbclark3

    (@tbclark3)

    Setting Treat Replies as “New Posts” instead of “Comments” fixes it, but it makes for a lot of new posts.

    Plugin Author Wayne Allen

    (@wayneallen-1)

    Try setting Treat Replies Asback to Commentsand set Allow Duplicate Comments to No

    Plugin Author Wayne Allen

    (@wayneallen-1)

    The latest version of Postie (1.9.64) should fix this issue.

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Postie throwing PHP fatal error on every run’ is closed to new replies.