HandleExceptions in Bootloader is ironically causing errors to be thrown

I’ve installed a plugin (WP Media Boxes) with a very basic extension of the Sage 10 theme.
The plugins enqueued scripts fail to load causing the admin UI to fail and not load properly.

PHP logs return nothing at all, so I switch themes to wordpress theme and voila - the plugin works fine.

I do some more digging and try to comment out bits of code within the theme to find the culprit, turns out its the Bootloader in bootstrap/app.php. Some more digging and the actual culprit is a specific call in the bootstrap method of the HandleExceptions class:
vendor/roots/acorn/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php line 43
when commenting out line 43, set_error_handler([$this, 'handleError']); everything works again.

For now I’m having to extend the Bootloader class and omit the HandleExceptions class from being loaded, is there something I am missing? What’s the purpose of this method and why does it break when using this plugin?

Ps, when checking logs after disabling this class the logs are back to normal, all I see are warnings from the plugin but no fatal errors…

PHP version: 7.3.5
Sage: v10

Try this gist. The problem is Woops related. If the plugin is showing a notice then Sage triggers Woops errors and that results in a WSOD

1 Like

This topic was automatically closed after 42 days. New replies are no longer allowed.