Bug #73520
closedClass not found on cleanup all caches via BE on Windows
0%
Description
i have a strange issus on my development server. If go to InstallTool and clear all caches and the following error appears:
Detected Fatal Error
Class 'GeorgRinger\News\Utility\EmConfiguration' not found in /var/www/dev/htdocs/typo3conf/ext/news/ext_localconf.php on line 6
This happens with different extensions e.g.: powermail, news and autoloader.
In the typo3temp folder the autoload-tests/ folder is created but not the autoload/ folder.
On my local development all works fine.
Files
Updated by Markus Klein almost 9 years ago
- Status changed from New to Needs Feedback
- Target version deleted (
7.6.3)
It is extremely hard to tell what might go wrong. Please get in touch with us on Slack (typo3-cms channel) and ask for help there.
Updated by Christian Brinkert almost 9 years ago
Same issue here, after removing all named extensions: tx_news, powermail, tt_address, ... the page will be shown in front- and backend. But any installation of that previously named extensions will lead to an other error:
#1: PHP Warning: preg_match(): Compilation failed: unknown property name after \P or \p at offset 5 in D:\t3-763\typo3\sysext\core\Resources\PHP\ClassMapGenerator.php line 84
Updated by Markus Klein almost 9 years ago
Very weird, seems like there is a problem with the PCRE library, which takes care of the regular expression.
Which version do you use? PCRE and PHP?
Updated by Christian Brinkert almost 9 years ago
It's really really weird, I agree. Currently I can't reproduce the error anymore, since I tested a simple patch and by now even not without the patch.
The error occured after clearing the cache by the install tool, as described by "ICA GmbH" above. After manually removal of the extensions (deleting the entries in LocalConfiguration.php and PackageStates.php) I tried to install the extension by extension manager and the following error occured:
#1: PHP Warning: preg_match(): Compilation failed: unknown property name after \P or \p at offset 5 in D:\Projects\t3-763\typo3\sysext\core\Resources\PHP\ClassMapGenerator.php line 84I've debugged the script and found that in the named class / line an comparission (preg_match) between a $blacklist and $filePath will be done. The error only occures if
- you work in windows
- your project resides in a folder with a startin "p", just like "D:\Projects\t3-763\..."
- and you have some extensions installed which excludes some paths from autoloading, just like realurl
In this case a $blacklist has the value like:
'{(D:\Projects\t3-763\...realurl\...|D:\Projects\t3-763\...)}'
and here the escape sequence "\P" exists, which PHP preg_match interpret as \P{XX} a unicode property, which can't be found.
So I changed the line 84 the file: "ClassMapGenerator.php" from
if ($blacklist && preg_match($blacklist, strtr($filePath, '\\', '/'))) {
to
if ($blacklist && preg_match(strtr($blacklist, '\\', '/'), strtr($filePath, '\\', '/'))) {
Et voila, the error dismissed and will no longer been seen ... (hope so... :-))
Don't know if there is something to do or patch, for now I will wait and see.
regards
Christian
Updated by Markus Klein almost 9 years ago
- Subject changed from Class not found on cleanup all caches via BE to Class not found on cleanup all caches via BE on Windows
- Category set to composer
- Status changed from Needs Feedback to Accepted
- Priority changed from Should have to Must have
- Target version set to Candidate for patchlevel
- Complexity set to medium
- Is Regression changed from No to Yes
- Sprint Focus set to Stabilization Sprint
Thanks for debugging that. very helpful information.
Can you push a patch to gerrit?
Updated by Christian Brinkert almost 9 years ago
Don't know if correct to add the patch here ...
Updated by Markus Klein almost 9 years ago
Not quite, we use Gerrit for managing patches.
Did you know http://wiki.typo3.org/CWT?
This provides everything to get you started on your Core contribution.
If you have questions, feel free to ask on Slack.
Updated by Markus Klein almost 9 years ago
I took a quick look at the file now and realized that this is actually third party code from composer. I wonder how such a bug would have been undiscovered there for so long. We need to investigate if the error is actually happening much earlier at the point where the blacklist is constructed.
Updated by Markus Klein almost 9 years ago
The problem seems to be in typo3/sysext/core/Classes/Core/ClassLoadingInformationGenerator.php:150
$blacklistPathPrefix = realpath($classesPath);
realpath
is documented to:
On windows realpath() will change unix style paths to windows style.
This is exactly your problem here.
Updated by Helmut Hummel almost 9 years ago
- Status changed from Accepted to Closed
closed as duplicate
This is fixed in master already. I missed to backport it to 7.6.
I've done so now.
Updated by Philipp Faber over 8 years ago
- File clearcache.JPG clearcache.JPG added
I am getting this error as well and I am on TYPO3 7.6.5 Linux! Interestingly enough, I have the same installation on a windows system and there are no errors! When I click Clear all cache in the install tool, I get this error:
Load extension configuration The system detected a fatal error during script execution and redirected to this module. Your loaded extensions are now checked for possible problems. After incompatible extensions are unloaded, you can restart the initial action to proceed your request. Detected Fatal Error Class 'GeorgRinger\News\Utility\EmConfiguration' not found in /html/typo3/typo3conf/ext/news/ext_localconf.php on line 6 Check for broken extensions Checks whether the local extensions' ext_tables and ext_localconf files can be included without errors, meaning they can be loaded without breaking the system.
I added a screenshot as well. Same thing as described above: When uninstalling the news extension, I get the same error with powermail and so on.
Updated by Helmut Hummel over 8 years ago
Philipp Faber wrote:
I am getting this error as well and I am on TYPO3 7.6.5 Linux!
Please create a new ticket, as this was clearly about a bug on Windows systems.
Please add steps to reproduce and/or as much info about your setup as possible (composer, non composer,etc.)