Re: Logical replication 'invalid memory alloc request size 1585837200' after upgrading to 17.5

Alexander Lakhin <exclusion@gmail.com>

From: Alexander Lakhin <exclusion@gmail.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>, vignesh C <vignesh21@gmail.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, Duncan Sands <duncan.sands@deepbluecap.com>, "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>
Date: 2025-06-20T05:00:00Z
Lists: pgsql-bugs
Hello Sawada-san,

17.06.2025 20:40, Masahiko Sawada wrote:
> Pushed the fix (d87d07b7ad3). Thank you for working on this fix.

As buildfarm [1] shows, the test case added to invalidation_distribution
with 1230be12f fails against -DCLOBBER_CACHE_ALWAYS on REL_13_STABLE:
diff -U3 
/home/buildfarm/trilobite/buildroot/REL_13_STABLE/pgsql.build/contrib/test_decoding/expected/invalidation_distribution.out 
/home/buildfarm/trilobite/buildroot/REL_13_STABLE/pgsql.build/contrib/test_decoding/output_iso/results/invalidation_distribution.out
--- 
/home/buildfarm/trilobite/buildroot/REL_13_STABLE/pgsql.build/contrib/test_decoding/expected/invalidation_distribution.out 
2025-06-17 10:24:24.382768613 +0200
+++ 
/home/buildfarm/trilobite/buildroot/REL_13_STABLE/pgsql.build/contrib/test_decoding/output_iso/results/invalidation_distribution.out 
2025-06-17 15:01:53.921913314 +0200
@@ -31,7 +31,7 @@
  step s2_get_binary_changes: SELECT count(data) FROM pg_logical_slot_get_binary_changes('isolation_slot', NULL, NULL, 
'proto_version', '1', 'publication_names', 'pub') WHERE get_byte(data, 0) = 73;
  count
  -----
-    0
+    1
  (1 row)

  ?column?

I could reproduce this locally and also checked that the test passes on
REL_14_STABLE and master.

Could you look at this, please?

[1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=trilobite&dt=2025-06-17%2008%3A24%3A00

Best regards,
Alexander

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix cache-dependent test failures in logical decoding.

  2. Fix re-distributing previously distributed invalidation messages during logical decoding.

  3. Fix data loss in logical replication.