I am trying to configure a shopping cart price rule where if you add 2 or more bundled products from one category you get the discount off the subtotal of the cart. This is the only cart rule on the website. I have it as follows.

If ALL of these conditions are TRUE :

If total quantity  equals or greater than  2  for a subselection of items in cart matching ALL  of these conditions:
    Category  is  18  

Actions: Fixed Amount discount for whole cart. Discount Amount: $29.00

This seems like a straight forward discount, and it DOES apply to the correct products in the cart.

The problem arrises when you try and add a configured product to the cart, I am getting a "Internal Server Error 500". After checking with the hosting company they reported that it is attempting to use a truly massive amount of memory, and even when we allowed it to use ten times a normally allowable amount it still failed. Here is a slow log of the php process erroring out:

[0x000000000df1e2f8] __call() /chroot/home/shopadip/shopadiplayer.com/html/lib/Varien/Object.php:631

[0x00007fffa1344f80] __call() unknown:0

[0x000000000df1e0c8] getOperator() /chroot/home/shopadip/shopadiplayer.com/html/app/code/core/Mage/Rule/Model/Condition/Abstract.php:297

[0x000000000df1d358] isArrayOperatorType() /chroot/home/shopadip/shopadiplayer.com/html/app/code/core/Mage/Rule/Model/Condition/Abstract.php:557

[0x000000000df1c0c0] validateAttribute() /chroot/home/shopadip/shopadiplayer.com/html/app/code/core/Mage/Rule/Model/Condition/Product/Abstract.php:523

[0x000000000df1bbe8] validate() /chroot/home/shopadip/shopadiplayer.com/html/app/code/core/Mage/SalesRule/Model/Rule/Condition/Product.php:70

[0x000000000df1b730] validate() /chroot/home/shopadip/shopadiplayer.com/html/app/code/core/Mage/Rule/Model/Condition/Combine.php:307

[0x000000000df1b1e8] validate() /chroot/home/shopadip/shopadiplayer.com/html/app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Combine.php:216

[0x000000000df1adb8] validate() /chroot/home/shopadip/shopadiplayer.com/html/app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Combine.php:216

[0x000000000df1adb8] validate() /chroot/home/shopadip/shopadiplayer.com/html/app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Subselect.php:117

[0x000000000df1a870] validate() /chroot/home/shopadip/shopadiplayer.com/html/app/code/core/Mage/SalesRule/Model/Rule/Condition/Product/Combine.php:219

When I turn the shopping cart rule to inactive, all products are added to the cart without error. I cannot find any threads about server errors when using cart rules. Please help.

Magento CE 1.9.1



Based on comments on @kalpesh link this also solved the problem for me. (adding the fix here for future reference)

There is a patch for this https://gist.github.com/piotrekkaminski/54529dadb0bc01a62a2d

It is marked for EE but the fix worked for us.


- if (parent::validate($item)) {
+ if (Mage_Rule_Model_Condition_Combine::validate($item)) { 
  • This patch works well on Magento CE too, thanks! – Simbus82 Apr 20 '17 at 8:24

A similar problem - conflict between a shopping cart price rule and adding / amending configurable parts to the shopping cart has been tracked back (by SimpleServers - hosts in this case) to a PHP bug.

193 0x00000000008981e0 in execute ()

194 0x00000000008a4a75 in zend_do_fcall_common_helper_SPEC ()

Suggested resolution was to either - upgrade from PHP 5.4.37 to 5.5, or - change the PHP code

Currently haven't done either so can't comment on what works

  • 2
    Hahaha oh my. "change the php code". Classic. I've run into the same problem, will try it on PHP 5.5 today hopefully. – Luke Rodgers Feb 4 '15 at 10:16
  • I don't recommend this. This is not a PHP bug but rather a bug in Magento core. I suggest following my recent blog post to fix this issue: ka.lpe.sh/2015/03/28/magento-checkout-cart-500-error – Kalpesh Mar 28 '15 at 23:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.