XF 2.3 Suppress error log (trying to ID problem without the overhead)

TheLaw

Well-known member
I'm seeking a way to disable the error log as it generates (literally) thousands of errors like the below every few minutes and in a relatively short time can create a bona fide danger of database corruption. I'd prefer to turn it on and off since the site works for now.

As to the error, I still can't find it. XF is at v2.3.4, templates are updated to the latest style v2.3.4 and and switching to the default style doesn't make the problem disappear. I've also taken time to turn off addons but still no success. At first I saw the below, but it wasn't the Tickets addon causing the problem. After disabling it, you'll see the other error below.

  • ErrorException: Template error: [E_USER_WARNING] Cannot call method getTypeActionPhrase on a non-object (NULL)
  • src/XF/Template/Templater.php:1268

Stack trace​

#0 [internal function]: XF\Template\Templater->handleTemplateError(512, '[E_USER_WARNING...', '/home/mysite/p...', 1268)
#1 src/XF/Template/Templater.php(1268): trigger_error('Cannot call met...', 512)
#2 internal_data/code_cache/templates/l1/s8/public/_widget_thread_createnewthread.php(8): XF\Template\Templater->method(NULL, 'getTypeActionPh...', Array)
#3 src/XF/Template/Templater.php(1800): XF\Template\Templater->{closure}(Object(NF\Tickets\XF\Template\Templater), Array, NULL)
#4 src/XF/Widget/Html.php(17): XF\Template\Templater->renderTemplate('widget_thread...', Array)
#5 internal_data/code_cache/widgets/_71_thread_createnewthread.php(5): XF\Widget\Html->render()
#6 src/XF/Template/Templater.php(8176): XF\SubContainer\Widget->{closure}(Object(NF\Tickets\XF\Template\Templater), Array, Array)
#7 src/XF/SubContainer/Widget.php(176): XF\Template\Templater->renderWidgetClosure(Object(Closure), Array)
#8 src/XF/Template/Templater.php(2145): XF\SubContainer\Widget->getCompiledWidget(Array, Array)
#9 internal_data/code_cache/templates/l1/s8/public/thread_view.php(1063): XF\Template\Templater->widgetPosition('thread_view_sid...', Array)
#10 src/XF/Template/Templater.php(1800): XF\Template\Templater->{closure}(Object(NF\Tickets\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#11 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('thread_view', Array)
#12 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#13 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Html->renderView('XF:Thread\\View', 'public:thread_v...', Array)
#14 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#15 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#16 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#17 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#18 src/XF.php(806): XF\App->run()
#19 index.php(23): XF::runApp('XF\\Pub\\App')
#20 {main}

REQUEST STATE

array(4) {
["url"] => string(54) "/threads/blah-blah-blah.3404/"
["referrer"] => bool(false)
["_GET"] => array(0) {
}
["_POST"] => array(0) {
}
}


After NF Tickets is disabled:


  • ErrorException: Template error: [E_USER_WARNING] Cannot call method getTypeActionPhrase on a non-object (NULL)
  • src/XF/Template/Templater.php:1268

Stack trace

#0 [internal function]: XF\Template\Templater->handleTemplateError(512, '[E_USER_WARNING...', '/home/mysite/p...', 1268)
#1 src/XF/Template/Templater.php(1268): trigger_error('Cannot call met...', 512)
#2 internal_data/code_cache/templates/l1/s8/public/_widget_thread_createnewthread.php(8): XF\Template\Templater->method(NULL, 'getTypeActionPh...', Array)
#3 src/XF/Template/Templater.php(1800): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#4 src/XF/Widget/Html.php(17): XF\Template\Templater->renderTemplate('widget_thread...', Array)
#5 internal_data/code_cache/widgets/_71_thread_createnewthread.php(5): XF\Widget\Html->render()
#6 src/XF/Template/Templater.php(8176): XF\SubContainer\Widget->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Array)
#7 src/XF/SubContainer/Widget.php(176): XF\Template\Templater->renderWidgetClosure(Object(Closure), Array)
#8 src/XF/Template/Templater.php(2145): XF\SubContainer\Widget->getCompiledWidget(Array, Array)
#9 internal_data/code_cache/templates/l1/s8/public/thread_view.php(1059): XF\Template\Templater->widgetPosition('thread_view_sid...', Array)
#10 src/XF/Template/Templater.php(1800): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#11 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('thread_view', Array)
#12 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#13 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Html->renderView('XF:Thread\\View', 'public:thread_v...', Array)
#14 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#15 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#16 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#17 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#18 src/XF.php(806): XF\App->run()
#19 index.php(23): XF::runApp('XF\\Pub\\App')
#20 {main}

Request state​

array(4) {
["url"] => string(79) "/threads/another-thread-here.60017/"
["referrer"] => bool(false)
["_GET"] => array(0) {
}
["_POST"] => array(0) {
}
}
 
#2 internal_data/code_cache/templates/l1/s8/public/_widget_thread_createnewthread.php(8): XF\Template\Templater->method(NULL, 'getTypeActionPh...', Array)
Check your widgets, do you have a non-standard widget to create a new thread?
If so: Deactivate that widget.
 
Thank you.. This was where I went looking next since templates didn't cause the problem. Addons didn't cause the problem.

Widget in the sidebar that had the following code to add a Create New Thread button.

The other reason to have a suppress errors function is that these may not appear in the server log. The database will grow by GBs if this is not monitored regularly and can crash the DB.

Code:
<xf:button href="{{ link('forums/post-thread', $forum) }}" class="button--cta" icon="write" rel="nofollow">
        {{ $forum.TypeHandler.getTypeActionPhrase('cta') ?: phrase('post_thread') }}
    </xf:button>
 
Back
Top Bottom