Hi everyone, we love Flarum and use it to run our discussion board of teachers from LA Unified. It has been invaluable during this time of remote learning.
Today I was adjusting some settings with the FoF upload extension, and Flarum stopped working. Logging in gave me the error: "An error occurred while trying to load this page."
I looked into the logs and saw the following stack trace:
[2020-05-05 20:59:48] production.ERROR: TypeError: Argument 1 passed to s9e\TextFormatter\Configurator\Helpers\TemplateLoader::innerXML() must be an instance of DOMElement, null given, called in /home/prod/flarum/vendor/s9e/text-formatter/src/Configurator/Helpers/TemplateLoader.php on line 79 and defined in /home/prod/flarum/vendor/s9e/text-formatter/src/Configurator/Helpers/TemplateLoader.php:30
Stack trace:
#0 /home/prod/flarum/vendor/s9e/text-formatter/src/Configurator/Helpers/TemplateLoader.php(79): s9e\TextFormatter\Configurator\Helpers\TemplateLoader::innerXML(NULL)
#1 /home/prod/flarum/vendor/s9e/text-formatter/src/Plugins/Emoticons/Configurator/EmoticonCollection.php(31): s9e\TextFormatter\Configurator\Helpers\TemplateLoader::save(Object(DOMDocument))
#2 /home/prod/flarum/vendor/s9e/text-formatter/src/Configurator/Collections/NormalizedCollection.php(217): s9e\TextFormatter\Plugins\Emoticons\Configurator\EmoticonCollection->normalizeValue('\xF0\x9F\x99\x82')
#3 /home/prod/flarum/vendor/s9e/text-formatter/src/Configurator/Collections/NormalizedCollection.php(135): s9e\TextFormatter\Configurator\Collections\NormalizedCollection->set('🙂', '\xF0\x9F\x99\x82')
#4 [internal function]: s9e\TextFormatter\Configurator\Collections\NormalizedCollection->add('🙂', '\xF0\x9F\x99\x82')
#5 /home/prod/flarum/vendor/s9e/text-formatter/src/Configurator/Traits/CollectionProxy.php(38): call_user_func_array(Array, Array)
#6 /home/prod/flarum/vendor/flarum/emoji/extend.php(20): s9e\TextFormatter\Plugins\Emoticons\Configurator->call('add', Array)
#7 /home/prod/flarum/vendor/flarum/core/src/Extend/Formatter.php(42): Flarum\Extension\Extension->{closure}(Object(s9e\TextFormatter\Configurator))
#8 /home/prod/flarum/vendor/illuminate/events/Dispatcher.php(360): Flarum\Extend\Formatter->Flarum\Extend{closure}(Object(Flarum\Formatter\Event\Configuring))
#9 /home/prod/flarum/vendor/illuminate/events/Dispatcher.php(209): Illuminate\Events\Dispatcher->Illuminate\Events{closure}('Flarum\Formatte...', Array)
#10 /home/prod/flarum/vendor/flarum/core/src/Formatter/Formatter.php(125): Illuminate\Events\Dispatcher->dispatch('Flarum\Formatte...')
#11 /home/prod/flarum/vendor/flarum/core/src/Formatter/Formatter.php(156): Flarum\Formatter\Formatter->getConfigurator()
#12 /home/prod/flarum/vendor/illuminate/cache/Repository.php(375): Flarum\Formatter\Formatter->Flarum\Formatter{closure}()
#13 /home/prod/flarum/vendor/flarum/core/src/Formatter/Formatter.php(157): Illuminate\Cache\Repository->rememberForever('flarum.formatte...', Object(Closure))
#14 /home/prod/flarum/vendor/flarum/core/src/Formatter/Formatter.php(200): Flarum\Formatter\Formatter->getComponent('js')
#15 /home/prod/flarum/vendor/flarum/core/src/Forum/ForumServiceProvider.php(103): Flarum\Formatter\Formatter->getJs()
#16 [internal function]: Flarum\Forum\ForumServiceProvider->Flarum\Forum{closure}()
#17 /home/prod/flarum/vendor/flarum/core/src/Frontend/Compiler/Source/StringSource.php(35): call_user_func(Object(Closure))
#18 /home/prod/flarum/vendor/flarum/core/src/Frontend/Compiler/Source/StringSource.php(46): Flarum\Frontend\Compiler\Source\StringSource->getContent()
#19 /home/prod/flarum/vendor/flarum/core/src/Frontend/Compiler/RevisionCompiler.php(239): Flarum\Frontend\Compiler\Source\StringSource->getCacheDifferentiator()
#20 /home/prod/flarum/vendor/flarum/core/src/Frontend/Compiler/RevisionCompiler.php(73): Flarum\Frontend\Compiler\RevisionCompiler->calculateRevision(Array)
#21 /home/prod/flarum/vendor/flarum/core/src/Frontend/Compiler/RevisionCompiler.php(125): Flarum\Frontend\Compiler\RevisionCompiler->commit()
#22 /home/prod/flarum/vendor/flarum/core/src/Frontend/Content/Assets.php(69): Flarum\Frontend\Compiler\RevisionCompiler->getUrl()
#23 [internal function]: Flarum\Frontend\Content\Assets->Flarum\Frontend\Content{closure}(Object(Flarum\Frontend\Compiler\JsCompiler))
#24 /home/prod/flarum/vendor/flarum/core/src/Frontend/Content/Assets.php(68): array_map(Object(Closure), Array)
#25 /home/prod/flarum/vendor/flarum/core/src/Frontend/Content/Assets.php(51): Flarum\Frontend\Content\Assets->getUrls(Array)
#26 /home/prod/flarum/vendor/flarum/core/src/Frontend/Frontend.php(63): Flarum\Frontend\Content\Assets->invoke(Object(Flarum\Frontend\Document), Object(Laminas\Diactoros\ServerRequest))
#27 /home/prod/flarum/vendor/flarum/core/src/Frontend/Frontend.php(55): Flarum\Frontend\Frontend->populate(Object(Flarum\Frontend\Document), Object(Laminas\Diactoros\ServerRequest))
#28 /home/prod/flarum/vendor/flarum/core/src/Frontend/Controller.php(32): Flarum\Frontend\Frontend->document(Object(Laminas\Diactoros\ServerRequest))
#29 /home/prod/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\Frontend\Controller->handle(Object(Laminas\Diactoros\ServerRequest))
#30 /home/prod/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\Http\RouteHandlerFactory->Flarum\Http{closure}(Object(Laminas\Diactoros\ServerRequest), Array)
#31 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\DispatchRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Closure))
#32 /home/prod/flarum/vendor/flarum/core/src/Http/Middleware/ShareErrorsFromSession.php(56): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#33 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ShareErrorsFromSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#34 /home/prod/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#35 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\SetLocale->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#36 /home/prod/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(23): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#37 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\CheckCsrfToken->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#38 /home/prod/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#39 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#40 /home/prod/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#41 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\RememberFromCookie->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#42 /home/prod/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#43 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\StartSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#44 /home/prod/flarum/vendor/flarum/core/src/Http/Middleware/CollectGarbage.php(46): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#45 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\CollectGarbage->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#46 /home/prod/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#47 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ParseJsonBody->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#48 /home/prod/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#49 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\HandleErrors->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#50 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#51 /home/prod/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#52 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\RequestHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#53 /home/prod/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#54 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePathRouter->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#55 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#56 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\Stratigility\Middleware\OriginalMessages->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#57 /home/prod/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#58 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePath->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#59 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#60 /home/prod/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler))
#61 /home/prod/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest))
#62 /home/prod/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
#63 /home/prod/flarum/public/index.php(26): Flarum\Http\Server->listen()
#64 {main}
I have tried the following to fix the error:
- clearing the PHP cache
- uninstalling and reinstalling FOF/upload extension
- enabling and disabling the FOF/upload extension
Nothing works and the error persists. I saw a similar error reported on the discussion board a couple of years back, but it looks like it was never resolved. The user gave up and switched to another software platform. I definitely do not want to do this. Our users love Flarum and I really want to fix this error so they can get back to posting. Can anyone help me?