XF 1.2 Weird Cron Server Error

The Grand Potentate

Well-known member
Wondering if you guys could help me out with this one. I keep getting this Cron error, but its coming completely randomly. One day, it was 15+ errors. The next day, nothing. Today, there are 2:

ErrorException: Fatal Error: Class 'XenForo_Cron' not found - cron.php:12
Generated By: Unknown Account, Today at 12:26 PM
Stack Trace
#0 [internal function]: XenForo_Application::handleFatalError()
#1 {main}
Request State
array(3) {
["url"] => string(45) "http://domain/forum/cron.php?1375076959"
["_GET"] => array(1) {
[1375076959] => string(0) ""
}
["_POST"] => array(0) {
}
}

And:

ErrorException: Fatal Error: Class 'XenForo_Cron' not found - cron.php:12
Generated By: Unknown Account, Today at 12:51 PM
Stack Trace
#0 [internal function]: XenForo_Application::handleFatalError()
#1 {main}
Request State
array(3) {
["url"] => string(45) "http://domain/forum/cron.php?1375198266"
["_GET"] => array(1) {
[1375198266] => string(0) ""
}
["_POST"] => array(0) {
}
}

How do I figure out what's causing the problem here?
 
Have you checked to make sure your Page Container isn't out of date?
Templates aren't exactly my forte, but so far as I can tell everything's ok. The template itself doesn't ask me to merge any changes and the template modification page doesn't show anything in the red.

I've got 2 mods for page_container but both show up as green/0/0.
 
What is the content of the template ?

Here you go:

Code:
<!DOCTYPE html><xen:set var="$isResponsive" value="{xen:if '@enableResponsive AND !{$noResponsive}', 1, 0}" />
<html id="XenForo" lang="{$visitorLanguage.language_code}" dir="{$visitorLanguage.text_direction}" class="Public noJs {xen:if {$visitor.user_id}, 'LoggedIn', 'LoggedOut'} {xen:if {$sidebar}, 'Sidebar', 'NoSidebar'} {xen:if $hasAutoDeferred, RunDeferred} {xen:if $isResponsive, Responsive, NoResponsive}" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<xen:hook name="page_container_head">
   <meta charset="utf-8" />
   <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
   <xen:if is="{$isResponsive}">
     <meta name="viewport" content="width=device-width, initial-scale=1">
   </xen:if>
   <xen:if is="{$requestPaths.fullBasePath}">
     <base href="{$requestPaths.fullBasePath}" />
     <script><xen:comment>/* Chrome bug and for Google cache */</xen:comment>
       var _b = document.getElementsByTagName('base')[0], _bH = "{xen:jsescape $requestPaths.fullBasePath}";
       if (_b && _b.href != _bH) _b.href = _bH;
     </script>
   </xen:if>

   <title><xen:if is="{$title}">{xen:raw $title} | {$xenOptions.boardTitle}<xen:else />{$xenOptions.boardTitle}</xen:if></title>
   
   <noscript><style>.JsOnly { display: none !important; }</style></noscript>
   <link rel="stylesheet" href="css.php?css=xenforo,form,public&amp;style={xen:urlencode $_styleId}&amp;dir={$visitorLanguage.text_direction}&amp;d={$visitorStyle.last_modified_date}" />
   <!--XenForo_Require:CSS-->   
   {xen:helper ignoredCss, {$visitor.ignoredUsers}}

   <xen:include template="google_analytics" />
   <xen:include template="page_container_js_head" />
   
   <link rel="apple-touch-icon" href="{xen:helper fullurl, @ogLogoPath, 1}" />
   <link rel="alternate" type="application/rss+xml" title="{xen:phrase rss_feed_for_x, 'title={$xenOptions.boardTitle}'}" href="{xen:link forums/-/index.rss}" />
   <xen:if is="{$pageDescription.content} AND !{$pageDescription.skipmeta} AND !{$head.description}"><meta name="description" content="{xen:string wordTrim, {xen:helper stripHtml, {xen:raw $pageDescription.content}}, 200}" /></xen:if>
   <xen:if is="{$head}"><xen:foreach loop="$head" value="$headElement">{xen:raw $headElement}</xen:foreach></xen:if>
</xen:hook>
</head>

<body{xen:if {$bodyClasses}, ' class="{$bodyClasses}"'} data-floating-nav="{xen:if '@floatingBackToTop', 't'}{xen:if '@floatingBackToBottom', 'b'}"{xen:if '@toggleSideBar', ' data-sidebar-toggle="@maxResponsiveWideWidth,{xen:phrase style_property_sidebar_master}"'}>
<xen:hook name="body">

<xen:if is="{$visitor.is_moderator} || {$visitor.is_admin}">
   <xen:include template="moderator_bar" />
