Updating from 8.6.2 to 8.7.0, error during upgrade-finalize: You have requested a non-existent parameter "23W"

Hi there, in my test environment I am updating suitecrm 8.6.2 to 8.7.0

Following instrutions here: Upgrading to SuiteCRM 8.2.x+ versions :: SuiteCRM Documentation everything works fine untill the finalization command

sudo ./bin/console suitecrm:app:upgrade-finalize -t SuiteCRM-8.7.0

that gives me this result:

SuiteCRM Finalize Upgrade

Running: legacy-post-upgrade
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: Interlace handling should be turned on when using png_read_image
step: legacy-post-upgrade | status: done
Post Upgrade process complete
Running: add-new-config-entries
step: add-new-config-entries | status: done
No new entries to add to the config file
Running: metadata-merge
step: metadata-merge | status: done
Metadata successfully merged
Running: run-migrations

In App_KernelProdContainer.php line 2089:

You have requested a non-existent parameter “23W”.

suitecrm:app:upgrade-finalize [-t|–target-version TARGET-VERSION] [-m|–metadata-merge [METADATA-MERGE]]

I am runninng on an ubuntu machine with:
Apache 2.4.52 and PHP 8.1.2

In the suitecrm_error.log I found this long error:

[php:error] [pid 43232] PHP Fatal error: Uncaught Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException: You have requested a non-existent parameter “23W”. in /var/www/html/suitecrm/cache/prod/Container17qGaxG/App_KernelProdContainer.php:2089\nStack trace:\n#0 /var/www/html/suitecrm/vendor/symfony/dependency-injection/EnvVarProcessor.php(343): Container17qGaxG\App_KernelProdContainer->getParameter()\n#1 [internal function]: Symfony\Component\DependencyInjection\EnvVarProcessor->Symfony\Component\DependencyInjection\{closure}()\n#2 /var/www/html/suitecrm/vendor/symfony/dependency-injection/EnvVarProcessor.php(335): preg_replace_callback()\n#3 /var/www/html/suitecrm/vendor/symfony/dependency-injection/Container.php(382): Symfony\Component\DependencyInjection\EnvVarProcessor->getEnv()\n#4 /var/www/html/suitecrm/cache/prod/Container17qGaxG/App_KernelProdContainer.php(607): Symfony\Component\DependencyInjection\Container->getEnv()\n#5 /var/www/html/suitecrm/cache/prod/Container17qGaxG/App_KernelProdContainer.php(676): Container17qGaxG\App_KernelProdContainer::getDoctrine_Dbal_DefaultConnectionService()\n#6 /var/www/html/suitecrm/cache/prod/Container17qGaxG/App_KernelProdContainer.php(618): Container17qGaxG\App_KernelProdContainer::getDoctrine_Orm_DefaultEntityManagerService()\n#7 /var/www/html/suitecrm/vendor/symfony/var-exporter/Internal/LazyObjectState.php(100): Container17qGaxG\App_KernelProdContainer::Container17qGaxG\{closure}()\n#8 /var/www/html/suitecrm/vendor/symfony/var-exporter/LazyGhostTrait.php(178): Symfony\Component\VarExporter\Internal\LazyObjectState->initialize()\n#9 /var/www/html/suitecrm/vendor/doctrine/orm/src/EntityManager.php(318): Container17qGaxG\EntityManagerGhost6410e2e->__get()\n#10 /var/www/html/suitecrm/vendor/symfony/doctrine-bridge/PropertyInfo/DoctrineExtractor.php(221): Doctrine\ORM\EntityManager->getClassMetadata()\n#11 /var/www/html/suitecrm/vendor/symfony/doctrine-bridge/PropertyInfo/DoctrineExtractor.php(61): Symfony\Bridge\Doctrine\PropertyInfo\DoctrineExtractor->getMetadata()\n#12 /var/www/html/suitecrm/vendor/symfony/property-info/PropertyInfoExtractor.php(83): Symfony\Bridge\Doctrine\PropertyInfo\DoctrineExtractor->getTypes()\n#13 /var/www/html/suitecrm/vendor/symfony/property-info/PropertyInfoExtractor.php(56): Symfony\Component\PropertyInfo\PropertyInfoExtractor->extract()\n#14 /var/www/html/suitecrm/vendor/symfony/property-info/PropertyInfoCacheExtractor.php(93): Symfony\Component\PropertyInfo\PropertyInfoExtractor->getTypes()\n#15 /var/www/html/suitecrm/vendor/symfony/property-info/PropertyInfoCacheExtractor.php(60): Symfony\Component\PropertyInfo\PropertyInfoCacheExtractor->extract()\n#16 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Property/Factory/PropertyInfoPropertyMetadataFactory.php(47): Symfony\Component\PropertyInfo\PropertyInfoCacheExtractor->getTypes()\n#17 /var/www/html/suitecrm/vendor/api-platform/core/src/Doctrine/Orm/Metadata/Property/DoctrineOrmPropertyMetadataFactory.php(38): ApiPlatform\Metadata\Property\Factory\PropertyInfoPropertyMetadataFactory->create()\n#18 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Property/Factory/SerializerPropertyMetadataFactory.php(43): ApiPlatform\Doctrine\Orm\Metadata\Property\DoctrineOrmPropertyMetadataFactory->create()\n#19 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Property/Factory/DefaultPropertyMetadataFactory.php(34): ApiPlatform\Metadata\Property\Factory\SerializerPropertyMetadataFactory->create()\n#20 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Property/Factory/IdentifierPropertyMetadataFactory.php(32): ApiPlatform\Metadata\Property\Factory\DefaultPropertyMetadataFactory->create()\n#21 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Property/Factory/AttributePropertyMetadataFactory.php(40): ApiPlatform\Metadata\Property\Factory\IdentifierPropertyMetadataFactory->create()\n#22 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Property/Factory/ExtractorPropertyMetadataFactory.php(42): ApiPlatform\Metadata\Property\Factory\AttributePropertyMetadataFactory->create()\n#23 /var/www/html/suitecrm/vendor/api-platform/core/src/Symfony/Validator/Metadata/Property/ValidatorPropertyMetadataFactory.php(84): ApiPlatform\Metadata\Property\Factory\ExtractorPropertyMetadataFactory->create()\n#24 /var/www/html/suitecrm/vendor/api-platform/core/src/JsonSchema/Metadata/Property/Factory/SchemaPropertyMetadataFactory.php(47): ApiPlatform\Symfony\Validator\Metadata\Property\ValidatorPropertyMetadataFactory->create()\n#25 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Property/Factory/CachedPropertyMetadataFactory.php(43): ApiPlatform\JsonSchema\Metadata\Property\Factory\SchemaPropertyMetadataFactory->create()\n#26 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Util/CachedTrait.php(43): ApiPlatform\Metadata\Property\Factory\CachedPropertyMetadataFactory->ApiPlatform\Metadata\Property\Factory\{closure}()\n#27 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Property/Factory/CachedPropertyMetadataFactory.php(43): ApiPlatform\Metadata\Property\Factory\CachedPropertyMetadataFactory->getCached()\n#28 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Resource/Factory/LinkFactory.php(78): ApiPlatform\Metadata\Property\Factory\CachedPropertyMetadataFactory->create()\n#29 /var/www/html/suitecrm/vendor/api-platform/core/src/Doctrine/Orm/Metadata/Resource/DoctrineOrmLinkFactory.php(56): ApiPlatform\Metadata\Resource\Factory\LinkFactory->createLinksFromRelations()\n#30 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Resource/Factory/LinkResourceMetadataCollectionFactory.php(43): ApiPlatform\Doctrine\Orm\Metadata\Resource\DoctrineOrmLinkFactory->createLinksFromRelations()\n#31 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Resource/Factory/OperationNameResourceMetadataCollectionFactory.php(39): ApiPlatform\Metadata\Resource\Factory\LinkResourceMetadataCollectionFactory->create()\n#32 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Resource/Factory/InputOutputResourceMetadataCollectionFactory.php(37): ApiPlatform\Metadata\Resource\Factory\OperationNameResourceMetadataCollectionFactory->create()\n#33 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Resource/Factory/FormatsResourceMetadataCollectionFactory.php(49): ApiPlatform\Metadata\Resource\Factory\InputOutputResourceMetadataCollectionFactory->create()\n#34 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Resource/Factory/FiltersResourceMetadataCollectionFactory.php(41): ApiPlatform\Metadata\Resource\Factory\FormatsResourceMetadataCollectionFactory->create()\n#35 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Resource/Factory/AlternateUriResourceMetadataCollectionFactory.php(34): ApiPlatform\Metadata\Resource\Factory\FiltersResourceMetadataCollectionFactory->create()\n#36 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Resource/Factory/PhpDocResourceMetadataCollectionFactory.php(74): ApiPlatform\Metadata\Resource\Factory\AlternateUriResourceMetadataCollectionFactory->create()\n#37 /var/www/html/suitecrm/vendor/api-platform/core/src/Symfony/Messenger/Metadata/MessengerResourceMetadataCollectionFactory.php(31): ApiPlatform\Metadata\Resource\Factory\PhpDocResourceMetadataCollectionFactory->create()\n#38 /var/www/html/suitecrm/vendor/api-platform/core/src/Doctrine/Orm/Metadata/Resource/DoctrineOrmResourceCollectionMetadataFactory.php(39): ApiPlatform\Symfony\Messenger\Metadata\MessengerResourceMetadataCollectionFactory->create()\n#39 /var/www/html/suitecrm/vendor/api-platform/core/src/Metadata/Resource/Factory/CachedResourceMetadataCollectionFactory.php(59): ApiPlatform\Doctrine\Orm\Metadata\Resource\DoctrineOrmResourceCollectionMetadataFactory->create()\n#40 /var/www/html/suitecrm/vendor/api-platform/core/src/Symfony/Routing/ApiLoader.php(58): ApiPlatform\Metadata\Re

