Bug #53613

Extensions automatically removed in PackageStates.php causing fatal errors

Added by Peter Beernink over 6 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
Extension Manager
Target version:
Start date:
2013-11-13
Due date:
% Done:

100%

TYPO3 Version:
6.2
PHP Version:
Tags:
Complexity:
hard
Is Regression:
No
Sprint Focus:

Description

After upgrading a project from TYPO3 6.2b1 to the latest master I get fatal errors about extensions not being loaded anymore.
This is because most extensions are automatically removed from the PackageStates.php
When resetting the PackageStates.php to 'beta1' and removing the typo3temp/Cache the first page hit works correctly, but the second one gives an error.

After some debugging this seem to be caused by a71add78 (#52828) and only occurs when the PackageStates.php contains an extension which is not available on the system, even when that extension is inactive.

How to reproduce:

Add

  'extension_builder' => array (
    'state' => 'inactive',
    'packagePath' => 'typo3conf/ext/extension_builder/',
    'classesPath' => 'Classes/',
  ),

to the PackageStates.php, remove the typo3temp/Cache and refresh the page twice.

PackageStates.php View (13.4 KB) Peter Beernink, 2013-11-24 13:48

History

#1 Updated by Markus Klein over 6 years ago

  • Category set to Extension Manager
  • Target version changed from 6.2.0 to next-patchlevel
  • Complexity set to hard

Thanks for the debugging and testing. Added Thomas and me as watchers.

#2 Updated by Ernesto Baschny over 6 years ago

  • Status changed from New to Needs Feedback

I cannot really reproduce that. As soon as I add the "extension_builder" part to PackageStates.php without even having this extension in that path, and use the EM to install something, it gets removed / cleaned from the PackageStates again.

Do you have more details on how to reproduce that? Maybe some other circumstances? Could you share the complete PackageStates file with us?

#3 Updated by Peter Beernink over 6 years ago

The attached PackageStates.php is how I used it in beta1. (Besides of the extension_builder example, it also contains an active phpunit).
The only thing I need to do is remove the typo3temp/Cache, go to the TYPO3 login screen.
At this stage the typo3temp/Cache has stored some cached classes and the PackageStates.php is rewritten, missing most of the extensions.
When refreshing the login screen an error is thrown.

#4 Updated by Peter Beernink over 6 years ago

In addition to the above mentioned PackageStates.php, I've also been able to reproduce it on a completely fresh installation based on current master (51e23ed).
If I add the mentioned statement as first extension in the PackageStates.php and removing the cache, loading the Login screen twice will result in an empty PackageStates.ph and an error stating the 'backend' extension is not loaded.

#5 Updated by Markus Klein over 6 years ago

  • Status changed from Needs Feedback to New

Thanks for the file and the infos.

#6 Updated by Thomas Maroschik about 6 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

This one is solved since https://review.typo3.org/27101 has been merged.

Also available in: Atom PDF