posix_fadvise versus old kernels
I've been digging into why buildfarm member thrush has been dumping core
consistently during the regression tests since the posix_fadvise patch
went in. I've confirmed that posix_fadvise() itself will SIGSEGV in a
standalone test program, and found that this happens only if
_FILE_OFFSET_BITS=64 ... which is our default configuration on Linux.
Some googling turned up the following
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=313219
which basically says that posix_fadvise64 + 2.4 kernel + older glibc
= crash. It sounds like the 2.4 kernel hasn't got this call but glibc
thought it did, up till about a year ago.
While we could possibly come up with a suitable configure test to
determine whether posix_fadvise is actually safe to use on a given
system, I think we should seriously consider just reverting the patch.
As far as I saw, zero evidence was given that it actually does anything
measurable. Without a benchmark to prove that it's worth spending more
time on, I'm disinclined to trouble over it.
regards, tom lane
Tom Lane wrote:
I've been digging into why buildfarm member thrush has been dumping core
consistently during the regression tests since the posix_fadvise patch
went in. I've confirmed that posix_fadvise() itself will SIGSEGV in a
standalone test program, and found that this happens only if
_FILE_OFFSET_BITS=64 ... which is our default configuration on Linux.Some googling turned up the following
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=313219
which basically says that posix_fadvise64 + 2.4 kernel + older glibc
= crash. It sounds like the 2.4 kernel hasn't got this call but glibc
thought it did, up till about a year ago.While we could possibly come up with a suitable configure test to
determine whether posix_fadvise is actually safe to use on a given
system, I think we should seriously consider just reverting the patch.
As far as I saw, zero evidence was given that it actually does anything
measurable. Without a benchmark to prove that it's worth spending more
time on, I'm disinclined to trouble over it.
Agreed. How about if we just #ifdef NOT_USED the code and mention the
problem in a comment.
--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
Bruce Momjian <bruce@momjian.us> writes:
Tom Lane wrote:
While we could possibly come up with a suitable configure test to
determine whether posix_fadvise is actually safe to use on a given
system, I think we should seriously consider just reverting the patch.
As far as I saw, zero evidence was given that it actually does anything
measurable. Without a benchmark to prove that it's worth spending more
time on, I'm disinclined to trouble over it.
Agreed. How about if we just #ifdef NOT_USED the code and mention the
problem in a comment.
Works for me; I'll write something and commit it. We can leave the
is-posix_fadvise-declared configure test in place, at least for now ...
regards, tom lane