XF 2.1 File Checker error - empty json files.

Zambfd

Member
Hi,

since sunday (Apr. 26) one of our boards has the following issue while the file checker is running.

PHP:
TypeError: Argument 2 passed to XF\Job\FileCheck::completeFileCheck() must be of the type array, null given, called in /***/src/XF/Job/FileCheck.php on line 108 src/XF/Job/FileCheck.php:196
Stack-Trace
#0 src/XF/Job/FileCheck.php(108): XF\Job\FileCheck->completeFileCheck(Object(XF\Entity\FileCheck), NULL)
#1 src/XF/Job/Manager.php(253): XF\Job\FileCheck->run(G)
#2 src/XF/Job/Manager.php(195): XF\Job\Manager->runJobInternal(Array, G)
#3 src/XF/Job/Manager.php(111): XF\Job\Manager->runJobEntry(Array, G)
#4 src/XF/Admin/Controller/Tools.php(120): XF\Job\Manager->runByIds(Array, 8)
#5 src/XF/Mvc/Dispatcher.php(350): XF\Admin\Controller\Tools->actionRunJob(Object(XF\Mvc\ParameterBag))
#6 src/XF/Mvc/Dispatcher.php(261): XF\Mvc\Dispatcher->dispatchClass('XF:Tools', 'RunJob', Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\Tools), NULL)
#7 src/XF/Mvc/Dispatcher.php(113): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(XF\Admin\Controller\Tools), NULL)
#8 src/XF/Mvc/Dispatcher.php(55): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#9 src/XF/App.php(2184): XF\Mvc\Dispatcher->run()
#10 src/XF.php(391): XF\App->run()
#11 admin.php(13): XF::runApp('XF\\Admin\\App')
#12 {main}

I was able to investigate that the file-checker json files in /internal_data/file_check/ exists but are empty. Each entry in xf_file_check is on check_state pending with zero values and no check_hash. This results in an empty $results variable on line 108 of FileCheck.php.

I've compared some behavior of this (live) forum with two other boards which are currently in development/importing tests state. The only difference is that the other two have no entry for "fileCheck" in the xf_jobs table. But their file checker is working as intended.

Also compiled php files for some widgets in /internal_data/code_cache/widgets/ are empty too, which results in another error as long as they are active.
I've already reinstalled the last forum patch version, checked the file and folder access rights, rebuild master data a.s.o.


Edit it has something to do with this issue:
 
Last edited:
The error is gone after we've rebooted our webservers (yes, multiple).
Xenforo ran into an issue with nfs lock limits.

Question: What's the purpose of the attachements folder inside of internal_data ?
 
Code:
ErrorException: [E_WARNING] file_put_contents(/home/xxxxxx/public_html/internal_data/file_check/temp-file-check-39.json): failed to open stream: Permission denied src/vendor/league/flysystem/src/Adapter/Local.php:135

Here the same in 2.2.5 after reboot the server everything ok.
Strange.
 
Top Bottom