WAIT: Very slow saving behavior

Browser: Chrome Version 111.0.5563.146 (Build officiel) (arm64)
OS: macOS Ventura 13.3
URL: in dev
Bricks: latest version, using Child Theme

I have been having very slow saving time (up to approximatively 25 seconds) when changing CSS and/or structure in the Builder on my two last projects (current projects). This was already happening in at least the two most recent stable versions of Bricks. It makes it very uneasy to use because I was used to be able to “Cmd+S” all the time and check on the frontend the changes, even minor.

I thought I might have a problem and would wait for Bricks updates to see if this was fixed, but I have never found an y threads in the forum or the FB group that talks about these slow saving times, so here is my bug report.

I have set up the recommended server settings from the installment of these projects (server memory limit to 256Mb, PHP limit execution time to 180, etc…)

It can happen after a minor change (change of a text size) or after a lot of changes. Once saved, if I save again without changing anything, the saving is near instant (as it should be : about 1-3 seconds).

This has started happening on my two last projects that use in common these plugins :

  • Bricks latest version
  • ACSS
  • BricksExtras
  • WPCodeBox
  • MetaBox
  • motion.page
  • Plaster

@timmse I can give you an admin access to the project if you wish.

Thanks.

Hi,
Thanks so much for your report!

Please update to 1.7.1 and see if the issue still exists. If so, please send temporary login credentials and a link to this thread to help@bricksbuilder.io using the email address you used during the purchase.

Best regards,
timmse

Hi @timmse

I have sent an email with credentials to 2 projects I am working on that show the same slow saving behavior.

They are pretty similar (portfolio type of website), using pretty much the exact same plugin stack. One does have significantly longer saving times than the other (up to 25-30 seconds sometimes), even after a minor change (for example : a simple font-size value change in a Custom CSS tab).

I’ll let you investigate and let me know what you think.

All these projects are always up to date to the latest stable version of Bricks as well as all plugins.

All the best,

Antoine

I’m facing similar issues with 1.8…

We were able to fix the problem together with Antoine and the Bricks team. So it shouldn’t be the case anymore.

If so, you should provide more information…
Which plugins do you use?
What kind of server are you working on?

In Antoine’s case, it was a LiteSpeed server that caused problems with ACSS and how Bricks works.

Do you also use ACSS?

Yes, ACSS and Litespeed here! I am facing the same issue again today.

Hi.
My issue was (and still is) caused by my hosting ModSecurity. Deactivating in the cPanel solved the issue right away. I have been in contact with Bricks, ACSS and my hosting support, and no real fix was found, I just need to remove the ModSecurity rule.

Hi @timmse @thomas @Tobias

Following up on the problem of slow saving times I’ve been having when ModSecurity rules were being applied to my hosting, I now know that they use ModSecurity rules for Webhosting - Malware Expert if this can be of any help to determine why as soon as ModSecurity is activated, Bricks will take up to 35 seconds to save the least little change in a page.
I’ve tried it again, and it really is ModSecurity that triggers this problem, I don’t know if it is related to ACSS or not since I have never had a final word on this. Some say it is related to the hosting provider (in my case o2switch.fr), some say it is plugin (ACSS) related, … I just don’t know. But would be nice to have a closure on this matter.

Vielen Dank im Voraus, liebe Freunde,
Antoine

@embark @AnLip Does deactivating the ACSS plugin fix the long builder save time for you?

I tried again on various installs, and I get various behaviors. I’m afraid I will have to go deeper into this again to find the pattern. I’ll get back when it’s possible.

I am seeing similiar behavior. Saving page takes around 5 minutes, but saves eventually. Console log if any help.

Freezes whole php during save process. I dont have ACSS or litespeed