<xen:else />
   <xen:include template="login_bar" />
</xen:if>

<div id="headerMover">

<header>
   <xen:include template="header" />
   <xen:edithint template="navigation" />
   <xen:edithint template="search_bar" />
</header>

<div id="content" class="{$contentTemplate}">
   <div class="pageWidth">
     <div class="pageContent">
       <!-- main content area -->
       
       <xen:hook name="page_container_content_top" />
       
       <xen:if is="{$sidebar}">
         <div class="mainContainer">
           <div class="mainContent"></xen:if>
             
             <xen:include template="ad_above_top_breadcrumb" />
             
             <xen:hook name="page_container_breadcrumb_top">
             <div class="breadBoxTop {xen:if $topctrl, withTopCtrl}">
               <xen:if is="{$topctrl}"><div class="topCtrl">{xen:raw $topctrl}</div></xen:if>
               <xen:include template="breadcrumb"><xen:set var="$microdata">1</xen:set></xen:include>
             </div>
             </xen:hook>
             
             <xen:include template="ad_below_top_breadcrumb" />
           
             <!--[if lt IE 8]>
               <p class="importantMessage">{xen:phrase you_are_using_out_of_date_browser_upgrade}</p>
             <![endif]-->

             <xen:hook name="page_container_notices">
             <xen:include template="notices" />             
             </xen:hook>
             
             <xen:hook name="page_container_content_title_bar">
             <xen:if is="!{$noH1}">             
               <!-- h1 title, description -->
               <div class="titleBar">
                 {xen:raw $beforeH1}
                 <h1><xen:if
                   is="{$h1}">{xen:raw $h1}<xen:elseif
                   is="{$title}" />{xen:raw $title}<xen:else
                   />{$xenOptions.boardTitle}</xen:if></h1>
                 
                 <xen:if is="{$pageDescription.content}"><p id="pageDescription" class="muted {$pageDescription.class}">{xen:raw $pageDescription.content}</p></xen:if>
               </div>
             </xen:if>
             </xen:hook>
             
             <xen:include template="ad_above_content" />
             
             <!-- main template -->
             {xen:raw $contents}
             
             <xen:include template="ad_below_content" />
             
             <xen:if is="!{$visitor.user_id} && !{$hideLoginBar}">
               <!-- login form, to be moved to the upper drop-down -->
               <xen:include template="login_bar_form" />
             </xen:if>
             
           <xen:if is="{$sidebar}"></div>
         </div>
         
         <!-- sidebar -->
         <aside>
           <div class="sidebar">
             <xen:hook name="page_container_sidebar">
             <xen:include template="ad_sidebar_top" />
             <xen:if is="!{$noVisitorPanel}"><xen:include template="sidebar_visitor_panel" /></xen:if>
             {xen:raw $sidebar}
             <xen:include template="ad_sidebar_bottom" />
             </xen:hook>
           </div>
         </aside>
       </xen:if>
       
       <xen:hook name="page_container_breadcrumb_bottom">       
       <div class="breadBoxBottom"><xen:include template="breadcrumb" /></div>
       </xen:hook>
             
       <xen:include template="ad_below_bottom_breadcrumb" />
             
     </div>
   </div>
</div>

</div>

<footer id="forumFooter">
   <xen:include template="footer" />
</footer>

<xen:include template="page_container_js_body" />

</xen:hook>
</body>
</html>
 
Can you do a template search for Cron? Your PAGE_CONTAINER is correct.
Got 3 hits - 1 from TaigaChat and 2 Xenforo templates. Listed below:

  1. dark_taigachat_popup TaigaChat Pro
Code:
<!DOCTYPE html>
<html id="XenForo" class="taigachat_popuphtml Public {xen:if {$visitor.user_id}, 'LoggedIn', 'LoggedOut'}">
<head>
    <meta charset="utf-8" />
    <xen:if is="{$requestPaths.fullBasePath}"><base href="{$requestPaths.fullBasePath}" /></xen:if>
   
    <title>{xen:phrase dark_shoutbox} | {$xenOptions.boardTitle}</title>
   
    <noscript><style type="text/css">.JsOnly { display: none !important; }</style></noscript>
    <link rel="stylesheet" type="text/css" href="css.php?css=xenforo,form,public,bb_code,editor_ui,dark_taigachat&amp;style={xen:urlencode $_styleId}&amp;d={$visitorStyle.last_modified_date}" />

    <xen:include template="google_analytics" />
    <xen:include template="page_container_js_head" />
   
    <xen:if is="{$pageDescription.content} AND !{$pageDescription.skipmeta} AND !{$head.description}"><meta name="description" content="{xen:string wordTrim, {xen:helper stripHtml, {xen:raw $pageDescription.content}}, 200}" /></xen:if>
    <xen:if is="{$head}"><xen:foreach loop="$head" value="$headElement">{xen:raw $headElement}</xen:foreach></xen:if>
    <script type="text/javascript" src="js/dark/taigachat.js?{xen:raw $taigachat.js_modification}"></script>
