OK guys, you were right, it's miscompilation caused by GCC:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84969
Martin
On 19 March 2018 at 20:18, Andres Freund <andres@anarazel.de> wrote:
> On 2018-03-19 14:41:23 -0400, Tom Lane wrote:
>> Andres Freund <andres@anarazel.de> writes:
>> > On 2018-03-19 14:20:33 -0400, Tom Lane wrote:
>> >> I tried -O3 with gcc 7.3.1 (Fedora 26), and that passes check-world
>> >> just fine. Then I tried -O3 with gcc 8.0.1 (prerelease Fedora 28),
>> >> and indeed that's got some problems.
>>
>> >> Note that 1-D and 2-D arrays print fine, it's only 3-D or deeper
>> >> that print wrong. Very odd. Maybe it's bad code on our part,
>> >> but I think the odds are at least as good that it's a new gcc bug.
>>
>> > Might be worth trying with a new clang, I think it's been a bit ahead on
>> > the quality of the ubsan (et al) integration quality.
>>
>> I'm not talking about ubsan, I'm just talking about whether our regression
>> tests pass with the higher -O level.
>
> Oh. I think I'll setup two BF animals that continually run using
> debian's gcc-snapshot package, once with O0 and once with O3.
>
> Greetings,
>
> Andres Freund