jquery-migrate.min.js?ver=3.4.0:2 JQMIGRATE: Migrate is installed, version 3.4.0
jquery-migrate.min.js?ver=3.4.0:2 JQMIGRATE: Migrate is installed, version 3.4.0
main.min.js?ver=1690217718:3 timeout
main.min.js?ver=1690217718:3 timeout
/wp-admin/admin-ajax.php:1     Failed to load resource: the server responded with a status of 500 ()
iframe.min.js?ver=1690217718:31 Object Object 'error'
Md.e.hasOwnProperty.e.error @ iframe.min.js?ver=1690217718:31
/wp-admin/admin-ajax.php:1     Failed to load resource: the server responded with a status of 500 ()
iframe.min.js?ver=1690217718:31 Objectabort: ƒ (e)always: ƒ ()catch: ƒ (e)complete: ƒ ()length: 0name: ""prototype: {constructor: ƒ}arguments: (...)caller: (...)[[FunctionLocation]]: jquery-migrate.min.js?ver=3.4.0:2[[Prototype]]: ƒ ()[[Scopes]]: Scopes[4]done: ƒ ()error: ƒ ()fail: ƒ ()length: 0name: "add"prototype: {constructor: ƒ}arguments: (...)caller: (...)[[FunctionLocation]]: jquery.min.js?ver=3.6.4:2[[Prototype]]: ƒ ()[[Scopes]]: Scopes[4]getAllResponseHeaders: ƒ ()getResponseHeader: ƒ (e)overrideMimeType: ƒ (e)pipe: ƒ ()progress: ƒ ()promise: ƒ (e)readyState: 4responseText: "<p>There has been a critical error on this website.</p><p><a href=\"https://wordpress.org/documentation/article/faq-troubleshooting/\">Learn more about troubleshooting WordPress.</a></p>                <p>\n                    If you recently made changes to a <strong>WPCodeBox snippet</strong> and you think that's what\n                    causes the issue, here's\n                    what you can do:\n                </p>\n\n                <p>Refresh this page, WPCodeBox might have already disabled the snippet causing this error</p>\n                <p>If you still see this error, you can add the following line to your wp-config.php file:\n                    <br/>\n                    <br/>\n                    <code>\n                        define('WPCB_SAFE_MODE', true);\n                    </code>\n\n                    <br/>\n                    <br/>\n                    This will disable snippet execution so you can fix the problem. Don't forget to remove that line\n                    from\n                    your wp-config.php file once\n                    the problem is fixed.\n\n                    <br/><br/>\n                    You can read more about the WPCodeBox Safe Mode here: <a\n                            href=\"https://wpcodebox.com/documentation/what-happens-in-the-case-a-snippet-throws-an-error/\"\n                            target=\"_blank\">https://wpcodebox.com/documentation/what-happens-in-the-case-a-snippet-throws-an-error/</a>\n\n\n                    <br/>\n                    <br/>\n                    Don't forget that you should <strong>always test WPCodeBox snippets in a separate tab</strong>,\n                    because no matter what the error, WPCodeBox will still work if you don't refresh the editor page.\n                </p>\n\n                <i><strong>This message is only visible to website admins.</strong></i>"setRequestHeader: ƒ (e,t)state: ƒ ()status: 500statusCode: ƒ (e)statusText: "error"success: ƒ ()then: ƒ (t,n,r)[[Prototype]]: Object Objectaction: "bricks_render_data"bricks-is-builder: 1elements: "[{\"id\":\"hbmdrv\",\"name\":\"block\",\"parent\"globalElements: Proxy(Array) {0: {…}, 1: {…}}nonce: "e46889aaa2"postId: "82"[[Prototype]]: Object 'error'
Md.e.hasOwnProperty.e.error @ iframe.min.js?ver=1690217718:31
main.min.js?ver=1690217718:3 timeout
main.min.js?ver=1690217718:3 timeout
main.min.js?ver=1690217718:3 timeout
main.min.js?ver=1690217718:3 timeout
main.min.js?ver=1690217718:3 timeout
main.min.js?ver=1690217718:3 timeout
admin-ajax.php:1     Failed to load resource: the server responded with a status of 500 ()
iframe.min.js?ver=1690217718:31 {readyState: 4, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …} {action: 'bricks_render_data', elements: '[{"id":"hbmdrv","name":"block","parent":0,"childre…tor_yritysmyynti_cta_nappi:array_value|title}"}}]', globalElements: Proxy(Array), nonce: 'e46889aaa2', postId: '82', …}action: "bricks_render_data"bricks-is-builder: 1elements: "[{\"id\":\"hbmdrv\",\"name\":\"block\",\"parent\"globalElements: Proxy(Array) {0: {…}, 1: {…}}nonce: "e46889aaa2"postId: "82"[[Prototype]]: Object 'error'
Md.e.hasOwnProperty.e.error @ iframe.min.js?ver=1690217718:31
c @ jquery.min.js?ver=3.6.4:2
fireWith @ jquery.min.js?ver=3.6.4:2
l @ jquery.min.js?ver=3.6.4:2
(anonymous) @ jquery.min.js?ver=3.6.4:2
admin-ajax.php:1     Failed to load resource: the server responded with a status of 500 ()
iframe.min.js?ver=1690217718:31 {readyState: 4, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …} {action: 'bricks_render_data', elements: '[{"id":"hbmdrv","name":"block","parent":0,"childre…tor_yritysmyynti_cta_nappi:array_value|title}"}}]', globalElements: Proxy(Array), nonce: 'e46889aaa2', postId: '82', …} 'error'
Md.e.hasOwnProperty.e.error @ iframe.min.js?ver=1690217718:31
c @ jquery.min.js?ver=3.6.4:2
fireWith @ jquery.min.js?ver=3.6.4:2
l @ jquery.min.js?ver=3.6.4:2
(anonymous) @ jquery.min.js?ver=3.6.4:2