</head>
<body class='taigachat_popup_body'>

<xen:if is="({$taigachat.toolbar} == 1 AND !{$taigachat.alt} AND !{$taigachat.sidebar}) OR ({$taigachat.toolbar} == 2 AND (!{$taigachat.sidebar} OR ({$taigachat.sidebar} AND {$taigachat.alt})) OR ({$taigachat.toolbar} == 3)">
    <xen:set var="$taigachat.toolbar_enabled">1</xen:set>
</xen:if>


<div id="content" class="{$contentTemplate} <xen:if is="{$taigachat.toolbar_enabled}">taigachat_toolbar_enabled</xen:if>">

    <xen:if is="{$taigachat.enabled}">
        <xen:if is="{$taigachat.canView}">       
           
            <xen:include template="dark_taigachat_chatbox" />   
           
        <xen:else />
        {xen:phrase dark_do_not_have_permission_shoutbox}
        </xen:if>   
    <xen:else />
        {xen:phrase dark_taigachat_disabled}   
    </xen:if>

</div>

<xen:include template="page_container_js_body" />

<xen:if is="{$cronLink}"><img src="{$cronLink}" width="1" height="1" alt="" /></xen:if>

</body>
</html>

xenforo_basehtml.css
Code:
/* ***************************** */
/* un-reset, mostly from YUI */

.baseHtml h1
    { font-size:138.5%; }
.baseHtml h2
    { font-size:123.1%; }
.baseHtml h3
    { font-size:108%; }
.baseHtml h1, .baseHtml h2, .baseHtml h3
    {  margin:1em 0; }
.baseHtml h1, .baseHtml h2, .baseHtml h3, .baseHtml h4, .baseHtml h5, .baseHtml h6, .baseHtml strong
    { font-weight:bold; }
.baseHtml abbr, .baseHtml acronym
    { border-bottom:1px dotted #000; cursor:help; } 
.baseHtml em
    {  font-style:italic; }
.baseHtml blockquote, .baseHtml ul, .baseHtml ol, .baseHtml dl
    { margin:1em; }
.baseHtml ol, .baseHtml ul, .baseHtml dl
    { margin-left:3em; margin-right:0; }
.baseHtml ul ul, .baseHtml ul ol, .baseHtml ul dl, .baseHtml ol ul, .baseHtml ol ol, .baseHtml ol dl, .baseHtml dl ul, .baseHtml dl ol, .baseHtml dl dl
    { margin-top:0; margin-bottom:0; }
.baseHtml ol li
    { list-style: decimal outside; }
.baseHtml ul li
    { list-style: disc outside; }
.baseHtml ol ul li, .baseHtml ul ul li
    { list-style-type: circle; }
.baseHtml ol ol ul li, .baseHtml ol ul ul li, .baseHtml ul ol ul li, .baseHtml ul ul ul li
    { list-style-type: square; }
.baseHtml ul ol li, .baseHtml ul ol ol li, .baseHtml ol ul ol li
    { list-style: decimal outside; }
.baseHtml dl dd
    { margin-left:1em; }
.baseHtml th, .baseHtml td
    { border:1px solid #000; padding:.5em; }
.baseHtml th
    { font-weight:bold; text-align:center; }
.baseHtml caption
    { margin-bottom:.5em; text-align:center; }
.baseHtml p, .baseHtml pre, .baseHtml fieldset, .baseHtml table
    { margin-bottom:1em; }

xenforo_reset.css
Code:
/*
* YUI reset-fonts.css
*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.7.0
*/
html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}body{font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}select,input,button,textarea,button{font:99% arial,helvetica,clean,sans-serif;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}

/*
* Firefox broken image placeholder support.
*
http://lab.gmtplusone.com/image-placeholder/
*/
img:-moz-broken, img:-moz-user-disabled { -moz-force-broken-image-icon: 1; }
img:-moz-broken:not([width]), img:-moz-user-disabled:not([width]) { width: 50px; }
img:-moz-broken:not([height]), img:-moz-user-disabled:not([height]) { height: 50px; }
 
This line in the Taiga chat add-on is most likely your cause:
HTML:
<xen:if is="{$cronLink}"><img src="{$cronLink}" width="1" height="1" alt="" /></xen:if>

If there is an update from @Luke Foreman, you should update your Taiga chat. If not, removing that should solve your issues.

The other two matches are irrelevant and contain "cron" within words in the template.
 
Top Bottom