Project

General

Profile

Actions

Bug #87175

closed

activating SEO or Redirects core extension breaks the system

Added by Eckard Gehrke over 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
-
Target version:
-
Start date:
2018-12-16
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
9
PHP Version:
7.2
Tags:
Complexity:
Is Regression:
Yes
Sprint Focus:

Description

Hi,
when I try to activate one or the other extension it breaks. I can activate the SEO, it completes the activation and shows it as active, but when I then want to show the page tree I get an error: The connection was reset. This breaks the complete installation.

It tries to load:

http://localhost/dev_95/typo3/index.php?route=%2Fajax%2Fpage%2Ftree%2FfetchConfiguration&token=586c22a5e3512388d1f5fccd95a73f5577d7a864

and I am getting: ERR_CONNECTION_RESET
Windows NetworkDiagnostics shows
Error code: 0x80070005
Source: Engine
User: my windows user
Context: Restricted

Same holds for the Recycler, as well as the Redirects.
When starting a new backend login session I am getting the same error.
Looked to apache logs but could not find any hints on the reasons for these errors.

The system allows me to logon to install tool but gives no hints on any issues.

Best regards
Eckard.


Files

PackageManager_e177f2214df5695d90145904e4eeddf5.php (90.6 KB) PackageManager_e177f2214df5695d90145904e4eeddf5.php file for wich the require statement fails Eckard Gehrke, 2019-01-14 21:17
callstack.jpg (522 KB) callstack.jpg see the callstack to the problematic statement Eckard Gehrke, 2019-01-14 21:22
package_cache87versus95.png (222 KB) package_cache87versus95.png Eckard Gehrke, 2019-01-20 18:35

Related issues 2 (0 open2 closed)

Related to TYPO3 Core - Task #86261: PackageManager caching is over complicatedClosed2018-09-15

Actions
Related to TYPO3 Core - Bug #87503: ErrorPageController relies on an available PackageManagerClosed2019-01-21

Actions
Actions #1

Updated by Eckard Gehrke over 5 years ago

Hi,
while the above happened for an upgraded version it happens also for a newly installed blank typo3 9.5 version, installing introduction package, activating the Recycler breaks the system happens on Win10 install with xampp 722.

Looking to the error log in php I see.

[Tue Jan 01 19:56:00.566008 2019] [php7:notice] [pid 15980:tid 1988] [client ::1:56376] PHP Fatal error: Uncaught Error: Call to a member function isPackageActive() on null in C:\\xampp\\xampp722\\htdocs\\typo3_95\\typo3\\sysext\\core\\Classes\\Utility\\ExtensionManagementUtility.php:148\nStack trace:\n#0 C:\\xampp\\xampp722\\htdocs\\typo3_95\\typo3\\sysext\\core\\Classes\\Controller\\ErrorPageController.php(54): TYPO3\\CMS\\Core\\Utility\\ExtensionManagementUtility::extPath('core', 'Resources/Priva...')\n#1 C:\\xampp\\xampp722\\htdocs\\typo3_95\\typo3\\sysext\\core\\Classes\\Utility\\GeneralUtility.php(3662): TYPO3\\CMS\\Core\\Controller\\ErrorPageController->__construct()\n#2 C:\\xampp\\xampp722\\htdocs\\typo3_95\\typo3\\sysext\\core\\Classes\\Error\\ProductionExceptionHandler.php(59): TYPO3\\CMS\\Core\\Utility\\GeneralUtility::makeInstance('TYPO3\\\\CMS\\\\Core\\\\...')\n#3 C:\\xampp\\xampp722\\htdocs\\typo3_95\\typo3\\sysext\\core\\Classes\\Error\\AbstractExceptionHandler.php(50): TYPO3\\CMS\\Core\\Error\\ProductionExceptionHandler->echoExceptionWeb(Object(TYPO3\\CMS\\Core\\Cache\\Exception\\NoSuchCacheException))\n#4 [internal function]: TYPO3\\CMS\\Core\\Error\\AbstractExceptionHandler->hand in C:\\xampp\\xampp722\\htdocs\\typo3_95\\typo3\\sysext\\core\\Classes\\Utility\\ExtensionManagementUtility.php on line 148, referer: http://localhost/typo3_95/typo3/index.php?route=%2Fmain&token=11cd6aff48e5a9454a9badb94440efcb00044ca3

Best regards
Eckard.

Actions #2

