On Tue, 11 Sep 2007, Tom Lane wrote:
> Well, the first thing I'd suggest is trying to localize which Assert
> makes it fail. From the bug's behavior I think it is highly probable
> that the problem is in fsync signalling, which puts it either in
> bgwriter.c or md.c. Try recompiling those modules separately without
> cassert (leaving all else enabled) and see if the problem comes and
> goes; if so, comment out one Assert at a time till you find which one.
It turned out that the offending assert is
Assert(BgWriterShmem != NULL); in bgwriter.c:990
After commenting it out everything works.
Also, I tried to add 'volatile' to the declaration of BgWriterShmem. After
that the problem disappears too.
I'm not sure that it demonstrates that it's not an ICC bug, because
obviously 'volatile' flag can change the way how the compiler works...
I tried add the volatile keyword for BgWriterMem in PG 8.2.4, and indeed
it solved the problem with PG8.2.4 version too.
From what I see in bgwriter.c, the volatile keyword for BgWriterShmem
seems very reasonable to me, although I'm not sure that it's really
required there....
regards, Sergey
PS I'm sorry for the wrong information about anti-aliasing flags for ICC.
I was obviously confused by the ICC docs.
*******************************************************************
Sergey E. Koposov
Max Planck Institute for Astronomy/Cambridge Institute for Astronomy/Sternberg Astronomical Institute
Tel: +49-6221-528-349
Web: http://lnfm1.sai.msu.ru/~math
E-mail: math@sai.msu.ru