Re: make check-exec-image failure

Bruno Haible <[email protected]>
Newsgroups gmane.lisp.clisp.devel
Message-ID <7764139.u4SDqSDRzh@omega>
Hi Sam and Ken,

> > Ken, does it fail with the hg tip?
> 
> Yes.  I just built clisp from Bruno's tarball 
> (https://haible.de/bruno/gnu/clisp-2.49.50.tar.bz2), and here's what 
> happens when I try to save an executable in the build directory:
> 
> $ ./clisp -norc -q -x '(progn (ext:saveinitmem "test.exe" :init-function 
> (function exit) :EXECUTABLE t))'
> ;; Wrote the memory image into test.exe (13,849,465 bytes)
> Bytes permanently allocated:            160,328
> Bytes currently in use:               3,602,952
> Bytes available until next GC:           66,168
> 3602952 ;
> 66168 ;
> 160328 ;
> 2 ;
> 26120 ;
> 15000
> 
> $ ./test.exe
> Segmentation fault (core dumped)

For me, with the same clisp-2.49.50, it succeeds, both in 32-bit and 64-bit
Cygwin builds. Here's the output of "make check-exec-image":

================================= 32-bit =================================
./lisp.exe -B . -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -M lispinit.mem -x "(saveinitmem \"foo\" :executable t :norc 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.50 (2017-03-19) <http://clisp.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.

;; Wrote the memory image into foo.exe (9,653,004 bytes)
Bytes permanently allocated:             89,504
Bytes currently in use:               1,862,536
Bytes available until next GC:          103,384
1862536 ;
103384 ;
89504 ;
1 ;
68088 ;
15000
Bye.
./foo -x "(setq zz 10) (saveinitmem \"foo\")"
  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.50 (2017-03-19) <http://clisp.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.

10
;; Wrote the memory image into foo.mem (1,953,012 bytes)
Bytes permanently allocated:             89,504
Bytes currently in use:               1,862,096
Bytes available until next GC:          103,888
1862096 ;
103888 ;
89504 ;
1 ;
19608 ;
15000
Bye.
./foo -norc -M foo.mem -x zz
  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.50 (2017-03-19) <http://clisp.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.

10
Bye.
./lisp.exe -B . -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -M lispinit.mem -x "(saveinitmem \"foo\" :executable t :norc t :quiet t :init-function (lambda () (prin1 *args*) (exit)))" -- a 1
  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.50 (2017-03-19) <http://clisp.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.

;; Wrote the memory image into foo.exe (9,653,804 bytes)
Bytes permanently allocated:             89,504
Bytes currently in use:               1,863,336
Bytes available until next GC:          102,584
1863336 ;
102584 ;
89504 ;
1 ;
71216 ;
15000
Bye.
test "`./foo b | tr -d '\r'`" = '("b")' || exit 1
test "`./foo b 2 | tr -d '\r'`" = '("b" "2")' || exit 1
ls -l lisp.exe lispinit.mem foo foo.mem
-rwxr-xr-x 1 bruno None 9653804 Mar 21 12:30 foo
-rw-r--r-- 1 bruno None 1953012 Mar 21 12:30 foo.mem
-rwxr-xr-x 1 bruno None 7699552 Mar 21 12:26 lisp.exe
-rw-r--r-- 1 bruno None 1964412 Mar 21 12:28 lispinit.mem
rm -f foo foo.mem
================================= 64-bit =================================
./lisp.exe -B . -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -M lispinit.mem -x "(saveinitmem \"foo\" :executable t :norc 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.50 (2017-03-19) <http://clisp.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.

;; Wrote the memory image into foo.exe (12,371,952 bytes)
Bytes permanently allocated:            151,088
Bytes currently in use:               2,896,280
Bytes available until next GC:        1,443,592
2896280 ;
1443592 ;
151088 ;
1 ;
102728 ;
15000
Bye.
./foo -x "(setq zz 10) (saveinitmem \"foo\")"
  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.50 (2017-03-19) <http://clisp.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.

10
;; Wrote the memory image into foo.mem (4,310,848 bytes)
Bytes permanently allocated:            151,088
Bytes currently in use:               2,895,768
Bytes available until next GC:        1,443,336
2895768 ;
1443336 ;
151088 ;
1 ;
24232 ;
16000
Bye.
./foo -norc -M foo.mem -x zz
  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.50 (2017-03-19) <http://clisp.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.

10
Bye.
./lisp.exe -B . -E UTF-8 -Emisc 1:1 -Epathname 1:1 -norc -M lispinit.mem -x "(saveinitmem \"foo\" :executable t :norc t :quiet t :init-function (lambda () (prin1 *args*) (exit)))" -- a 1
  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.50 (2017-03-19) <http://clisp.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.

;; Wrote the memory image into foo.exe (12,371,952 bytes)
Bytes permanently allocated:            151,088
Bytes currently in use:               2,897,336
Bytes available until next GC:        1,444,120
2897336 ;
1444120 ;
151088 ;
1 ;
107632 ;
0
Bye.
test "`./foo b | tr -d '\r'`" = '("b")' || exit 1
test "`./foo b 2 | tr -d '\r'`" = '("b" "2")' || exit 1
ls -l lisp.exe lispinit.mem foo foo.mem
-rwxr-xr-x 1 bruno None 12371952 Mar 21 12:30 foo
-rw-r--r-- 1 bruno None  4310848 Mar 21 12:30 foo.mem
-rwxr-xr-x 1 bruno None  8036794 Mar 21 12:26 lisp.exe
-rw-r--r-- 1 bruno None  4310888 Mar 21 12:27 lispinit.mem
rm -f foo foo.mem


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
clisp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.