Re: uh-oh, dugong failing again

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Gregory Stark <stark(at)enterprisedb(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, math(at)sai(dot)msu(dot)ru
Subject: Re: uh-oh, dugong failing again
Date: 2007-10-04 17:47:28
Message-ID: 25195.1191520048@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Gregory Stark <stark(at)enterprisedb(dot)com> writes:
> "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
>> This seems to be exactly what we saw two weeks ago, and I just noticed
>> that in the JIT bgwriter patch, I put an Assert into ForwardFsyncRequest
>> in exactly the place where one was removed to make icc happy two weeks
>> ago. This one is less cosmetic and so I'm not as willing to just take
>> it out. I think we need to look closer. Can we confirm that
>> ForwardFsyncRequest somehow becomes a no-op when icc compiles it with an
>> Assert right there?

> It seems to work with icc on my 32 bit intel cpu. Earlier you speculated that
> the struct might be getting padded out which would cause hash failures. But
> surely using a different padding from other compilers would be a compiler bug
> since it would be an incompatible ABI change. I find it hard to believe
> intel's compiler would get the ia64 ABI wrong. And hard to believe nobody's
> noticed an incompatible ABI from gcc-generated binaries.

Well, I changed the Assert() to an explicit if-test-and-elog, and the
failure seems to have gone away. So I'd say that makes it absolutely
certainly an icc bug. Not clear what difference icc sees between an
enabled Assert and an if/elog, but evidently there is one.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Meskes 2007-10-04 17:50:53 Re: Not *quite* there on ecpg fixes
Previous Message Andrew Dunstan 2007-10-04 17:45:35 Re: Not *quite* there on ecpg fixes