>
> 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.
>
> Actually ... another possibility is that it's not directly an Assert,
> but CLOBBER_FREED_MEMORY that exposes the bug. (This would suggest
> that the compiler is trying to re-order memory accesses around a pfree.)
> So before you get into the one-assert-at-a-time test, try with
> --enable-cassert but modify pg_config_manual.h to not define
> CLOBBER_FREED_MEMORY.
It seems that neither undefining CLOBBER_FREED_MEMORY, nor disabling
casserting for md.c and bgwriter.c helps.... The contrib-installcheck
still fails.
I disabled casserting for md.c and bgwriter.c by inserting
#undef USE_ASSERT_CHECKING
in the top of the md.c and bgwriter.c exactly after the inclusion of
postgres.h, but before other includes. (I think it is the right
way to do it)
My configure flags:
./configure --enable-cassert --enable-depend --enable-debug --enable-nls
--enable-integer-datetimes --with-libxml LDFLAGS='-lirc -limf'
--enable-depend --prefix=/home/math/cvs/install/ CC=ic
Regards, Sergey
*******************************************************************
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