Steel Bank Common Lisp

corruption when building sbcl-1.0.54 on hardened linux (PaX)

Reported by Anton Kochkov on 2012-03-09
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Undecided
Unassigned

Bug Description

For building SBCL on Hardened Gentoo i've using this ebuild (mainstream ebuild doesnt work at all) https://bugs.gentoo.org/attachment.cgi?id=297361

Here is main improvement:

# To disable PaX on hardened systems
pax-mark -C "${bindir}"/src/runtime/sbcl
pax-mark -mpre "${bindir}"/src/runtime/sbcl

# Hack to disable PaX on second GENESIS stage
sed -i -e '/load/!s/^echo \/\/doing warm.*$/&\npaxctl -C \.\/src\/runtime\/sbcl\npaxctl -mprexs \.\/src\/runtime\/sbcl/' \
"${S}"/make-target-2.sh || die "Cannot disable PaX on second GENESIS runtime"

Where pax-mark is tool for http://en.wikipedia.org/wiki/PaX

And after that small patch first genesis building ok, but second returns such error:

obj/from-xc/src/code/signal.lisp-obj
obj/from-xc/src/code/late-defbangmethod.lisp-obj
obj/from-xc/src/pcl/walk.lisp-obj
[building initial core file in "output/cold-sbcl.core":
writing 4096 bytes [1 page] from #<SB!FASL::GSPACE :READ-ONLY>
writing 4096 bytes [1 page] from #<SB!FASL::GSPACE :STATIC>
writing 28327936 bytes [6916 pages] from #<SB!FASL::GSPACE :DYNAMIC>
/(DESCRIPTOR-BITS INITIAL-FUN)=#XA892EDD
done]
* //testing for consistency of first and second GENESIS passes
//header files match between first and second GENESIS -- good
//entering make-target-2.sh
//doing warm init - compilation phase
This is SBCL 1.0.54, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
CORRUPTION WARNING in SBCL pid 24664(tid 3084732096):
Memory fault at 26b20 (pc=0x26b20, sp=0xb7a8ce9c)
The integrity of this image is possibly compromised.
Exiting.
The system is too badly corrupted or confused to continue at the Lisp
level. If the system had been compiled with the SB-LDB feature, we'd drop
into the LDB low-level debugger now. But there's no LDB in this build, so
we can't really do anything but just exit, sorry.

You can see whole gentoo bug here: https://bugs.gentoo.org/show_bug.cgi?id=380797

Anton Kochkov (anton-kochkov) wrote :

Forgot to add, this is not impossible - I've working 1.0.45 version with such PaX improvements

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers