Bug #57120
Upgrade from 6.1.7 to 6.2beta7 / Install Tool fails / 'The package "X" depends on "Y" which is not present in the system'
Status: | Closed | Start date: | 2014-03-20 | |
---|---|---|---|---|
Priority: | Should have | Due date: | ||
Assigned To: | - | % Done: | 0% |
|
Category: | Install Tool | Spent time: | - | |
Target version: | - | |||
TYPO3 Version: | 6.2 | Is Regression: | No | |
PHP Version: | 5.3 | Sprint Focus: | ||
Complexity: |
Description
I did nothing special, just changed the symlink to the new source and deleted all the cache files.
Then I tried to access the Install Tool typo3/sysext/install/Start/Install.php
PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The package "X" depends on "Y" which is not present in the system.' in /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Classes/Package/DependencyResolver.php:146
Y is installed and in the list of extensions before X in LocalConfiguration.php
Am I missing something?
Found no special upgrade instructions.
----
20-Mar-2014 20:28:38 Europe/Berlin] PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The package "X" depends on "Y" which is not present in the system.' in /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Classes/Package/DependencyResolver.php:146
Stack trace:
#0 /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Classes/Package/DependencyResolver.php(206): TYPO3\CMS\Core\Package\DependencyResolver->buildDependencyGraphForPackages(Array, Array)
#1 /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Classes/Package/DependencyResolver.php(61): TYPO3\CMS\Core\Package\DependencyResolver->buildDependencyGraph(Array)
#2 /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Classes/Package/PackageManager.php(687): TYPO3\CMS\Core\Package\DependencyResolver->sortPackageStatesConfigurationByDependency(Array)
#3 /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Resources/PHP/TYPO3.Flow/Classes/TYPO3/Flow/Package/PackageManager.php(911): TYPO3\CMS\Core\Package\PackageManager->sortAvailable in /private/var/www/typo3_src-6.2.0beta7/typo3/sysext/core/Classes/Package/DependencyResolver.php on line 146
Related issues
History
#1 Updated by Markus Klein over 1 year ago
Can you please post your LocalConf and ext_emconf.php files of the affected extensions
#2 Updated by Ernesto Baschny over 1 year ago
- Status changed from New to Needs Feedback
Together with the LocalConf and the ext_emconf.php file, please provide the information from which TYPO3 version you are coming from and trying to upgrade. Thanks!
#3 Updated by Markus Klein over 1 year ago
@Ernesto: Title says "Upgrade from 6.1.7 to 6.2beta7" ;-)
#4 Updated by Wolfgang Klinger over 1 year ago
- File config_files.tar.gz added
X = user_something_distribution_search
Y = smarty
from 6.1.7 -> 6.2beta7
tia
#5 Updated by Markus Klein over 1 year ago
Looks like the problem is that smarty is has dependency for TYPO3 up to 6.1.99.
So 6.2 core can't install it.
#6 Updated by Wolfgang Klinger over 1 year ago
I changed it to 6.3.99 but that doesn’t affect anything
#7 Updated by Wolfgang Klinger over 1 year ago
;-)
now I removed 'smarty' as a dependency for extension X for testing … ok … but now I get the next weird error:
------
[26-Mar-2014 13:28:58 Europe/Berlin] PHP Fatal error: Uncaught exception 'TYPO3\CMS\Install\Controller\Exception\RedirectLoopException' with message 'Redirect loop aborted. If this message is shown again after a reload, your setup is so weird that the install tool is unable to handle it. Please make sure to remove the "install[redirectCount]" parameter from your request or restart the install tool from the backend navigation.' in /private/var/www/typo3_src-6.2.0/typo3/sysext/install/Classes/Controller/AbstractController.php:544
Stack trace:
#0 /private/var/www/typo3_src-6.2.0/typo3/sysext/install/Classes/Controller/StepController.php(122): TYPO3\CMS\Install\Controller\AbstractController->redirect()
#1 /private/var/www/typo3_src-6.2.0/typo3/sysext/install/Classes/Controller/StepController.php(70): TYPO3\CMS\Install\Controller\StepController->outputSpecificStep()
#2 /private/var/www/typo3_src-6.2.0/typo3/sysext/install/Start/Install.php(132): TYPO3\CMS\Install\Controller\StepController->execute()
#3 {main}
thrown in /private/var/www/typo3_src-6.2.0/typo3/sysext/install/Classes/Controller/AbstractController.php on line 544
------
any hints?
#8 Updated by Markus Klein over 1 year ago
What is the URL of the page that issues this exception?
Especially the install[action]= part is of interest
#9 Updated by Wolfgang Klinger over 1 year ago
URL:
/typo3/sysext/install/Start/Install.php?install[redirectCount]=9&install[context]=standalone&install[controller]=step&install[action]=databaseConnect
#10 Updated by Markus Klein over 1 year ago
There's something wrong with your database connection. Please check your host, port/socket settings.
#11 Updated by Alexander Opitz 12 months ago
- Status changed from Needs Feedback to Closed
No feedback within the last 90 days => closing this ticket.
If you think that this is the wrong decision or experience this issue again, then please write to the mailing list typo3.teams.bugs with issue number and an explanation or open a new ticket and add a relation to this ticket number.
#12 Updated by Florian Seirer 9 months ago
Same problem here during the update from 6.2.4 to 6.2.6
The installation was running just fine on 6.2.4, and all I did was changing the symlinks to the 6.2.6 path.
I got only error-500 messages in the BE and FE after that.
/typo3conf/PackageStates.php was rewritten, and was suddenly missing all active core extensions.
The error messages in the logfiles explain why the FE and BE weren't running, but not why PackageStates.php was missing the core extensions.
FE error log:
Several hundred lines of this: [Thu Nov 06 14:45:01 2014] [error] [client 10.10.133.1] PHP Warning: array_diff(): Argument #1 is not an array in /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php on line 215 [Thu Nov 06 14:45:01 2014] [error] [client 10.10.133.1] PHP Warning: array_merge(): Argument #2 is not an array in /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php on line 220 ... [Thu Nov 06 14:45:01 2014] [error] [client 10.10.133.1] PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The package "imagecycle" depends on "cms" which is not present in the system.' in /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php:140 Stack trace: #0 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php(240): TYPO3\\CMS\\Core\\Package\\DependencyResolver->buildDependencyGraphForPackages(Array, Array) #1 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php(51): TYPO3\\CMS\\Core\\Package\\DependencyResolver->buildDependencyGraph(Array) #2 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/PackageManager.php(701): TYPO3\\CMS\\Core\\Package\\DependencyResolver->sortPackageStatesConfigurationByDependency(Array) #3 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Resources/PHP/TYPO3.Flow/Classes/TYPO3/Flow/Package/PackageManager.php(911): TYPO3\\CMS\\Core\\Package\\PackageManager->sortAvailablePackagesByDependencies() #4 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Clas in /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php on line 140
BE error log:
[Thu Nov 06 14:45:52 2014] [error] [client 10.10.141.2] PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The package "imagecycle" depends on "cms" which is not present in the system.' in /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php:140 Stack trace: #0 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php(240): TYPO3\\CMS\\Core\\Package\\DependencyResolver->buildDependencyGraphForPackages(Array, Array) #1 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php(51): TYPO3\\CMS\\Core\\Package\\DependencyResolver->buildDependencyGraph(Array) #2 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/PackageManager.php(701): TYPO3\\CMS\\Core\\Package\\DependencyResolver->sortPackageStatesConfigurationByDependency(Array) #3 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Resources/PHP/TYPO3.Flow/Classes/TYPO3/Flow/Package/PackageManager.php(911): TYPO3\\CMS\\Core\\Package\\PackageManager->sortAvailablePackagesByDependencies() #4 /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Clas in /var/www/typo3/typo3-6.2.6/typo3/sysext/core/Classes/Package/DependencyResolver.php on line 140, referer: https://www.domain.com/somethingsomething
packageStates.php, missing "active" core extensions:
<?php # PackageStates.php # This file is maintained by Flow's package management. Although you can edit it # manually, you should rather use the command line commands for maintaining packages. # You'll find detailed information about the typo3.flow:package:* commands in their # respective help screens. # This file will be regenerated automatically if it doesn't exist. Deleting this file # should, however, never become necessary if you use the package commands. return array ( 'packages' => array ( 'templavoila' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/templavoila/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'manifestPath' => '', 'composerName' => 'templavoila/templavoila', 'dependencies' => NULL, ), 'static_info_tables' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/static_info_tables/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'sm_clearcachecm' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/sm_clearcachecm/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'sitemap' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/sitemap/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'rghelpmodule' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/rghelpmodule/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'realurl' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/realurl/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'portalauth' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/portalauth/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'nothing' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/nothing/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'ml_links' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/ml_links/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'ke_search' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/ke_search/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'jftcaforms' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/jftcaforms/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'imagecycle' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/imagecycle/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'dd_googlesitemap' => array ( 'state' => 'active', 'packagePath' => 'typo3conf/ext/dd_googlesitemap/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'documentation' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-documentation', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/documentation/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'about' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-about', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/about/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'aboutmodules' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-aboutmodules', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/aboutmodules/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'adodb' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-adodb', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/adodb/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'context_help' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-context-help', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/context_help/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'dbal' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-dbal', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/dbal/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'extra_page_cm_options' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-extra-page-cm-options', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/extra_page_cm_options/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'feedit' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-feedit', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/feedit/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'felogin' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-felogin', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/felogin/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'form' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-form', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/form/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'indexed_search' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-indexed-search', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/indexed_search/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'indexed_search_mysql' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-indexed-search-mysql', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/indexed_search_mysql/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'openid' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-openid', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/openid/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'sys_action' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-sys-action', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/sys_action/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'taskcenter' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-taskcenter', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/taskcenter/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'version' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-version', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/version/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), 'workspaces' => array ( 'manifestPath' => '', 'composerName' => 'typo3/cms-workspaces', 'state' => 'inactive', 'packagePath' => 'typo3/sysext/workspaces/', 'classesPath' => 'Classes/', 'suggestions' => NULL, 'dependencies' => NULL, ), ), 'version' => 4, ) ?>
#13 Updated by Markus Klein 9 months ago
- Status changed from Closed to Needs Feedback
I suppose you've some opcode cache running, which did not properly detect the exchange of the symlink. TYPO3 core itself can do nothing about this problem.
You need to clear all caches via install tool (typo3 caches and opcode cache) before you access the installation. Otherwise accessing files inside the source may not work. This also explains the reaction of the package manager to remove non-existing packages (access not possible to sysexts).
#14 Updated by Alexander Opitz 8 months ago
Hi Markus and Christian,
I thought again about this issue ... it seams a chicken/egg issue ... you can't start install tool course the packages can't be solved but you need to clear the opcode cache. This correlates with #63721
Christian, wasn't the original plan, that installer mode shouldn't get class loader cache build?
#15 Updated by Markus Klein 8 months ago
Alex, you CAN access the Install Tool right after exchanging the symlink to clear the opcode cache.
But if you start accessing the BE or the like and the opcode cache contains invalid paths, then you run into troubles because at that time the package manager will cleanup the PackageStates by removing all inaccessible extensions.
The question is more: How can we ensure that people clear the opcode cache?
#16 Updated by Alexander Opitz 8 months ago
Spoke with Christian around this area.
Maybe we can add the clear opcode cache in the class_loader shutdown function I'm introducing?
#17 Updated by Markus Klein 8 months ago
Well, yes and no. The opcode cache clearing is somewhat an expensive operation as it usually clears the whole cache. (for all sites on the server)
Hence we should keep such flushes to an absolute minimum.
I'd rather prefer to have some means where we know which version was last used and where we can detect that a new source is here very early.
Could be some kind of compat_version info in localconf or even a dedicated file.
#18 Updated by Alexander Opitz 8 months ago
But, how do we get the new number, if the opcode cache gives us the false file? And crashing in class loader shouldn't be so common.
#19 Updated by Markus Klein 8 months ago
Hm, good point of course. So the only way would then be to clear the opcode cache right before switching the symlink.
So some kind of "prepare manual update" button would be needed in Install Tool. (where we clear all the caches like system cache, opcode cache,etc)
#20 Updated by Alexander Opitz 8 months ago
Thats not possible as between clearing before and switching symlinks another process may regenerate the opcode cache.
#21 Updated by Markus Klein 4 months ago
Is this still an issue? Or can we close this one?
#22 Updated by Mathias Schreiber 3 months ago
- Status changed from Needs Feedback to Closed