Which signal occurs due to a page protection violation?
Sam Lawrance
boris at brooknet.com.au
Tue Jan 31 01:06:41 PST 2006
ElectricFence is failing during its self test on i386 7-current:
Testing Electric Fence.
After the last test, it should print that the test has PASSED.
EF_PROTECT_BELOW= && EF_PROTECT_FREE= && EF_ALIGNMENT= && ./eftest
Segmentation fault (core dumped)
*** Error code 139
The program intentionally overruns and underruns buffers in order to
test the functionality of ElectricFence.
I think it's failing because:
1) the new jemalloc is actually catching the problem and throwing
SIGSEGV
2) ElectricFence is being compiled with -
DPAGE_PROTECTION_VIOLATED_SIGNAL=SIGBUS on that platform.
Which signal should it be using? Does it vary across platforms and
architectures? I ask this because one of the patches contains
.if ${MACHINE_ARCH} == "i386" || (${MACHINE_ARCH} == "amd64" && $
{OSVERSION} < 700003) || ${MACHINE_ARCH} == "ia64" || ${MACHINE_ARCH}
== "sparc64"
CFLAGS+= -DPAGE_PROTECTION_VIOLATED_SIGNAL=SIGSEGV
.endif
More information about the freebsd-hackers
mailing list