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....


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

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to