• Resolved bearstar

    (@bearstar)


    Got this critical error today following the most recent Shield update (17.09):

    [03-Mar-2023 16:52:01 UTC] PHP Fatal error: Declaration of Monolog\Handler\FilterHandler::isHandling(array $record) must be compatible with Monolog\Handler\AbstractHandler::isHandling(array $record): bool in /home2/xxx/public_html/wp-content/plugins/the-events-calendar/common/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php on line 93

    By disabling Shield, the error resolves, but am without Shield protection. Any insight?

    The version of the events calendar is Version: 6.0.10

Viewing 13 replies - 1 through 13 (of 13 total)
  • Plugin Support Jelena

    (@jmisic)

    Hi,

    It looks like the Events Calendar plugin you’re using is making use of an old version of the PHP monolog library.

    The best solution going forward, particularly given that they support minimum PHP 7.4 is reach out to them and ask them to bring their Monolog library up-to-date…

    Here is some explanation around the problem:

    With our latest release, we moved Shield to a minimum PHP 7.2. This is because continuing to support PHP 7.0 & PHP 7.1 meant that we couldn’t properly support PHP 8.2 and every new version thereafter. As PHP develops, and more and more people start using newer versions of PHP, we have to keep up. Given the choice, we would prefer to continue to support older versions, but we just can’t.

    For some context, please see this error report on the WordPress forums:

    https://www.ads-software.com/…/php-fatal-error-declaration-of…/

    This was because other plugins had started the shift to PHP 7.2+ and so our plugin was “out of date” and caused breaks because different versions of the same PHP libraries were running on the site and causing breaks, just like you’ve described.

    We ultimately decided we had to also move our platform and this meant upgrading our libraries to keep up. But this now means that other plugins/themes running older libraries may now break. In much the same way as our plugin was behind when that?wp.org?support forum post was sent to us about our plugin.

    Hope this helps…

    Thread Starter bearstar

    (@bearstar)

    Understood. Thanks.

    Hi @bearstar and @jmisic ,

    I’m from the Events Calendar support team!

    We were notified about that issue earlier today. I’ve already raised an internal bug ticket (TEC-4730) to let our developers know about it and fix it for our next releases.

    Funny I was reading this ticket a little after it was opened. And then our alarms went off 9 of our sites with the Shield Security Pro and The Event Calendar was knocking sites off. I ran over to The Events Calendar to let them know of this issue.

    Looks like a roll back of ShieldSecurity until The Events Calendar releases an update.

    • This reply was modified 1 year, 12 months ago by KartHost.
    Plugin Support Jelena

    (@jmisic)

    @gugaalves , that’s great, thanks! ??

    For anyone reading this, as @karthost mentioned, at the moment best is to revert Shield to the previous v16.1.15 till the Events Calendar folks release a fix for this error.?

    When you revert, please ensure that you have the Shield plugin auto-update disabled, under the main Config menu > Auto Updates > Auto-Update Options > Auto Update Plugin > disabled.

    Plugin Author Paul

    (@paultgoodchild)

    Hi all, please try updating to version 17.0.11.

    We’ve taken a very unconventional step to avoid these error. We’ve created 2 separate dependency libraries within our own plugin to avoid any critical errors with other libraries. **

    If the library in conflict (Monolog) is found to be on the site already, Shield won’t load our version of library and so you won’t have any conflicts. However, you will no longer have access to Activity Logs or Traffic Logs on those affect sites.

    You’ll have 3 options:
    1) Push the developer of the other plugins with older, conflicting libraries to update their libraries and thereby allow yourself to use Shield’s logging feature.

    2) Find a replacement for the plugins that won’t update their libraries so that you can continue to use Shield in-full

    3) Don’t use Shield any longer.

    We know that by creating this option within Shield we are almost encouraging people to stop using Shield. That is your choice, and we respect it. No other plugin developer will bifurcate their PHP dependency libraries as we’ve just done for this release, but we don’t want our members to have to face critical PHP errors.

    It’s not an easy choice, and we hope you’ll apply pressure to the other plugin developers to update their libraries, but if you feel you need to remove Shield going forward, we respect your choice.

    ** This change won’t prevent ALL errors associated with the conflict as they conflict can arise in a number of different ways, but it should remove 99% of them.

    Hello @gugaalves, we too are impacted by the issue with TEC, do you know if you’ll be following up here to announce a fix, or should we open a separate ticket to track when a fix will be available?

    @paultgoodchild If we apply the suggested short term fix with Shield, and lose access to activity logs, does that also mean if an IP is flagged as a bot we wouldn’t be able to reset it? We’ve had that happen with some of our users and they get blocked from accessing the site until we fix them.

    Right now we’re trying to determine if we…

    1. Roll back to an older version of Shield pro and use that until TEC corrects their issue, or
    2. Apply the new fix you suggested, or
    3. Run naked sans Shield until a resolution is available

    For what its’ worth, we’re REALLY hoping a TEC fix is coming quickly, we’d really prefer to not have to stop using Shield.

    Appreciate the feedback.

    -Scott

    Hi @sacredkow,

    I’ve included this forum ticket URL in our internal bug ticket so we’ll be back here to let you know it was fixed once we release the new version including that improvement!

    Excellent @gugaalves, thank you so much!

    Plugin Author Paul

    (@paultgoodchild)

    @sacredkow thanks for your message. You can still manage IP address rules under Shield > IP Manager. This is unaffected.

    The only issue you’ll face without the activity log is being able to ascertain why exactly an IP was blocked, or any such information to inform you as to why and when certain things occurred.

    Automatic and CrowdSec IP blocking still runs as normal and you can manage IP rules as you always could. You can also use the Search box to find information on an IP address at any time within the plugin.

    Hope that helps!

    Hi everyone,

    I can see that the Shield Security plugin was updated, and their new version prevents the conflict; you can use both plugins together again!

    You’ll note that it will show a conflict warning on the Shield Security dashboard, but the Fatar errors are not happening anymore.

    Also, the Events Calendar development team is working on a new update to make it much more compatible with other plugins by using the Strauss library. All of our 3rd party libraries (Monolog, etc) should go through this process; it will prevent these Fatal error scenarios from ever coming up!

    Hi there,
    ?
    I’m from the Events Calendar support team!

    We wanted to inform you that with our latest release of The Events Calendar version 6.0.12, we resolved the issue with the Shield Security plugin compatibility. Be sure to review our full Release Notes at?https://theeventscalendar.com/release-notes/the-events-calendar/the-events-calendar-6-0-12/?for more details.
    ?
    As always, we suggest testing updates on a staging site first (https://theeventscalendar.com/knowledgebase/k/creating-and-using-a-wordpress-staging-site/), and having a recent backup, but it should all be smooth sailing.
    ?
    Have a great rest of your day!

    Plugin Author Paul

    (@paultgoodchild)

    @d0153 brilliant stuff, thanks for your work on that. I think we’ll probably take on Strauss, too, and prevent this again for the future.

    Thanks again!

Viewing 13 replies - 1 through 13 (of 13 total)
  • The topic ‘Possible conflict with the Events Calendar plugin’ is closed to new replies.