When an item in an order is shippable, I'm getting an error when completing the checkout process. DatabaseTransactionNoActiveException: in DatabaseConnection->rollback() (line 1016 of /sitename/includes/database/database.inc).
To reproduce:
- Install Commerce Kickstart
- Install Commerce Delivery
- Add a boolean field to a product type, indication whether or not the product is shippable
- Configure Commerce Delivery to use that field
- Edit an existing product, and set shippable to Yes
- As a visitor, put that product in the basket, and start the checkout process
- The error message will appear right after the payment process has finished
Modules:
- Address Field 7.x-1.0-beta1
- Chaos tool suite 7.x-1.0-rc1
- Commerce 7.x-1.0-rc3
- Entity API 7.x-1.0-beta10
- Rules 7.x-2.0-beta3
- Views 7.x-3.0-rc1
The error doesn't occur if I disable the rule called "Add delivery", so the problem is most likely related to that rule.
Comments
Comment #1
olofbokedal commentedIt doesn't happen if I create an order manually (through the administration pages). Only when I place an order as a customer, regardless of whether or not I'm logged in.
Comment #2
xlyz commentedI reproduced it (only with anonynous order through checkout), but I need to investigate further. Be patient as it's a busy period.
Comment #3
olofbokedal commentedInvestigated a little further, and managed to get it working at some point, by altering the weight of the rule. However, I didn't manage to reproduce it on another installation.
Maybe this issue is related to Rules?
Comment #4
xlyz commentedit seems related to order / checkout changes that upstream did in the last month.
a conflict triggered by checking out an order from an anonymous user.
i tried to altering the rule weight but I still get the error. what value did you set?
reporting the backtrace for future reference:
Comment #5
olofbokedal commentedThink I put the weight to 10 or -10. But I can't get it to work again, so maybe it was just that one time I went lucky..
Comment #6
xlyz commentedFixed through a workaround. If user is anonymous, the delivery get created by a different rule fired by checkout completion.
Leaving open as reminder to check for a more solid solution.
Comment #7
jdjeet commentedThis error may come while you are processing an array through Drupal API like insert/update of field collection element or something through API, but you have a wrong indexed array statement.
This results lack of Database Transaction Activity as the data can't be rendered perfectly from the array.