Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Dec 2007 00:59:15 -0800
From:      "Carl Shapiro" <carl.shapiro@gmail.com>
To:        "Kostik Belousov" <kostikbel@gmail.com>
Cc:        freebsd-current@freebsd.org, davidxu@freebsd.org
Subject:   Re: Serious compatibility breakage in -current.
Message-ID:  <4dcb5abd0712020059m70a02a0dyf63ebdaafc2a0ead@mail.gmail.com>
In-Reply-To: <20071202054815.GQ83121@deviant.kiev.zoral.com.ua>
References:  <4dcb5abd0711290226u69105089ya10526519e5cc12d@mail.gmail.com> <20071129112824.GD83121@deviant.kiev.zoral.com.ua> <4dcb5abd0711292235k2bc2af86t45f7268d429c03ad@mail.gmail.com> <20071130152631.GJ83121@deviant.kiev.zoral.com.ua> <4dcb5abd0712012042m6e6cd00br3c9e72c97f047ee5@mail.gmail.com> <20071202054815.GQ83121@deviant.kiev.zoral.com.ua>

index | next in thread | previous in thread | raw e-mail

On Dec 1, 2007 9:48 PM, Kostik Belousov <kostikbel@gmail.com> wrote:
> Is this some new code ? I did tested it on CLUCL-19d compiled for
> RELENG_6. Also, the sigbus_handler() from lisp/FreeBSD-os.c rev 1.12
> does not contain the check, it seems (that describes why it worked for
> me).

Okay, this clearly explains why we are seeing different things.  The
si_code check was added in version 1.16.  This postdates the release
of CMUCL your first patch was tested against.  Incidentally, I added
that check to the SIGBUS handler and should have known that it does
not appear in a formal release.  Sorry about that.

> Could you, please, describe what was tested in more details ? Did
> you run the CMUCL (and sbcl) with the patch ? If yes, could you, please,
> show the file(1) output on the bin/lisp and bin/sbcl binary ?

I have a small test program that maps a page with PROT_NONE and
generates a protection violation by writing a byte to it.  The "mmap6"
executable was compiled on a FreeBSD 6.1 system.  The "mmap7"
executable was compiled on my 7.0-BETA3 system with your patch
applied.  Below is a transcript of these two programs being run on the
patched 7.0-BETA3 system.

freebsd7% file mmap6
mmap6: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD),
dynamically linked (uses shared libs), not stripped
freebsd7% ./mmap6
__FreeBSD_version=601000
signum=10,info->si_code=12,context=0xbfbfe9d0
freebsd7% file ./mmap7
./mmap7: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD),
for FreeBSD 7.0 (700055), dynamically linked (uses shared libs),
FreeBSD-style, not stripped
freebsd7% ./mmap7
__FreeBSD_version=700055
signum=11,info->si_code=2,context=0xbfbfe9e0

The source code to this program is in a bug report I submitted a few
days ago and errantly filed under "misc".  Please visit
http://www.freebsd.org/cgi/query-pr.cgi?pr=118304 and page down to the
"How-To-Repeat" heading.

I have also recompiled CMUCL on a FreeBSD 7 system starting with a
FreeBSD 6 binary and everything seems to work.  I believe the output
of my small test program provides sufficient proof that the interfaces
we rely on are working as expected.


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4dcb5abd0712020059m70a02a0dyf63ebdaafc2a0ead>