I just attempted to upgrade to Payment 7.x-1.13 (from 7.x-1.12) but was unable to run the update script and my entire site is now WSOD.

Error logs indicate Payment is attempting to load this file, but not finding it: sites/all/modules/payment/payment/payment.classes.inc. The payment.classes.inc file is located in the module's root directory and, in fact, there is no "payment" directory within the payment module itself. I see multiple references to this file in the payment-database-dump.php file.

Comments

xano’s picture

Version: 7.x-1.13 » 7.x-1.x-dev
Category: Bug report » Support request
Priority: Critical » Normal

Did you update through the UI or by manually replacing the module folder?

In any case, the file structure changed to work around a Drupal core bug, so the registry must be rebuild. Can you force a cache rebuild and see if that works?

spazfox’s picture

I manually updated the module folder. I've since reverted back to the previous version.

What is the order of operations for doing a manual upgrade for this module? Do I do I replace the module folder, rebuild the cache or registry, then run the db update?

xano’s picture

You can usually just replace the module folder, run DB updates, and clear caches. The tricky thing with yesterday's update is that I changed the file locations to work around a Drupal core bug and that core's registry (which isn't the most robust subsystem), needs to be rebuilt in order to be aware of the new file locations. A complete cache flush should take care of this rebuild.

thechraveler’s picture

i am also seeing this error. I get WSOD after I upload the module folder via FTP and then try and run update.php from link on module page. How might I flush caches if I have WSOD going on?

Also, under 7.x-1.12, i get a different error when i click "Review Order" in Ubercart checkout process:

Fatal error: Cannot unset string offsets in /home/auravent/public_html/avp/modules/field/field.default.inc on line 41

i updated both D7 core and assorted modules a number of times before I noticed the second error (1.12), so I am not sure when it started appearing...

any advice is much appreciated!

xano’s picture

Status: Active » Fixed

Unless something severe is broken, caches can usually still be cleared using Drush. Otherwise, see Registry Rebuild.

Also, under 7.x-1.12, i get a different error when i click "Review Order" in Ubercart checkout process:

Fatal error: Cannot unset string offsets in /home/auravent/public_html/avp/modules/field/field.default.inc on line 41

i updated both D7 core and assorted modules a number of times before I noticed the second error (1.12), so I am not sure when it started appearing...

If you look at the path of the file the error appears in, you'll see it's in Field module, which is in Drupal core. I'd report the bug there.

Bastlynn’s picture

I managed to get around it by removing the module entirely and doing a drush cc all to clear the caches. But once I did that, I downloaded the module again to re-enable it. And got:

Project payment (7.x-1.13) downloaded to sites/all/modules/payment. [success]
Project payment contains 4 modules: paymentform, paymentreference, paymentmethodbasic, payment.
me@site.com:~/site.com/public/sites/all/modules# drush en payment
PHP Fatal error: Class 'PaymentMethodController' not found in /www/public/site.com/public/sites/all/modules/payment/modules/paymentmethodbasic/paymentmethodbasic.module on line 88
Drush command terminated abnormally due to an unrecoverable error. [error]
Error: Class 'PaymentMethodController' not found in
/www/public/site.com/public/sites/all/modules/payment/modules/paymentmethodbasic/paymentmethodbasic.module, line 88

---

The class is present:
me@site.com: grep -r 'class PaymentMethodController' *
payment.classes.inc:class PaymentMethodController {
payment.classes.inc:class PaymentMethodControllerUnavailable extends PaymentMethodController {

Moving paymentmethodbasic out of the site and doing a drush cc all got the site moving again. But I have a dependancy on paymentmethodbasic so I'm going to see if I can get it working / find the issue with it.

---

Ok, yep that did it. I did a drush cc all, drush updb, and drush cc all again while the paymentmethodbasic was out of the site. Cleared up everything I could. Then moved it back in, enabled it and it work. So the hiccup is cache related. You just need to be much more particular than normal to get it to sort itself out.

xano’s picture

I just committed a fix that will be part of 7.x-1.14.

  • Xano committed 121a50d on 7.x-1.x
    Fixed #2442095: Update broken.
    

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

thechraveler’s picture

i tried updating to the 1.14 update, but after doing that when i go to check out i get this error:

Fatal error: Wrong parameters for Exception([string $exception [, long $code ]]) in /home/auravent/public_html/sites/all/modules/payment/payment.classes.inc on line 1226

Advise?

xano’s picture

Thank you for reporting this problem. Could you please open a new issue? In the future, don't hesitate to create new issues for unrelated problems.