Updated by Eckard Gehrke about 5 years ago

  • Category deleted (Extension Manager)
  • Priority changed from Should have to Must have
  • Is Regression set to Yes

Is there any way to get the typo3_src91 92 93 or 94 to check if it works with an earlier version.

When deleting typo3temp/var/cache then logon screen comes again but when pressing logon the system breaks.

Same happens when after deleting the chache with http://localhost/index.php I get the start page of the introduction page but when trying to navigate to another page I get for the request a status (failed) and net::ERR_CONNECTION_RESET.

I have activate logs and debug output but nothing appears, no log information is written. When trying again to read http://localhost/index.php page is not shown but the request fails.

Updated by Eckard Gehrke about 5 years ago

Hi,
I did in the meantime some further investigation.

When debugging it breaks at the

TYPO3\\CMS\\Core\\Cache\\Backend\\SimpleFileBackend    in line 366
return file_exists($pathAndFilename) ? require $pathAndFilename : false;

$pathAndFilename contains an existing ( valid?) file: C:/xampp/xampp722/htdocs/typo3_953/typo3temp/var/cache/code/cache_core/PackageManager_e177f2214df5695d90145904e4eeddf5.php
See attached file.
After single step is does not go further and the same call stack (see attached screenshot) is called again this happens for about 4-5 times. After second occurence page responds with connection reset.

Best regards
Eckard.

Actions #4

Updated by Riccardo De Contardi about 5 years ago

I got the same problems (Xampp on Windows 10), but I was able to install system extensions like recycler and linkvalidator albeit with some hiccups, while when installing EXT:vhs I failed: every time the system resets the connection and the only way to recover it is removing every vhs reference from PackageStates.php and LocalConfiguration.php and clear everything from Install tool.

Actions #5

Updated by Eckard Gehrke about 5 years ago

Hi,

I investigated further. There is a change from 8.7 to 9.5. The file PackageManager_aa2...196.php now contains one huge packageObjectsCacheEntryIdentifier entry in one single huge line instead of a reference to a second file as it was in 8.5:

'composerNameToPackageKeyMap' =>
array (
),
'packageObjectsCacheEntryIdentifier' => 'PackageObjects_5ab80cc624e7f629207912',
);

I attached a comparison of the two files.

Is there any way to turn this via some parameter or a modification back. I had a look to the PackageManager.php file where the file seems to be written in line 174, but there was no recent change of that.

Best regards
Eckard.

Actions #6

Updated by Helmut Hummel about 5 years ago

  • Related to Task #86261: PackageManager caching is over complicated added
Actions #7

Updated by Helmut Hummel about 5 years ago

Connected the ticket, which changed the way the caching worked

Actions #8

Updated by Benjamin Franzke about 5 years ago

I think this bug is unrelated to the caching changes of the PackageManager.
It could be related to the early creation of the assets cache [1], as Eckard's logs show that a no such scache exception is thrown TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException which is happening prior the creation of the PackageManager.

The (production) ExceptionHandler then tries to generate html for that exception using the ErrorPageController which itself uses ExtensionManagementUtility::extPath(), which then tries to use the PackageManager object to retrieve a package path – but, that PackageManager is about to be created and not available. The static variable in ExtensionManagementUtility pointing to the PackageManager has not been set yet, which now causes another exception inside of the exception handler. oops.

To get more information about the first exception (e.g. which cache is missing and why), please switch to the DebugExceptionHandler by setting ['SYS']['displayErrors'] => 1 in LocalConfiguration.php (that should prevent the second exception inside the exception handler. Then post the output or a screenshot of the DebugExceptionHandler output here.

So sum up: I think we got two problems here:
  • Some cache could not be found/created (first exception)
  • ErrorPageController needs to be adapted to work when PackageManager is not yet available (second exception)

[1] https://review.typo3.org/c/58371/

Actions #9

Updated by Benjamin Franzke about 5 years ago

  • Related to Bug #87503: ErrorPageController relies on an available PackageManager added
Actions #10

Updated by Eckard Gehrke about 5 years ago

Hi,

after a lot of hints (thanks to all) the reason was found.

I had not changed the ThreadStackSize in the httpd.conf

<IfModule mpm_winnt_module>
ThreadStackSize 8388608
</IfModule>

After changing this the crash does not happen any more.

Thanks for the help
Eckard.

Actions #11

Updated by Riccardo De Contardi about 5 years ago

  • Status changed from New to Closed

Closed as requested by the reporter.

Actions

Also available in: Atom PDF