postgresql/contrib/test_decoding/expected
Tom Lane 6a3d3965d6 Fix core dump in ReorderBufferRestoreChange on alignment-picky platforms.
When re-reading an update involving both an old tuple and a new tuple from
disk, reorderbuffer.c was careless about whether the new tuple is suitably
aligned for direct access --- in general, it isn't.  We'd missed seeing
this in the buildfarm because the contrib/test_decoding tests exercise this
code path only a few times, and by chance all of those cases have old
tuples with length a multiple of 4, which is usually enough to make the
access to the new tuple's t_len safe.  For some still-not-entirely-clear
reason, however, Debian's sparc build gets a bus error, as reported by
Christoph Berg; perhaps it's assuming 8-byte alignment of the pointer?

The lack of previous field reports is probably because you need all of
these conditions to trigger a crash: an alignment-picky platform (not
Intel), a transaction large enough to spill to disk, an update within
that xact that changes a primary-key field and has an odd-length old tuple,
and of course logical decoding tracing the transaction.

Avoid the alignment assumption by using memcpy instead of fetching t_len
directly, and add a test case that exposes the crash on picky platforms.
Back-patch to 9.4 where the bug was introduced.

Discussion: <20160413094117.GC21485@msg.credativ.de>
2016-04-14 19:42:21 -04:00
..
binary.out Message style improvements 2015-10-28 20:38:36 -04:00
concurrent_ddl_dml.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
ddl.out Fix core dump in ReorderBufferRestoreChange on alignment-picky platforms. 2016-04-14 19:42:21 -04:00
decoding_in_xact.out Collection of typo fixes. 2015-05-20 16:56:22 +03:00
decoding_into_rel.out Don't skip SQL backends in logical decoding for visibility computation. 2014-12-02 23:47:08 +01:00
delayed_startup.out Introduce logical decoding. 2014-03-03 16:32:18 -05:00
messages.out Add required database and origin filtering for logical messages. 2016-04-13 17:38:54 -07:00
mxact.out Introduce logical decoding. 2014-03-03 16:32:18 -05:00
ondisk_startup.out Fix several weaknesses in slot and logical replication on-disk serialization. 2014-11-12 18:52:49 +01:00
permissions.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
prepared.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
replorigin.out Add required database and origin filtering for logical messages. 2016-04-13 17:38:54 -07:00
rewrite.out Add skip-empty-xacts option to test_decoding for use in the regression tests. 2014-09-01 15:59:44 +02:00
time.out logical decoding: fix decoding of a commit's commit time. 2016-03-02 23:42:21 -08:00
toast.out logical decoding: Fix handling of large old tuples with replica identity full. 2016-03-05 18:02:20 -08:00
xact.out logical decoding: Tell reorderbuffer about all xids. 2016-03-05 18:02:20 -08:00