Hoehle, Joerg-Cyril | 1 Jul 2005 17:35
Favicon

successful compilation using MS-VC 6.0, 2 tests failed

Hi,

after years I built again a MS-VC 6.0 version from CVS (without sigsegv, which I have to pull and build from whereever).

It passed the stage and tests/.
Except for 2:

Form: (LET ((*X* NIL)) (DECLARE (SPECIAL *X*)) (LET ((*F* #'(LAMBDA NIL *X*))) (DECLARE (SPECIAL *F*))
(EVAL `(MACROLET ((%M (*X*) (DECLARE (SPECIAL *F*)) (FUNCALL *F*))) (%M T)))))
CORRECT: NIL
CLISP  : T

in bind-eval.erg and bind-compile.erg

Please regenerate makefile.msvc*

There's another tiny problem, which I encountered each time since <2.28:
o libcharset.h is copied/linked, but localcharset.h is never so. Thus, it's not found (I linked it into the
src/ dir by hand).
ln -s ../libcharset/include/localcharset.h
via the underlying Linux Samba server

I only built lisp.exe and lispinit.mem. I've never used clisp[.exe] on MS-Windows or Linux.

Regards,
	Jorg Hohle.

-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
(Continue reading)

Hoehle, Joerg-Cyril | 1 Jul 2005 18:28
Favicon

timings w/without sigsegv and cost of ext:times

Hi,

I was very surprised by the following 4 figures. I'm using clisp-cvs built with MS-VC 6.0

[1]> (times(loop repeat 10000 sum (length(make-string 10000))))
Real time: 12.375 sec.
Run time: 12.375 sec.
Space: 100397856 Bytes
GC: 120, GC time: 10.171875 sec.
100000000
[2]> (time(loop repeat 10000 sum (length(make-string 10000))))
Real time: 10.015625 sec.
Run time: 10.015625 sec.
Space: 100184592 Bytes
GC: 128, GC time: 9.875 sec.
100000000

The above was built without sigsegv. Obviously, 99% of time is spent in GC in the cl:time case, less so (82%)
in the ext:times case.

Now with sigsegv:
Real time: 7.78125 sec.
Run time: 7.765625 sec.
Space: 100525732 Bytes
GC: 192, GC time: 4.265625 sec.
100000000
[4]> (time(loop repeat 10000 sum (length(make-string 10000))))
Real time: 2.25 sec.
Run time: 2.25 sec.
Space: 100184596 Bytes
(Continue reading)

Sam Steingold | 1 Jul 2005 18:46
Picon

Re: successful compilation using MS-VC 6.0, 2 tests failed

> * Hoehle, Joerg-Cyril <Wbret-Plevy.Ubruyr <at> g-flfgrzf.pbz> [2005-07-01 17:35:43 +0200]:
>
> Form: (LET ((*X* NIL)) (DECLARE (SPECIAL *X*)) (LET ((*F* #'(LAMBDA NIL *X*))) (DECLARE (SPECIAL *F*))
(EVAL `(MACROLET ((%M (*X*) (DECLARE (SPECIAL *F*)) (FUNCALL *F*))) (%M T)))))
> CORRECT: NIL
> CLISP  : T
> in bind-eval.erg and bind-compile.erg

I hope Bruno will find time for this before the release.

> Please regenerate makefile.msvc*

done.

> There's another tiny problem, which I encountered each time since <2.28:
> o libcharset.h is copied/linked, but localcharset.h is never so. Thus, it's not found (I linked it into
the src/ dir by hand).
> ln -s ../libcharset/include/localcharset.h
> via the underlying Linux Samba server

please try the appended patch.
(makefiles were regenerated with the patch applied)

> I only built lisp.exe and lispinit.mem. I've never used clisp[.exe] on
> MS-Windows or Linux.

I use clisp[.exe] all the time.
saves typing.

--

-- 
(Continue reading)

clisp-cvs-request | 1 Jul 2005 18:50
Picon

clisp-cvs digest, Vol 1 #1150 - 4 msgs

Send clisp-cvs mailing list submissions to
	clisp-cvs <at> lists.sourceforge.net

To subscribe or unsubscribe via the World Wide Web, visit
	https://lists.sourceforge.net/lists/listinfo/clisp-cvs
or, via email, send a message with subject or body 'help' to
	clisp-cvs-request <at> lists.sourceforge.net

You can reach the person managing the list at
	clisp-cvs-admin <at> lists.sourceforge.net

When replying, please edit your Subject line so it is more specific
than "Re: Contents of clisp-cvs digest..."


CLISP CVS commits for today

Today's Topics:

   1. clisp/src ChangeLog,1.4727,1.4728 errunix.d,1.22,1.23 win32.d,1.60,1.61 (Jörg Höhle)
   2. clisp/src foreign1.lisp,1.88,1.89 (Jörg Höhle)
   3. clisp/src makemake.in,1.565,1.566 ChangeLog,1.4728,1.4729 (Sam Steingold)
   4. clisp/win32msvc makefile.msvc7,1.15,1.16 makefile.msvc6d,1.5,1.6 makefile.msvc6,1.5,1.6 makefile.msvc5d,1.15,1.16 makefile.msvc5,1.51,1.52 makefile.msvc4,1.49,1.50 (Sam Steingold)

--__--__--

Message: 1
From: Jörg Höhle <hoehle <at> users.sourceforge.net>
To: clisp-cvs <at> lists.sourceforge.net
Subject: clisp/src ChangeLog,1.4727,1.4728 errunix.d,1.22,1.23 win32.d,1.60,1.61
(Continue reading)

SourceForge.net | 3 Jul 2005 13:42
Picon
Favicon

[ clisp-Bugs-1231762 ] (ERROR large-string) gives seg fault

Bugs item #1231762, was opened at 2005-07-03 07:42
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=101355&aid=1231762&group_id=1355

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: clisp
Group: segfault
Status: Open
Resolution: None
Priority: 5
Submitted By: John Hinsdale (hin)
Assigned to: Sam Steingold (sds)
Summary: (ERROR large-string) gives seg fault

Initial Comment:
When I call ERROR with a large message, CLISP seg. faults.
Example:

(defun foo ()
  (let* ((n 2000000)
         (s (make-string n)))
    (loop for i from 0 to (1- n) do
          (setf (elt s i) #\x))
    (error s)))
(foo)

MY ENVIRONMENT:
(Continue reading)

SourceForge.net | 4 Jul 2005 14:58
Picon
Favicon

[ clisp-Bugs-1180386 ] Stack Overflow Twice Causes Segfault

Bugs item #1180386, was opened at 2005-04-11 00:36
Message generated for change (Comment added) made by hoehle
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=101355&aid=1180386&group_id=1355

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: clisp
Group: segfault
Status: Open
Resolution: None
Priority: 5
Submitted By: David Reiss (dreiss)
Assigned to: Bruno Haible (haible)
Summary: Stack Overflow Twice Causes Segfault

Initial Comment:
Causing a stack overflow twice in a row leads to a
segfault in clisp 2.33.2 on x86 Linux from Gentoo
ebuild.  gcc is version 3.3.5, and glibc is version
2.3.4.  My "CFLAGS" is '-mcpu=i686 -O2 -pipe'.  Gzipped
core file is attached.  Note that this error does *not*
happen with a clean, debug-enabled build.  Should I
send this bug report to the Gentoo ebuild maintainer
instead?

This is how I produced the problem:

$ clisp -q -q
(Continue reading)

Hoehle, Joerg-Cyril | 4 Jul 2005 15:21
Favicon

clisp string limit is only ~4M, not array-dimension-limit

Hi,

recently, I was p.o.'ed[*] by the following behaviour

[1]> (length (make-array 8000000))
8000000
[2]> (length (make-string 8000000))
*** - string too long: desired length 8000000 exceeds the supported maximum
      length
[4]> (length (make-array 8000000 :element-type 'character))
*** - string too long: desired length 8000000 exceeds the supported maximum
      length

[*]Well, I was not really p.o.'ed, but severely annoyed. All in all, I was still happy that all I had to do was
transform CHAR into AREF in the source, and add a COERCE 'STRING somewhere -- instead of being obliged to do
all processing in smaller chunks and change a lot of code.

Is there anything that can be done about raising the string limit and align it to others?

Is the reason that internally, clisp uses a 4*limit (for sake of 32bit characters)?
It looks like it does, according to the following:
[8]> array-dimension-limit
16777215
[9]> (floor * 4)
4194303 ;
3
[10]> (length (make-string *))
4194303
[11]> (length (make-string (1+ *)))
*** - string too long: desired length 4194304 exceeds the supported maximum
(Continue reading)

Hoehle, Joerg-Cyril | 4 Jul 2005 16:02
Favicon

Re: clisp string limit is only ~4M, not array-dimension-limit

Peeking into the source (without understanding yet the origin of the string limit), I found the following
minor inconsistency:

  #define arraysize_limit_1  ((uintV)(vbitm(oint_data_len)-2))
Note uintV type

#ifdef TYPECODES
  #define stringsize_limit_1  ((uintL)(bit(intLsize-6)-1))
#else
  #define stringsize_limit_1  ((uintL)(bit(intLsize-10)-1))
#endif
Note uintL

Yet make_string() in CHARSTR.D uses uintV size, not uintL.

BTW, it looks like the string limit of ~4MB has nothing to do with (floor array_limit 4), but rather with some
bit fiddling within a 32bit entity (cf. sstring_tfl).

Regards,
	Jorg Hohle.

-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
Hoehle, Joerg-Cyril | 5 Jul 2005 13:42
Favicon

win32.lisp: why use full path to system dll?

Hi,

modules/bindings/win32.lisp contains
(defconstant system32 (ext:string-concat (ext:getenv "WINDIR") "\\system32\\"))
(defconstant kernel32 (ext:string-concat system32 "kernel32.dll"))

Why is this so?
o Is there a version of MS-Windows since 95 where the short form "kernel32.dll" does not suffice?

o Did anybody test this in conjunction with an image where the directory is at a different place on the new machine?
-- clisp has code to reopen shared libraries when restarting from an image file (which I never reviewed so far).

If not, I can do both test within a couple of days (I have a machine that boots from D:, and another with
MS-Windows-95), but prefer knowledge about documented behaviour of the OS first to "tested on that night
with that phase of the moon".

Regards,
	Jorg Hohle.

-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
Sam Steingold | 5 Jul 2005 15:56
Picon

Re: win32.lisp: why use full path to system dll?

> * Hoehle, Joerg-Cyril <Wbret-Plevy.Ubruyr <at> g-flfgrzf.pbz> [2005-07-05 13:42:24 +0200]:
>
> modules/bindings/win32.lisp contains
> (defconstant system32 (ext:string-concat (ext:getenv "WINDIR") "\\system32\\"))
> (defconstant kernel32 (ext:string-concat system32 "kernel32.dll"))
>
> Why is this so?

2005-06-06  Sam Steingold  <sds <at> gnu.org>

	* modules/bindings/win32/win32.lisp: use full paths for :LIBRARY
	arguments (needed on cygwin)

this also could be a matter of security.

--

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.honestreporting.com> <http://www.camera.org>
<http://www.palestinefacts.org/> <http://www.mideasttruth.com/>
.sigs are like your face - rarely seen by you and uglier than you think

-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click

Gmane