Access Denied - /concrete/controllers/backend/messenger.php(78): Exception->null

Hi all

I have recently updated a site form v8 to v9.1.3 and on every single page when logged into the editor we receive a popup with an access denied error on:

/concrete/controllers/backend/messenger.php(78): Exception->null

Here is the full stack trace:

/htdocs/updates/concrete-cms-9.1.3/concrete/controllers/backend/messenger.php(78): Exception->null
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Controller/AbstractController.php(318): Concrete\Controller\Backend\Messenger->consume
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Controller/AbstractController.php(318): null->call_user_func_array
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Routing/ControllerRouteAction.php(64): Concrete\Core\Controller\AbstractController->runAction
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/RouteDispatcher.php(37): Concrete\Core\Routing\ControllerRouteAction->execute
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/DispatcherDelegate.php(39): Concrete\Core\Http\RouteDispatcher->dispatch
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/MiddlewareStack.php(86): Concrete\Core\Http\Middleware\DispatcherDelegate->next
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/DefaultDispatcher.php(127): Concrete\Core\Http\Middleware\MiddlewareStack->process
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/DefaultDispatcher.php(60): Concrete\Core\Http\DefaultDispatcher->handleDispatch
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/DispatcherDelegate.php(39): Concrete\Core\Http\DefaultDispatcher->dispatch
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/FrameOptionsMiddleware.php(39): Concrete\Core\Http\Middleware\DispatcherDelegate->next
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\FrameOptionsMiddleware->process
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/StrictTransportSecurityMiddleware.php(36): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\StrictTransportSecurityMiddleware->process
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/ContentSecurityPolicyMiddleware.php(36): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\ContentSecurityPolicyMiddleware->process
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/CookieMiddleware.php(35): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\CookieMiddleware->process
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/ApplicationMiddleware.php(29): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/MiddlewareDelegate.php(50): Concrete\Core\Http\Middleware\ApplicationMiddleware->process
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/Middleware/MiddlewareStack.php(86): Concrete\Core\Http\Middleware\MiddlewareDelegate->next
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Http/DefaultServer.php(85): Concrete\Core\Http\Middleware\MiddlewareStack->process
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Foundation/Runtime/Run/DefaultRunner.php(125): Concrete\Core\Http\DefaultServer->handleRequest
/htdocs/updates/concrete-cms-9.1.3/concrete/src/Foundation/Runtime/DefaultRuntime.php(102): Concrete\Core\Foundation\Runtime\Run\DefaultRunner->run
/htdocs/updates/concrete-cms-9.1.3/concrete/dispatcher.php(45): Concrete\Core\Foundation\Runtime\DefaultRuntime->run
/htdocs/concrete/bootstrap/configure.php(52): null->require
/htdocs/concrete/dispatcher.php(18): null->require
/htdocs/index.php(2): null->require

I don’t get the error in my local dev environment but only on our prod server using PHP 8.1.

I don’t even know where to begin with this but I need a fix asap. I am hoping someone here can help?

Many thanks!

Hi @newmoon - so on your local are you running PHP 7 of some sort?

And you see this error only when you’re logged into the CMS in edit mode? Do you have any more detail about when / how it’s occurring?

Hi EvanCooper

Thanks for coming back to me! My local is running 8.0 where I don’t receive the error, live is running 8.1.

I receive the error on every single page visit on live when logged into Concrete. It is the first thing that pops up when the page loads, no matter what you do. Both on the front end and when in the dashboard pages.

I don’t know if this is related but the system is also throwing an exception on every single warning which is causing all sorts of problems. I don’t have “Consider warnings as errors” turned on, I have checked in the dashboard, the config files and the database and it doesn’t appear anywhere. I wondered though if this error is being thrown due to a warning somewhere in the stack.

Any advice you can give would be greatly appreciated!

Many thanks
David

Hmm I would try clearing the cache just to make sure there’s nothing weird going on in there - you can do that manually by just clearing everything in the /application/files/cache directory - or you can use the command line to clear the cache.

Always a good thing to rule out, and then if that doesn’t do the trick we can think of some other things.

Do you have anything non-default enabled in Concrete like public registration or anything like that? That might also help narrow it down if it’s an unknown bug in non-default functionality that just hasn’t been addressed yet.

Hi @EvanCooper

Many thanks for coming back to me. We have cleared the cache several times since relaunching but sadly with no change. We can still use the dashboard, we just have to clear the error message on every page we go to, after that, it seems to work fine. It’s just really annoying and slows everything down.

I suspect it is related to the second issue where warnings are being thrown as errors, I wonder if its not a true error but it is being treated as such which is why everything else still works.

We don’t have anything non standard enabled. It is a pretty straight forward marketing site, mostly built with blocks created through Block Designer Pro.

Any additional insight would be greatly appreciated.

Many thanks
David

Hi @newmoon - after reading this again, yes I think you will need to set your live stack to not treat warnings as errors - I would compare the error_reporting section of your php.ini on your local with the one on production - my hunch is the one on production is set to show warnings as errors which is going to cause lots of problems.

Here’s a link that might be useful: PHP: Runtime Configuration - Manual

Let me know if that does the trick.

Hi @EvanCooper

Thank you again for coming back to me. I can confirm that the settings are correct in PHP, it just seems to be something strange in Concrete itself.

Any other guidance you can give would be greatly appreciated!

Many thanks
David

I’ve got the same error going on with 2 of my websites. To the best of my knowledge I’ve tried all the usual suspects, even completely replacing the concrete/ folder with a fresh installed one (because in rare cases that fixes weird issues) but that didn’t work either.

I noticed a couple other threads having this issue as well. I hope someone can provide a solution soon.