Plugin makes it impossible to view large orders
-
When I click an order in the list of orders I get a blank page and a 503 in the console.
This only happens when the Mailchimp for WooCommerce plugin is active. As soon as I deactivate the plugin it works fine again.To Reproduce
Create an order with something like 35 items in it
Click on orders
Click the order with the 35 items in it.Expected behavior
I should be able to view the order.I have added a ticket on the github page, but I have had no response what so ever for over a month. The issue has rendered the plugin unusable for many months.
-
@alijens Hi!
Thanks so much for reaching out. In order to further help, do you mind providing your store URL and enabling remote diagnostics please?
Remote diagnostics for the Mailchimp for WooCommerce plugin allows our development team to troubleshoot issues like this.To enable Remote Diagnostics:
- Login to the WordPress admin console
- Go to?Plugins?->?Mailchimp for WooCommerce, click?Settings
- Inside the Mailchimp for WooCommerce plugin, click the?Settings?tab
- Activate the?Enable Support?checkbox under?Remote Diagnostics
Once enabled, please let us know. We will be on the lookout.
I have a staging site at?https://www.aveo.se/stg_0c734/
Activate the?*Enable Support*?checkbox under?*Remote Diagnostics*
Gives me? “‘Could not communicate with your server. Please contact your hosting provider, or firewall service, or view your fatal logs to resolve issues and try again.”
I get nothing in the fatal logs.I have activated the plugin on our live site(https://www.aveo.se/) and I do not get the same error when activating(Activate the *Enable Support* ) on that. But I can only have the plugin active for a limited time since it breaks functionality that is essential for my coworkers. Please look at this ASAP.
- This reply was modified 2 months, 1 week ago by alijens.
Hi @alijens
Looks like you are using a subfolder multisite. This plugin does not support subfolder multisite. We do however, support subdomain multisites. This is why you are getting this error on your staging site. Please let us know if you run into anymore issues.
Thanks!
Hi,
That may be the case on the staging site, but the issue is the same on our live site. I just added the staging site since I can have the plugin active at all times on it and hence I thought that it would be easier to find the problem on the staging site, I can’t have it active on the live site since my coworker can not do their work when it is active. Since the issue still exists on the live site and that has no multi site folder there is still a problem with your plugin making it unusable on our live site.
Best regards
Jens Frost
Aveo Ab
Hi @alijens
I really do apologize for not being able to give you a more detailed reason for why you are unable to view large orders. Are you able to view small orders?
Either way, thanks for sticking with us. This is a bit tricky to troubleshoot when the remote diagnostic is disabled. Remote diagnostics allows us to take a deeper dive into what could be going on with your plugin by looking at the Fatal Logs.
You may not have any Fatal Logs because the plugin is not connected long enough. Is it possible to turn on the plugin and then recreate your steps to see if something pops in? As of now, I can only think of a few things without having your fatal log.
Server Overload: The server might be experiencing high traffic and cannot process additional requests.
Resource Limits: Your hosting provider may have resource limits that have been exceeded.
Plugin or Theme Issues: A plugin or theme may be causing the server to become unresponsive.
- If using many plugins, consider increasing the hosting server’s memory limit (e.g., to 1GB)
- Investigate potential conflicts with other plugins or themes
- Follow this guide on how to test for and resolve plugin conflicts
Caching Considerations:
- Activate
WP CRON
or use the CLI option
Hosting Environment:
- For shared hosting, consider upgrading to a dedicated IP address
API Access:
- Check if your server is blocked by Akamai, Mailchimp’s API service
- This reply was modified 2 months ago by KJ.
Hi,
I can view small orders with the plugin active. It is only when an order has a larger amount of products that the 503 happens. I’m in contact with our hosting company to see if they have access to more logs. I have emailed them several times but so far they have not given me any logs. I can reproduce the problem at any time, and I have checked the fatal error log and the debug.log file before and after reproducing the problem. I get things logged in the debug.log file, but nothing that explains a 503. It is strange since normally a 503 is logged in that file. I have had 503 before and they were logged in that file. I get nothing logged in the fatal error log. There is not even a fatal error log created for the current day. I have reproduced the problem today and sent our hosting company the time and date and hopefully they can see something in the server logs.
Best regards
Jens Frost
Aveo Ab
Yea – sounds very much like you need to bump up hosting resources. We will standby and will keep this open. Hopefully you hear something soon that can assist us in helping you.
Hi,
I got some response.
they checked for the following things and could not see anything wrong on the server end, although there are some improvements needed.
2024-09-20:- Maintenances:?
- Server DDOS:?
- Load on Server:?
- High IO on the webnode:?
- OOM:?
- Errors in logs:
- High number of Active Plugin Usage:?
- WP-content Disk Usage High:
- DB Optimisation:?
- Customers can reduce the number of rows on the tables as it looks high
- High Traffic on the Website:?
- Website Optimisation:?
References:
[1] Traffic Analysis:Web Traffic Analysis SummaryAnalysis Period: 19/Sep/2024 to 20/Sep/2024Total Requests: 3127Unique Visitors: 284Successful Requests: 3123Failed Requests: 4Top 5 Most Visited Pages+--------------------------------------+--------+------------+| Page | Visits | Percentage |+--------------------------------------+--------+------------+| /xmlrpc.php | 229 | 07.33 || /____one.com_diagnostics/status.json | 219 | 07.01 || / | 98 | 03.14 || /wp-login.php | 19 | 00.61 || /wp-login.php | 19 | 00.61 |+--------------------------------------+--------+------------+Visitor Statistics by Date+----------+-----------------+--------------+| Date | Unique Visitors | Total Visits |+----------+-----------------+--------------+| 20240920 | 106 | 1524 || 20240919 | 178 | 1599 |+----------+-----------------+--------------+Top 10 IP Addresses+----------------+------+---------------+| IP Address | Hits | % of Visitors |+----------------+------+---------------+| 13.74.145.44 | 524 | 00.70 || 52.164.203.188 | 383 | 00.35 || 52.178.219.51 | 267 | 00.35 || 13.94.100.63 | 267 | 00.35 || 52.169.14.125 | 232 | 00.35 || 52.169.220.221 | 228 | 00.35 || 52.138.205.30 | 228 | 00.35 || 46.30.211.46 | 219 | 00.70 || 82.102.17.216 | 53 | 00.35 || 20.171.100.36 | 34 | 00.35 |+----------------+------+---------------+
[2] OOM Before Timestamps seen:
kern-20240917.zst:2024-09-17T08:53:41.432717056Z lxchost10 6 kernel oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=payload,mems_allowed=0,oom_memcg=/machine.slice/[email protected]/payload/users/aveo.se/no_webconfig_id,task_memcg=/machine.slice/[email protected]/payload/users/aveo.se/no_webconfig_id,task=php-cgi-8.1,pid=30632,uid=977439kern-20240917.zst:2024-09-17T08:55:49.820358144Z lxchost10 6 kernel Memory cgroup stats for /machine.slice/[email protected]/payload/users/aveo.se/no_webconfig_id:kern-20240917.zst:2024-09-17T08:55:49.820524032Z lxchost10 6 kernel oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=payload,mems_allowed=0,oom_memcg=/machine.slice/[email protected]/payload/users/aveo.se/no_webconfig_id,task_memcg=/machine.slice/[email protected]/payload/users/aveo.se/no_webconfig_id,task=php-cgi-8.1,pid=20396,uid=977439kern-20240918.zst:2024-09-18T08:59:21.345515008Z lxchost10 6 kernel Memory cgroup stats for /machine.slice/[email protected]/payload/users/aveo.se/no_webconfig_id:kern-20240918.zst:2024-09-18T08:59:21.345835008Z lxchost10 6 kernel oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=payload,mems_allowed=0,oom_memcg=/machine.slice/[email protected]/payload/users/aveo.se/no_webconfig_id,task_memcg=/machine.slice/[email protected]/payload/users/aveo.se/no_webconfig_id,task=php-cgi-8.1,pid=29380,uid=977439... {Output Truncated}
[3]. Active Plugins:
query-monitor, admin-bar-user-switching, admin-bar-wrap-fix, admin-menu-groups, advanced-cron-manager, advanced-custom-fields, advanced-google-recaptcha, all-in-one-seo-pack, aveo-cross-sell-carousel, aveo-custom-cross-sell, aveo-custom-upsell, aveo-dropship-settings-tab, aveo-order-search-by-category, aveo-order-search-by-sku, aveo-percentage-sale-price, aveo-single-image-with-title, aveoShopify_CSV_Export, aveo_add_link_for_kort_datum, aveo_admin_products_tags_sorting, aveo_category_slider, aveo_category_time_limit_cron_job, aveo_clear_shipping_inputs_in_checkout, aveo_display_mailchimp_campaign, aveo_free_gift, aveo_hide_out_of_stock_products_starting_with_D_in_sku, aveo_private_company_info, aveo_stock_messages, b2b-wholesale-suite, bulk-edit-categories-tags-premium, cartflows-pro, cartflows, codepress-admin-columns, custom-fonts, custom-order-numbers-for-woocommerce, custom-order-statuses-for-woocommerce, debug-bar, download-manager, download-now-for-woocommerce, elementor, flexible-checkout-fields, font-awesome, google-analytics-for-wordpress, google-site-kit, health-check, invoice-gateway-for-woocommerce, loco-translate, media-deduper, menu-option, onecom-themes-plugins, onecom-under-construction, product-expiry-for-woocommerce, product-visibility-by-country-for-woocommerce, product-visibility-by-user-role-for-woocommerce, recently-viewed-and-most-viewed-products, searchwp-live-ajax-search, simple-history, taxonomy-terms-order, user-blocker, user-role-editor, user-switching, username-changer, wc-bulk-assign-linked-products, wc-partial-shipment, wc-search-orders-by-product, wc-unifaun-shipping-printnode, wc-unifaun-shipping, webappick-product-feed-for-woocommerce, woo-add-gtin, woo-cart-abandonment-recovery, woo-checkout-field-editor-pro, woo-discount-price, woo-orders-spreadsheet-table-premium, woo-products-bulk-editor-premium, woo-update-manager, woocommerce-google-analytics-integration, woocommerce-legacy-rest-api, woocommerce-pdf-invoices-packing-slips, woocommerce-pdf-ips-templates, woocommerce-product-stock-alert, woocommerce-products-per-page, woocommerce-services, woocommerce, wp-all-export-pro, wp-all-import-pro, wp-crontrol, wp-mail-logging, wp-nested-pages, wp-rollback, wp-sheet-editor-media-library-premium, wp-sheet-editor-premium, wp-smart-image-resize-pro, wpae-user-add-on-pro, wpae-woocommerce-add-on, wpai-user-add-on, wpai-woocommerce-add-on
[4] Disk Usage:
https://pastebin.office.one.com/view/raw/93624dcb
[5] Website Optimisation:
see attachmentBut I don’t see anything that would explain the 503.
Hi @alijens, thanks for your patience on this issue. We’ve been testing on our end but haven’t been able to replicate the problem. We tested orders with up to 50 unique SKUs without any issues. It’s possible this might be due to a plugin conflict. Could you try cloning your site to a staging environment and see if the issue persists with only WooCommerce and Mailchimp enabled? Additionally, enabling remote diagnostics could help us identify the root cause.
@alijens this one has us scratching our heads pretty good. These problems are very difficult to track from our end. If everything is fine on smaller orders, then it must be related to a rendering of the products in the order. These are where the
foreach
loops can get a little messy with resource consumption. If you’re getting the 503, that’s a sign of things not being optimized enough and running either out of time, or just consuming too much on the resource side. It shows you’re running out of memory, and the only way around this is to increase that on the server.Have you tried upping any resources at all to allow for this? What was the most you’ve tried to increase that to? Could it also be related to a PHP INI setting for max memory per process? You actually might need to add a custom code snippet on your orders scripts that will temporarily increase that php max memory setting to see if that works. Have you been able to troubleshoot anything along those lines with your host?
Our hosting company is one.com and we are using their largest subscription to get a server with the most memory available(8GB RAM). There is nothing I can do to change that. They don’t have any subscriptions that would change that. I will forward your question to one.com and see if they can do anything about the memory or change the PHP INI file.
@alijens yeah there’s very little chance a single order will be using up that entire 8GB memory… but what does happen a lot of times is the usage of all things happening at the same time can sometimes trigger that type of thing to happen.
I really don’t know off hand why you’re experiencing that. If it works for “2 items on an order” it should in theory work for 50 items. I also wonder if you have any other plugins that might be trying to update stuff on the fly, causing a recursion loop of jobs being queued or something.
Do you happen to see anything in the Mailchimp log file that shows at the time of you viewing the large orders that it tries to ship things off to the queue right at that moment?
I would open up a separate tab for the Mailchimp plugin logs while you try to view those orders and see what happens right after viewing the order on that log file tab. Maybe there’s a clue here that might show the traces we need to help further. Also I would change the log setting to DEBUG in our plugin to get all logs.
I get
2024-10-03T09:31:35+00:00 NOTICE webhook :: Subscriber Sync :: unsubscribe :: [email protected] :: Array
(
[subscribed] =>
[user_id] => 1118
)
2024-10-03T13:17:19+00:00 NOTICE admin :: updated GDPR fields :: Array
(
[fields] => Array
(
[0] => Array
(
[marketing_permission_id] => d49d44d600
[text] => Epost
[enabled] =>
)[1] => Array ( [marketing_permission_id] => eba744e47e [text] => Direktreklam [enabled] => ) [2] => Array ( [marketing_permission_id] => a3fe04e7ec [text] => Anpassad onlineannonsering [enabled] => ) )
)
2024-10-03T13:19:50+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:50+00:00 NOTICE action_scheduler.queue_job :: MailChimp_WooCommerce_Single_Order starts in 90 seconds :: obj_id 154513
2024-10-03T13:19:50+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:50+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:50+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:50+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:50+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:50+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:50+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:51+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:51+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:51+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:51+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:51+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:51+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:51+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:51+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:51+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:51+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:51+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:52+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:52+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:52+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:52+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:52+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:52+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:52+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:52+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:52+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:52+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:52+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:53+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:53+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:53+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:53+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:53+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:53+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:53+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:53+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:53+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:53+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:53+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:53+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:54+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:54+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:54+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:54+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:54+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:54+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:54+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:54+00:00 NOTICE handleOrderUpdate :: order_status
2024-10-03T13:19:54+00:00 NOTICE handleOrderUpdate :: order_status
in the log file. This is all I can see in it and I have reproduced the problem just before getting the log file.I’m setting up a staging site to test if it helps to deactivate all other plugins, but it will not be done until tomorrow.
@alijens ok this is fantastic info. This means there’s a recursion happening on an order update. The way this happens is
woocommerce_update_order
actions are being fired and continues to fire over and over and over until it runs out of memory or fails. I’m not 100% sure how to solve this off hand yet but that’s the issue. Something is updating the order too much and it’s firing until the process shuts down.If we think of something we will report back here.
- You must be logged in to reply to this topic.