KungFuJosh wrote: ↑Tue Mar 17, 2020 11:20 pm
The errors I'm getting now appear to be from a url generator:
Code: Select all
Stack trace:
#0 /public_html/cache/production/url_generator.php(52): Symfony\Component\Routing\Generator\UrlGenerator->doGenerate(Array, Array, Array, Array, Array, 'phpbb_cron_run', 1, Array, Array)
#1 /public_html/phpbb/routing/router.php(168): phpbb_url_generator->generate('phpbb_cron_run', Array, 1)
#2 /public_html/phpbb/routing/helper.php(148): phpbb\routing\router->generate('phpbb_cron_run', Array, 1)
#3 /public_html/phpbb/controller/helper.php(114): phpbb\routing\helper->route('phpbb_cron_run', Array, false, false, 1)
#4 /public_html/cron.php(34): phpbb\controller\helper->route('phpbb_cron_run', Array, false)
#5 {main}
Can you look at that again and post what the actual error is in those cases? The above text shows the stack trace for when an error occurred, but omits what the actual error was (which gets reported right before the stack trace). e.g. "Invalid array index", "call to undefined function", "syntax error", etc. Just capture the entire log entry, everything from the time stamp of when it occurred through to the end of the stack trace.
I think I stopped replying because I was short on time, and didn't want to repeat for a third time "check the HTTPD access logs" to correlate whether someone is actually making a cron request without a cron type specified, versus whether all requests have a cron type specified when they arrive at the server (and the cron type is somehow subsequently being lost).
But looking at at least the stack trace of the error you're continuing to see, a warning or error stopping the execution right at that point actually
might be consistent with phpBB generating a cron URL for a page which didn't have a cron type specified. Meaning if phpBB is hitting some PHP execution issue when trying to generate the cron URL as suggested by this stack trace, maybe the cron URL being generated for a page ends up without its cron type specified.
So I would say perhaps both items could be important clues: What is the actual error text that proceeded this stack trace. And does the HTTPD access log confirm that when this issue occurs, the cron URL GET request seen by the server didn't have any cron type parameter associated with it.
e.g. The difference between seeing inbound GET requests logged that look like:
Code: Select all
[23/Nov/2019:14:44:41 -0600] "GET /phpbb/cron.php?cron_type=cron.task.core.tidy_sessions&sid=a094d06af2cb7a23a648ffec7608d911 HTTP/1.1" 200 43 "http://127.0.0.1/phpbb/index.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
[28/Mar/2020:10:20:13 -0500] "GET /phpbb/cron/cron.task.core.tidy_sessions?sid=a372bedc66c902402bf9a29df83e33cd HTTP/1.1" 200 43 "http://localhost/phpbb/mcp.php?i=main&mode=front&sid=a372bedc66c902402bf9a29df83e33cd" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
...in which a cron type was specified (cron.task.core.tidy_sessions in those cases). Versus whether the HTTPD access log shows that when the issue was reported, the actual inbound GET request did not have a cron type specified, maybe similar to:
Code: Select all
[23/Nov/2019:14:44:41 -0600] "GET /phpbb/cron.php?cron_type=&sid=a094d06af2cb7a23a648ffec7608d911 HTTP/1.1" 200 43 "http://127.0.0.1/phpbb/index.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
[28/Mar/2020:10:20:13 -0500] "GET /phpbb/cron?sid=a372bedc66c902402bf9a29df83e33cd HTTP/1.1" 200 43 "http://localhost/phpbb/mcp.php?i=main&mode=front&sid=a372bedc66c902402bf9a29df83e33cd" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
As described in the earlier posts, if you're
not seeing cron GET requests arriving with the cron type parameter already missing, then the implication is that the cron type parameter is being lost or dropped somehow after the request already arrived. e.g. An .htaccess rewrite which isn't expecting to maintain parameters.