WIP: 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.