Some Combination Of Addons Kills (Unresponsive) Store Frontend.

on setup we add a bunch of addons (all free so far)…



one of them make the http server system unresponsive…

can't ssh in, if ssh'd in can't even ls, (unable to fork),

have run out of memory even setting it to 768M in config.local.php…



with debug on and sql debug on

the last thing I see in the trace (200k lines long), after selecting one product returned from a search is



SELECT cscart_products.* FROM cscart_products WHERE cscart_products.product_id IN (1749…



this one statement is 178082 bytes long…



the backend continues to work (search for an open product defs) for a while (<15 minutes) before it becomes unresponsive too.

That's an invalid sql statement. The syntax is incorrect. If the IN clause is indeed 178K bytes then it is poorly constructed.



Suggest you disable the addons one by one until you find the culprit.



You could contact the providers of the addons and ask them if any of them use “IN” clauses in their SQL statements.

Please start from disabling Searchanise module. It also uses IN statement

unfortunately, we lost the disk image on amazon when we had to restart it. searchenise was enabled.



it should be noted that in this particular instance we have 27,012 products in a single category (called unclassified., id=99), as the vendor didn't provide the category data needed.



an interesting thing in another trace shows a loop thru all the products that were listed in the 'IN' clause (reward points is enabled now and don't see the hang, searchanise not installed currently)



SELECT category_id FROM cscart_products_categories WHERE product_id = 1749 AND link_type = 'A'



SELECT REPLACE(id_path, '99', '') FROM cscart_categories WHERE category_id = 99



SELECT *, amount AS pure_amount FROM cscart_reward_points WHERE object_id = 0 AND object_type = 'A' AND company_id = 0 AND amount > 0 AND usergroup_id IN(0, 1) ORDER BY amount_type ASC, amount ASC LIMIT 1



SELECT *, amount AS pure_amount FROM cscart_reward_points WHERE object_id = 3620 AND object_type = 'P' AND company_id = 0 AND amount > 0 AND usergroup_id IN(0, 1) ORDER BY amount_type ASC, amount ASC LIMIT 1



SELECT *, amount AS pure_amount FROM cscart_reward_points WHERE object_id