Skip to content Skip to sidebar

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

Sun Mon Tue Wed Thu Fri Sat
9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 - -
14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 - -

Supporter timezone: Asia/Yerevan (GMT+04:00)

This topic contains 3 replies, has 0 voices.

Last updated by Christopher Amirian 1 month, 3 weeks ago.

Assisted by: Christopher Amirian.

Author Posts
July 18, 2026 at 11:55 am #18165036

mirteM

How to reproduce:
Create a page in French (Secondary language) as a standalone page.
Create a page in Dutch (Default language) as a standalone page.
Edit the Dutch page, and under "Dit is een vertaling van" (This is a translation of), manually connect it to the French page. This sets Dutch as the translation and French as the original.
Trigger an update on either page.
WPML falls into an infinite synchronization loop trying to update post properties (like post_password to "") between the two connected IDs, resulting in a server crash (Allowed memory size exhausted).

Workaround used to fix:
I disconnected the pages, then initiated the connection from the French page instead, ensuring that Dutch (NL) was designated as the original language. This resolved the loop.

Suggested Solution for WPML Developers:
Please implement a static recursion guard or circular dependency check within the sync_with_translations() method inside /classes/post-translation/class-wpml-post-synchronization.php [1.2.2]. If a post ID has already been processed during the current request cycle, the method should return early instead of triggering a nested sync_with_translations() call on the same elements.

Example from error log:
synchronization.class.php","line":321,"function":"sync_with_translations","class":"WPML_Post_Synchronization","type":"->","args":["34778"]},{"file":"https://cdn.wpml.org/[your-site-root]/wp-content/plugins/sitepress-multilingual-cms/inc/post-translation/wpml-post-synchronization.class.php","line":321,"function":"sync_with_translations","class":"WPML_Post_Synchronization","type":"->","args":["34917"]},{"file":"https://cdn.wpml.org/[your-site-root]/wp-content/plugins/sitepress-multilingual-cms/inc/post-translation/wpml-post-synchronization.class.php","line":321,"function":"sync_with_translations","class":"WPML_Post_Synchronization","type":"->","args":["34778"]},{"file":"https://cdn.wpml.org/[your-site-root]/wp-content/plugins/sitepress-multilingual-cms/inc/post-translation/wpml-post-synchronization.class.php","line":321,"function":"sync_with_translations","class":"WPML_Post_Synchronization","type":"->","args":["34917"]},{"file":"https://cdn.wpml.org/[your-site-root]/wp-content/plugins/sitepress-multilingual-cms/inc/post-translation/wpml-post-synchronization.class.php","line":321,"function":"sync_with_translations","class":"WPML_Post_Synchronization","type":"->","args":["34778"]},{"file":"https://cdn.wpml.org/[your-site-root]/wp-content/plugins/sitepress-multilingual-cms/inc/post-translation/wpml-post-synchronization.class.php","line":321,"function":"sync_with_translations","class":"WPML_Post_Synchronization","type":"->","args":["34917"]},{"file":"/[your-site-root]/wp-content/plugins/sitepress-multilingual-cms/inc/post-translation/wpml-post-synchronization.class.php

The error log reaches 84mb before crashing the server

July 19, 2026 at 1:20 pm #18165720

Christopher Amirian
WPML Supporter since 07/2020

Languages: English (English )

Timezone: Asia/Yerevan (GMT+04:00)

Hello,

Welcome to WPML support, and thank you for your report.

Would you please test whether the same issue occurs in a minimal setup?

- IMPORTANT STEP! Create a backup of your website. A better approach would be to test this on a copy or staging version of the website to avoid any disruption to the live site.
- Switch to a default theme, such as Twenty Twenty, by going to WordPress Dashboard > Appearance > Themes.
- Go to WordPress Dashboard > Plugins and deactivate all plugins except:
. WPML Multilingual CMS
. WPML String Translation
- Check whether you can still reproduce the issue.
- If not, reactivate your plugins one by one and test the issue after each activation to identify the plugin causing the conflict.

If the issue still occurs, I'd appreciate it if you could provide us with a copy or staging version of the website so that we can report it.

The reason we ask for this is that there is most likely something in your specific setup triggering the issue, which our second-tier support team can investigate.

I also tried to reproduce the issue on a clean installation using the scenario you described, but the issue did not occur.

You can log in to the test installation below and check whether you can reproduce the issue there:

hidden link

Thanks.

July 19, 2026 at 5:09 pm #18165872

mirteM

I'm really sorry but I can't troubleshoot this error but it is a real fatal one. I had it a while back and I needed the host to fix it. I have no staging environment and the site need to stay as it is.
Did you follow the steps to reproduce as I described?
The lines of the error logs should be sufficient to crosscheck from your side I hope.

July 20, 2026 at 12:47 pm #18167128

Christopher Amirian
Supporter

Hi,

Unfortunately, I tried to reproduce the issue on a clean installation, but I could not. You can also log in and check it here:

hidden link

Just click the link above, and you will be logged in to the website automatically.

Therefore, I assume that the issue is specific to your installation or the particular circumstances causing the problem.

If necessary, we can provide you with the instructions and information needed to copy the website to our server for further investigation.

We will ask you to install the Cloudways WordPress Migrator plugin and provide you with our server information and the steps required to copy the website:

https://wordpress.org/plugins/bv-cloudways-automated-migration/

Thanks.

The topic ‘[Closed] Infinite recursion loop in WPML_Post_Synchronization::sync_with_translations() causes PHP Fatal Memo…’ is closed to new replies.