Closed joemcl closed 4 years ago
Questions for @joemcl:
Thanks for the report. Your answers to the above will help us isolate the problem.
Hi @twomice.
So this may be due to user error, mine, when installing from the command line as the wrong user. Checking that out today.
Thanks @joemcl Watching for your update.
OK so closing this. I used sudo chown
to change webroot/docroot ownership to the correct user. I ran drush civicrm-upgrade-db
at ~/htdocs/sites/all/civicrm-custom/extensions
and get You are already upgraded to CiviCRM 5.20.0
and not the previous error message. Duh on me and sorry for the false alarm, @twomice .
Thanks for the report @joemcl -- glad you got it sorted out!
@joemcl interestingly I just encountered the same error using drush civicrm-upgrade-db
from 5.19.3 to 5.19.4. By any chance, do you have any symlinks in the path to this extension on the affected site?
I too encounter the same error using drush upgrading to 5.21.1. Just to be sure it isn't a file permission thing, I made all the files in files/civicrm/ext/com.joineryhq.jsumfields-1.0 have full access, chmod -R 777. Still fails.
Thank you @Paul-Tahoe . What civicrm version were you upgrading from?
Also, @Paul-Tahoe do you by chance have any symlinks in the path to this extension on the affected site?
No symlinks. Upgrading from 5.9.1, but I don't think the from version of civi should matter since in an upgrade all the civi code is replaced before the upgrade is run. If the error was in a db update then yes but this error says it's not finding the class, CRM_Jsumfields_Upgrader. It does seem odd since the class seems to be there in the code. I don't know php well enough to write something to check if it does exists. It would seem like somehow in the upgrade process the file that contains that class isn't getting read.
I'm guessing this error only happens to some people. If I get a chance I'll try to upgrade to the latest and greatest and see if I still get the error. I suppose I could also try to reinstall the module. For now I've just disabled it.
Sadly, for some reason the summary fields and this module's triggers don't seem to keep the totals correct (I see there are bugs on this in summary fields). I've had too many complaints from users so I've been getting away from them in things that matter.
I'll look into the upgrade issue. Sorry to hear about your other issue there with accuracy. I haven't heard such reports myself. Feel free to create a separate issue for fields provided by this extension.
I took the instance that I had upgraded to 5.21.0 with the ext disabled. Enabled it and tried to upgrade to 5.22.0. I also ran drush with the -d to see if there were any addition debug messages.
There were some about undefined indexes but they are just notices.
Here are the last 4 prior to the error message Undefined index: relatedcontrib_plusme_last_calendar_year sumfields.php:304 [5.98 sec, 63.35 MB] [notice] Undefined index: relatedcontrib_plusme_last_calendar_year sumfields.php:310 [5.98 sec, 63.35 MB] [notice] Undefined index: relatedcontrib_plusme_alltime sumfields.php:304 [5.98 sec, 63.35 MB] [notice] Undefined index: relatedcontrib_plusme_alltime sumfields.php:310 [5.98 sec, 63.35 MB] [notice] WD php: Error: Class 'CRM_Jsumfields_Upgrader' not found in jsumfields_civicrm_triggerInfo() (line 2512 of
As far as accuracy see
https://github.com/progressivetech/net.ourpowerbase.sumfields/issues/64
and my enhancement request for this module
Thanks for the additional debug info, @Paul-Tahoe , and the reference to other issues. I'll try to look at these when I have some community-contribution hours available.
For what ever reason, the file CRM_Jsumfields_Upgrader.php isn't being included, maybe missing a required_once; but, in looking at other extensions with similar structure that seem to work, I don't see what or where that file would be included.
As a hack to see if this is the problem and to get through the upgrade without having to disable, I added the following:
To jsumfields.php line 3 after the existing required once require_once 'CRM/Jsumfields/Upgrader.php';
To CRM/Jsumfields/Upgrader.php require_once 'Upgrader/Base.php';
Having looked more closely, I'm pretty sure this is a CiviCRM core issue in certain older versions of CiviCRM, which people are encountering (and have encountered on and off for years) in various cases, including at these:
and possibly these:
Core team has been making efforts to address this issue with improvements the core codebase:
I suspect there's a specific "most recent" civicrm version that will demonstrate this error (for the Jsumfields extension) when upgrading to that version, and that for all future versions this is not an issue.
We're testing this theory now, for basic validity and also to determine the "most recent safe upgrade" civicrm version.
I tried upgrading from 5.19.0 to 5.24.3 using drush civicrm-upgrade-db
with the extension enabled and it doesn't have an error.
my findings above indicate that this is probably a core bug fixed in some version between 5.21.0 and 5.27.4, and @lucky091588 's report indicates users can avoid the error by upgrading to 5.24.3 or higher. Since 5.24.3 is currently the most recent security release of CiviCRM, I'm comfortable recommending that users upgrade to this version or higher.
I'll close this issue now. Please feel free to re-open if the error appears when upgrading to some core version of 5.24.3 or higher. Thanks for the report.
I'm getting this when running
drush civicrm-upgrade-db
for Civi 5.20.0:Error: Class 'CRM_Jsumfields_Upgrader' not found in jsumfields_civicrm_triggerInfo() (line 2498 of /var/www/joe-demo/htdocs/sites/all/civicrm-custom/extensions/com.joineryhq.jsumfields/jsumfields.php). Drush command terminated abnormally due to an unrecoverable error.
cv upgrade:db
shows I'm upgraded to 5.20.0 successfully, though.