To be more precise, the problem appears when using solrfal. When a file is added to the index queue either by the planner task or when editing a record (e.g. news) that has files attached.
This is the error message:
Uncaught TYPO3 Exception
explode() expects parameter 2 to be string, null given
TypeError thrown in file
/html/typo3/site_v8/shared/vendor/typo3_src-8.7.21/typo3/sysext/core/Classes/Database/Query/Restriction/FrontendGroupRestriction.php in line 37.
24 explode(",", NULL)
/html/typo3/site_v8/shared/vendor/typo3_src-8.7.21/typo3/sysext/core/Classes/Database/Query/Restriction/FrontendGroupRestriction.php:
00035: {
00036: // if (TYPO3_MODE 'FE'){
00037: $this->frontendGroupIds = $frontendGroupIds = null ? explode(',', $GLOBALS['TSFE']->gr_list) : $frontendGroupIds;
00038: // }else{
00039: // $this->frontendGroupIds = array();
23 TYPO3\CMS\Core\Database\Query\Restriction\FrontendGroupRestriction::__construct()
/html/typo3/site_v8/shared/vendor/typo3_src-8.7.21/typo3/sysext/core/Classes/Utility/GeneralUtility.php:
03961: }
03962: // Create new instance and call constructor with parameters
03963: $instance = new $finalClassName(...$constructorArguments);
03964: // Register new singleton instance
03965: if ($instance instanceof SingletonInterface) {
22 TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance("TYPO3\CMS\Core\Database\Query\Restriction\FrontendGroupRestriction")
/html/typo3/site_v8/shared/vendor/typo3_src-8.7.21/typo3/sysext/core/Classes/Database/Query/Restriction/AbstractRestrictionContainer.php:
00099: protected function createRestriction($restrictionClass)
00100: {
00101: return GeneralUtility::makeInstance($restrictionClass);
00102: }
00103: }
21 TYPO3\CMS\Core\Database\Query\Restriction\AbstractRestrictionContainer::createRestriction("TYPO3\CMS\Core\Database\Query\Restriction\FrontendGroupRestriction")
/html/typo3/site_v8/shared/vendor/typo3_src-8.7.21/typo3/sysext/core/Classes/Database/Query/Restriction/FrontendRestrictionContainer.php:
00045: {
00046: foreach ($this->defaultRestrictionTypes as $restrictionType) {
00047: $this->add($this->createRestriction($restrictionType));
00048: }
00049: }
20 TYPO3\CMS\Core\Database\Query\Restriction\FrontendRestrictionContainer::__construct()
/html/typo3/site_v8/shared/vendor/typo3_src-8.7.21/typo3/sysext/core/Classes/Utility/GeneralUtility.php:
03961: }
03962: // Create new instance and call constructor with parameters
03963: $instance = new $finalClassName(...$constructorArguments);
03964: // Register new singleton instance
03965: if ($instance instanceof SingletonInterface) {
19 TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance("TYPO3\CMS\Core\Database\Query\Restriction\FrontendRestrictionContainer")
/html/typo3/site_v8/shared/vendor/typo3_src-8.7.21/typo3/sysext/frontend/Classes/Page/PageRepository.php:
00562: >getQueryBuilderForTable($table);
00563: $queryBuilder>setRestrictions(
00564: GeneralUtility::makeInstance(FrontendRestrictionContainer::class)
00565: );
00566: $olrow = $queryBuilder->select('*')
18 TYPO3\CMS\Frontend\Page\PageRepository::getRecordOverlay("tx_news_domain_model_news", array, 1, "hideNonTranslated")
/html/typo3/site_v8/releases/initial/typo3conf/ext/solrfal/Classes/Detection/RecordContextDetector.php:
00154: $record,
00155: (int)$language,
00156: 'hideNonTranslated'
00157: );
00158: if ($translation) {
17 ApacheSolrForTypo3\Solrfal\Detection\RecordContextDetector::extractQueueItemsFromRecord("news", "tx_news_domain_model_news", array, array)
/html/typo3/site_v8/releases/initial/typo3conf/ext/solrfal/Classes/Detection/RecordContextDetector.php:
00298: $table,
00299: $record,
00300: $this->getFieldsToIndex($indexingConfiguration, $table)
00301: );
00302: } else {
16 ApacheSolrForTypo3\Solrfal\Detection\RecordContextDetector::recordCreated("tx_news_domain_model_news", 1493)
/html/typo3/site_v8/releases/initial/typo3conf/ext/solrfal/Classes/Detection/RecordContextDetector.php:
00321: }
00322:
00323: $this->recordCreated($table, $uid);
00324: }
00325:
15 ApacheSolrForTypo3\Solrfal\Detection\RecordContextDetector::recordUpdated("tx_news_domain_model_news", 1493)
/html/typo3/site_v8/releases/initial/typo3conf/ext/solrfal/Classes/Queue/ConsistencyAspect.php:
00182: $detectors = $this->getDetectorsForRecord($table, $uid);
00183: foreach ($detectors as $detector) {
00184: $detector->$function($table, $uid);
00185: }
00186: }
14 ApacheSolrForTypo3\Solrfal\Queue\ConsistencyAspect::issueCommandOnDetectors("recordUpdated", "sys_file_reference", 2644)
/html/typo3/site_v8/releases/initial/typo3conf/ext/solrfal/Classes/Queue/ConsistencyAspect.php:
00168: }
00169: if ($method !== '') {
00170: $this->issueCommandOnDetectors($method, $table, $id);
00171: }
00172: }
--------------------cut-------------------------------
But as mentioned before, I had the same error in a custom extension (indexing to ElasticSearch).