sigsegv on s390 only giving start address of page in segv handler

Christoph Egger christoph at christoph-egger.org
Sun Mar 13 12:17:02 UTC 2011


Hi!

Bruno Haible <bruno at clisp.org> writes:
>> I guess it's
>> preferred to just accepting a inexact address? Considering how to best
>> build a fixed package. The 2 patches I'd consider attached. I'd prefer
>> the first one at the moment.
>> ...
>> Now I'm wondering of software depending on libsigsegv won't work on s390
>> or maybe the correct page is still enough information for dependencies
>> like clisp to work
>
> Looking at clisp's fault handler: In the usual case (SPVW_PURE_BLOCKS)
> the fault handler will accept a page-aligned fault address just as well, and
> likely the same in the other case, due to the way the bounds of the memory
> areas are initialized.
>
> In smalltalk as well, the handler uses only the page-aligned fault address.
>
> In gawk and m4, the fault address is not used at all in the handler.
>
> I guess that it's the same for other software that uses libsigsegv.
>
> So I'm applying this patch. Find in
>   http://www.haible.de/bruno/gnu/libsigsegv-2.10-pre1.tar.gz
> a new prerelease. Can you please test how it works on a Linux/S390 system,
> and whether clisp then builds and runs fine?

libsigsegv completes flawlessly:

==================
All 5 tests passed
==================
make[2]: Leaving directory `/home/christoph/libsigsegv-2.10-pre1/tests'
make[1]: Leaving directory `/home/christoph/libsigsegv-2.10-pre1/tests'
make[1]: Entering directory `/home/christoph/libsigsegv-2.10-pre1'

Please send the following summary line via email to the author
Bruno Haible <bruno at clisp.org> for inclusion into the list of
successfully tested platforms (see PORTING file).

libsigsegv: s390x-ibm-linux2.6.26-gnu-glibc2.11 | yes | yes | 2.10-pre1

Then please type 'make install' to install the package.

make[1]: Leaving directory `/home/christoph/libsigsegv-2.10-pre1'

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

However clisp is unhappy

./lisp.run -B . -N locale -E UTF-8 -Epathname 1:1 -Emisc 1:1 -norc -m 2MW -lp  -x '(and (load "init.lisp") (sys::%saveinitmem) (ext::exit)) (ext::exit t)'
  i i i i i i i       ooooo    o        ooooooo   ooooo   ooooo
  I I I I I I I      8     8   8           8     8     o  8    8
  I  \ `+' /  I      8         8           8     8        8    8
   \  `-+-'  /       8         8           8      ooooo   8oooo
    `-__|__-'        8         8           8           8  8
        |            8     o   8           8     o     8  8
  ------+------       ooooo    8oooooo  ooo8ooo   ooooo   8

Welcome to GNU CLISP 2.49 (2010-07-07) <http://clisp.cons.org/>

Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2010

Type :h and hit Enter for context help.

;; Loading file defseq.lisp ...
;; Loaded file defseq.lisp
;; Loading file backquote.lisp ...
;; Loaded file backquote.lisp
;; Loading file defmacro.lisp ...
;; Loaded file defmacro.lisp
;; Loading file macros1.lisp ...
;; Loaded file macros1.lisp
;; Loading file macros2.lisp ...
;; Loaded file macros2.lisp
;; Loading file defs1.lisp ...
*** - handle_fault error2 ! address = 0x66791000 not in [0x667914e8,0x667ce000) !
SIGSEGV cannot be cured. Fault address = 0x66791000.
GC count: 3
Space collected by GC: 0 616176
Run time: 0 315538
Real time: 1 427288
GC time: 0 5295
Permanently allocated: 90464 bytes.
Currently in use: 438404 bytes.
Free space: 518252 bytes.
make: *** [interpreted.mem] Segmentation fault

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Regards

    Christoph

-- 
9FED 5C6C E206 B70A 5857  70CA 9655 22B9 D49A E731
Debian Developer | Lisp Hacker | CaCert Assurer

A. Because it breaks the logical sequence of discussion
Q. Why is top posting bad?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-common-lisp-devel/attachments/20110313/de16a55d/attachment.pgp>


More information about the pkg-common-lisp-devel mailing list