Michel Salim wrote:
I have Chez Scheme installed from this tarball:
http://www.scheme.com/csv7.0a/pcsv7.0a-ti3le.tar.gz
and it works fine up to 2.6.15-1.2054_FC5 as shipped with FC5, both
the i686 SMP kernel and the x86_64 kernel.
When I rebooted to 2.6.16-1.2080_FC5, though, on both my i686 and
x86_64 machines I now get the following:
(5 #f "invalid memory reference")
I have SELinux set to permissive + targeted, so what change in the
kernel could have caused this? Should I bugzilla this?
It's possible that changes introduced with kernel 2080_FC5 to deal
with bugzilla #162797 may be interacting with the application.
[What is the address of the attempted bad access, and what is
the memory map there?]
First, try the application under the values 1, 3, 0, 11, and 9 of
/proc/sys/kernel/exec-shield, when running 2080_FC5. That is:
# echo 1 > /proc/sys/kernel/exec-shield ## note: as root
$ run-the-application ## note: as ordinary user
then
# echo 3 > /proc/sys/kernel/exec-shield
$ run-the-application
then use 0, 11, and 9. [The default behavior of kernel 2054_FC5
is very close to the behavior of 2080_FC5 when exec-shield is 1.]
If the problem persists under both 11 and 9, but not under
any of 1, 3, and 0, then there may be a kernel bug, or the application
might be making an assumption about virtual address space that is
no longer true in kernel 2080_FC5. Set exec-shield back to 11
(the new default), run the application under strace, and attach
the output from strace when you enter the problem in bugzilla.
[Refer to bz #162797, please. Perhaps even re-open that one.]
If the problem appears with any of exec-shield values 1, 3, or 0,
then there is a good chance of a bug in the application. Run under
strace, and look for colliding mmap(), etc. Does the application know
about AT_SYSINFO_EHDR?
--