Updated VM to 3.6.4., error: Class 'vmLanguage' not found

Started by garikello, October 30, 2019, 10:04:57 AM

Previous topic - Next topic

garikello

Hi,

Just updated VM to latest 3.6.4. and now I have an error.

After trying to open any of the product pages I have error: Class 'vmLanguage' not found.

This is what debugger gives out:
Call stack
#    Function    Location
1    ()    JROOT/components/com_virtuemart/router.php:837
2    vmrouterHelper->__construct()    JROOT/components/com_virtuemart/router.php:935
3    vmrouterHelper::getInstance()    JROOT/components/com_virtuemart/router.php:379
4    virtuemartParseRoute()    JROOT/libraries/src/Component/Router/RouterLegacy.php:105
5    Joomla\CMS\Component\Router\RouterLegacy->parse()    JROOT/libraries/src/Router/SiteRouter.php:437
6    Joomla\CMS\Router\SiteRouter->parseSefRoute()    JROOT/libraries/src/Router/Router.php:482
7    Joomla\CMS\Router\Router->_parseSefRoute()    JROOT/libraries/src/Router/Router.php:227
8    Joomla\CMS\Router\Router->parse()    JROOT/libraries/src/Router/SiteRouter.php:138
9    Joomla\CMS\Router\SiteRouter->parse()    JROOT/libraries/src/Application/CMSApplication.php:1074
10    Joomla\CMS\Application\CMSApplication->route()    JROOT/libraries/src/Application/SiteApplication.php:796
11    Joomla\CMS\Application\SiteApplication->route()    JROOT/libraries/src/Application/SiteApplication.php:218
12    Joomla\CMS\Application\SiteApplication->doExecute()    JROOT/libraries/src/Application/CMSApplication.php:196
13    Joomla\CMS\Application\CMSApplication->execute()    JROOT/index.php:49

I have Joomla! 3.9.12 Stable with multilanguage setup.

Any ideas?

Mike J

Adding to your post, I got:

Error: 0
Class 'vmLanguage' not found

... With VM 3.6.4 after selecting any payment method and clicking confirm order, so rolled back to 3.6.2
VirtueMart 4.0.2 10661
Joomla! ‎3.10.11
PHP 7.4.30
mysql 5.7.39

thefbi

Hello, i have exactly the same problem... Nobody have an idea ?
My shop is down, unable to show products.

Example : https://boutique.energie-sante.ch/materiel-therapeutique-aimants-chromotherapie

StefanSTS

#3
The issue is solved and will be addressed by Max himself shortly I guess.

Give him some time to put the fixed version up.

Seems it only happened in a few installations when VmConfig was loaded by a third party extension already.

--
Stefan Schumacher
www.jooglies.com - VirtueMart Invoice Layouts

Please use only stable versions with even numbers for your live shop! Use Alpha versions only if you know what risk you are taking.

thefbi

OK, but i cant wait.
So i have to apply a backup of my site, the problem is the latest backup i have is from 2 days (i dont have backuped just before upgrade => Error).
So i have 3 orders that i dont wanna loose.

Can you please tell me what are the tables i have to backup / restore to conserve this records (user, order, etc) ?
So i can restore my site and after that, restore the updated database.

StefanSTS

This is the router.php for /components/com_virtuemart/.

It is modified by Max and worked in my test. Use at your own risk, please.
--
Stefan Schumacher
www.jooglies.com - VirtueMart Invoice Layouts

Please use only stable versions with even numbers for your live shop! Use Alpha versions only if you know what risk you are taking.

StefanSTS

#6
Given your over 100 posts here and doing an update in your live site without testing in a test environment first, I feel you have missed to read some important posts.

1. ALWAYS make a backup right before update.
2. ALWAYS test in a test environment.
3. ALWAYS make a backup right before update.
4. ALWAYS make a backup right after update.
5. Make another backup and test it locally.

PS. and make some backups when you feel like it.
--
Stefan Schumacher
www.jooglies.com - VirtueMart Invoice Layouts

Please use only stable versions with even numbers for your live shop! Use Alpha versions only if you know what risk you are taking.

thefbi

OK, it work, thank you.

Yes, abitually i make a backup, but it is only when you dont make it there is problem :)
And for the tests, yes, i have to do it, but with Akeebabackup pro, a restore is make in 3 minutes...

StefanSTS

#8
If you have Akeeba backup Pro you might consider setting up a cron job for your daily full backups and two or three db backups per day.

Then you can sleep much better. ;-)


PS. If you want to thank someone, thank Max with a membership subscription if you don't already have. He was very quick about finding a solution.
And it wasn't obvious that there was an error as I explained earlier. This happens sometimes because the developers cannot test all scenarios for every shop. That is why a test environment is so important.
--
Stefan Schumacher
www.jooglies.com - VirtueMart Invoice Layouts

Please use only stable versions with even numbers for your live shop! Use Alpha versions only if you know what risk you are taking.

thefbi

Yes, i already do this. But in fact, the latest backup is from yesterday morning, and i have updated th VM yesterday evening. In the journey, they was 3 orders...
But if i had saved before, I wouldn't have had any problems...

I will thinking about subscription. And about a test environment too :)

Mike J

This may help someone.

After updating to: VM to 3.6.4 the confirm order button redirected users to an error page that produced the following error regardless of what payment method was selected:

0
Error: 0
Class 'vmLanguage' not found

I noticed this time after updating to VM to 3.6.4 again, a notice saying: a table was noninheritable and that a table was added. Same error so I went to Tools & Migration / DB Tools / Optimse Database function and used that function, now my error has been resolved.

Hope this helps someone.
VirtueMart 4.0.2 10661
Joomla! ‎3.10.11
PHP 7.4.30
mysql 5.7.39

thefbi

Quote from: StefanSTS on October 30, 2019, 12:16:53 PM
PS. If you want to thank someone, thank Max with a membership subscription if you don't already have. He was very quick about finding a solution.
And it wasn't obvious that there was an error as I explained earlier. This happens sometimes because the developers cannot test all scenarios for every shop. That is why a test environment is so important.

Just subscribed right now :) Thanks at the team !

StefanSTS

Thanks to thefbi. ;-)

I am myself just an "external" so I don't get a pizza or anything for recommending to join the VM membership, but since this great piece of software is given for free, I like to remind everyone, if they make a fair amount of money with it, to share a small amount of that with the people that give the opportunity for everyone to make a shop with little or nothing.

Thanks again
Stefan
--
Stefan Schumacher
www.jooglies.com - VirtueMart Invoice Layouts

Please use only stable versions with even numbers for your live shop! Use Alpha versions only if you know what risk you are taking.

thefbi

You're right, I have a lot of websites, only 2 shops with Virtuemart. Most of my sites are showcase sites or with other types of components.

I use professional components that are paid for year-round, and I have no problem paying for it. It's true that Virtuemart is free, and as a result, we don't really think about contributing. We don't think about it less when we don't have to pay to use an extension :)

Frédéric

thefbi

And i am installing a hosting with test environment especially for my Virtuemart sites ;) I prefer make it online.