Just wanted to chime in real quick that I have been experiencing this on and off for a while, hard to pin down when it started, but I’d say at least a few months. No ACSS. I am using Advanced Themer, if that helps.

I’m facing the same issue. I have hosting from Hetzner dedicated 8gb ram and runcloud, Bricks, ACSS, Frames, Bricks Extras, ACF Pro and mod security turned on. The issue resolves after turning off mod security.

I am using Wordify hosting which uses ModSec as well. I’m experiencing slow load and saving, most of the time resulting in a Resource Limit Reached error, only on larger more complex builds with lots of dynamic data.

have you tried changing this in php.ini ??

I read somewhere that it could help, eg. max_input_vars = 10000 ??

my server guys are saying they dont have mod_security enabled

Thought I might bring my two cents on this persisting issues. I’ve changed my max_input_vars, my max_memory, but every time I try to update a custom mailto: link that exceeds a certain length (like the one below) when I hit save I get 2-3 timeouts in the browser console and a status of 503 when trying to load admin-ajax.php (this takes around a minute or two).

Hope this helps the troubleshooting since I’ve identified my particularly long link on a button element as causing the issue.

mailto:ioana.paun@businesshealthbar.eu?cc=office%40businesshealthbar.eu&subject=Am%20nevoie%20de%20{post_title}%20la%20mine%20%C3%AEn%20companie&body=Salut%2C%0D%0A%0D%0AVin%20de%20pe%20site-ul%20{site_title}%2C%20unde%20am%20v%C4%83zut%20c%C4%83%20oferi%20servicii%20de%20consultan%C8%9B%C4%83.%0D%0A%0D%0AM%C4%83%20po%C8%9Bi%20ajuta%20s%C4%83%20implementez%20{post_title}%20la%20mine%20%C3%AEn%20companie%3F%0D%0A%0D%0AMul%C8%9Bumesc%2C%0D%0APrenume.”

1 Like

I just wanted to add that I am still experiencing this on my sites, using Bricks 1.9.9. I switched off ModSecurity in cPanel and things loaded very quickly. When ModSecurity is switched on, it can take 15 - 20 seconds for the page to save. It doesn’t appear to be triggering any rule blocks, but there must be something in there, and I’m not sure where to look. I’ve checked for error logs, I’ve checked the ModSecurity Tools Hits List and no blocks there.