VirtueMart Forum

VirtueMart 2 + 3 + 4 => Virtuemart Development and bug reports => Topic started by: MAD King on September 20, 2018, 17:01:25 PM

Title: Class 'GenericTableUpdater' not found [solved]
Post by: MAD King on September 20, 2018, 17:01:25 PM
Hello,

just got noticed of an VM AIO update, but it gives me this error:

QuoteClass 'GenericTableUpdater' not found

Joomla 3.8.12, VM 3.4.0

Thanks
Title: Re: Class 'GenericTableUpdater' not found
Post by: Jörgen on September 20, 2018, 17:32:18 PM
Silly question, have You only updated the AIO ? Not the VM core ?

When does the error appear ?

Jörgen @ Kreativ Fotografi
Title: Re: Class 'GenericTableUpdater' not found
Post by: MAD King on September 20, 2018, 17:37:51 PM
Quote from: Jörgen on September 20, 2018, 17:32:18 PM
Silly question, have You only updated the AIO ? Not the VM core ?

When does the error appear ?

Jörgen @ Kreativ Fotografi

First, no question is silly.  :)

Second, Joomla showed me the update for VM 3.4.0 and AIO. I updated both at the same time and that gave me this error.
After your question, I tried to update the AIO and it worked, but got this message:

QuoteWarning
JFolder: :delete: Path is not a folder. Path: /home/public_html/administrator/components/com_virtuemart_allinone/libraries
JFolder: :delete: Path is not a folder. Path: /home/public_html/administrator/components/com_virtuemart_allinone/modules
JFolder: :delete: Path is not a folder. Path: /home/public_html/administrator/components/com_virtuemart_allinone/modulesBE
Title: Re: Class 'GenericTableUpdater' not found
Post by: Jörgen on September 20, 2018, 18:54:04 PM
I think you can ignore this warning. I think there is an attempt to delete old aio files again. They are probably already removed. Does it work otherwise ?
Jörgen @ Kreativ Fotografi
Title: Re: Class 'GenericTableUpdater' not found
Post by: MAD King on September 20, 2018, 19:03:44 PM
Quote from: Jörgen on September 20, 2018, 18:54:04 PM
I think you can ignore this warning. I think there is an attempt to delete old aio files again. They are probably already removed. Does it work otherwise ?
Jörgen @ Kreativ Fotografi

No errors so far.
Working as usual.

Thanks
Title: Re: Class 'GenericTableUpdater' not found [solved]
Post by: stAn99 on September 21, 2018, 16:00:24 PM
this error is caused by having a system plugin which loaded virtuemart before the installation process started.

the simplest fix is to:
- download the zip from Vm download section (first component and then aio)
- install the zip  (for the first attemtp you may get the error)
- install the zip second time  (the second installation doesn't give an error as it's using already updated files)

another solution is to find out which plugin it does:
- some webkul plugins load VM during the installation
- not-up-to-date/latest rupostel opc plugins may do this  (some of our old plugins load VM from system plugins)
- not-up-to-date awo plugins can load VM in this context

if you really need to find out which plugin it does, modify your
/administrator/components/com_virtuemart/helpers/config.php

(THIS MOD WILL BREAK YOUR SITE DURING THE DEBUG)

and at the beginning of the file right after <?php insert:

$x = debug_backtrace();
foreach ($x as $l) echo $l['file'].' '.$l['line']."<br />\n";
die();

this will give you backtrace how the vmconfig file was reached and you should know which plugin caused it. once you find out, remove the above lines.


best regards, stan
Title: Re: Class 'GenericTableUpdater' not found [solved]
Post by: MAD King on September 21, 2018, 16:14:35 PM
Already fixed.
webkul plugins - do not use any of them. Bad experiences in the past.
awo plugins do not use that

I only use OPC and Stan already confirmed it is not OPC.

Thanks
Title: Re: Class 'GenericTableUpdater' not found [solved]
Post by: GJC Web Design on September 22, 2018, 00:52:32 AM
After a lot of experimentation and some recode by Max we have found that if you move the "VM Framework Loader during Plugin Updates" system plugin to the top then the error wont happen.

In other words in the view administrator/index.php?option=com_plugins open the plugin VM Framework Loader during Plugin Updates and in the Ordering choose 'Order First'
Save & Close and the click on the double arrows top left in the overview page to enable the ordering, make sure u are on Ascending and drag/drop the plugin to the top.
Choosing 0 when other plugs are also 0 isn't enough.

Then do your update.

Using the Package installer ( Upload & Install Joomla Extension)  directly will also eliminate any 3rd party system plugin problems
Title: Re: Class 'GenericTableUpdater' not found [solved]
Post by: Milbo on September 26, 2018, 09:06:08 AM
GJC this is correct, but only when someone had already the systemplugin of vm3.2.15 installed. The main trick of the new installer is, that it does not use the paths given by the config to load the sql, it always loads now the sql of the installer.