Where to start from :slight_smile: ?

Sincerly, Vincenzo Frezza.

Set permission and ownership correctly.

Delete log/prod


“Login credentials incorrect, please try again” when trying to login as admin
edit file .env.local from SuiteCRM root directory and add missing variable APP_SECRET at the end:

APP_SECRET=put_here_any_secret

Missing translation after upgrade

  • login as admin selecting English, change your language to English in profile
  • go to Admin → Admin Tools → Module Loader and uninstall your native language
  • do Admin → Admin Tools → Quick Repair and Rebuild
  • return to Module Loader install your language
  • Quick Repair and Rebuild and then logout and login with your language

Run the below command in root folder.

./bin/console cache:clear

I set up permissions just immediate before running the commad to finalize the upgrade running this commands:

sudo find . -type d -not -perm 2755 -exec chmod 2755 {} ;
sudo find . -type f -not -perm 0644 -exec chmod 0644 {} ;
sudo find . ! -user www-data -exec chown www-data:www-data {} ;
sudo chmod +x bin/console

Now, trying to delete Symfony cache I got this similar error:

sudo ./bin/console cache:clear

// Clearing the cache for the prod environment with debug false

In App_KernelProdContainer.php line 2090:

You have requested a non-existent parameter “23W”.

cache:clear [–no-warmup] [–no-optional-warmers]

Are you able to access your instance without any issues?

No, it doesn’t work …

Are you using docker image? What is your user and group? Is it linux or windows system?

No docker, I installed suitecrm on Ubuntu sever

Isn’t something like %23W a part of your password?
Change password to your database and try with new password. It should contain letters and digits only.
(your password to database is stored in .env.local in SuiteCRM root direcory)
DATABASE_URL="mysql://[login]:[password]@localhost:3306/[database]"

1 Like

I suggest doing a find-in-files:

grep -irn '23W' .

From the top SuiteCRM directory.

This will show you files containing that string. This should help solve the problem.

My bet is core_services.yaml

Bingo ! the password contains “%23W%” …

Tomorrow I will change it and I’ll update all of you …

Ciao, Vincenzo

If you can provide a sample password that causes this error, it would be important to get it fixed

This is because password is url-encoded and there is resolve prefix in config/packages/doctrine.yaml