gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Gcl-devel] 2.6.2


From: Mike Thomas
Subject: RE: [Gcl-devel] 2.6.2
Date: Fri, 4 Jun 2004 18:00:37 +1000

Hi all.

I extended yesterday's set-and-forget background tests with a
"-g -O2 -fomit-frame-pointer" configuration and also by repeating all five
configuration tests with unpatched 2.6.2 code (excepting configure.in
compiler switch changes noted for each configuration) as a sanity check.

In the unpatched tests I left the pervasive "-g" flag out except on
configuration 4 - "--enable-debug".

Compiler and system details are listed at the end.  I've built ANSI and
CLTL1 test packages based on the discussion below and put them both in the
usual pickup place.  Camm, could you please oblige if you have time by
putting them in the appropriate download location?

18572319 Jun  4 16:55 gcl_2.6.2.mingw32_ansi_20040604.zip
14385822 Jun  4 17:27 gcl_2.6.2.mingw32_cltl1_20040604.zip

The ANSI package has done 1900 Random Tester iterations (and will continue
over the weekend), built Maxima 20040424 source package with and without
"ignore-errors", passing tests; "time make check":

real    0m9.453s
user    0m2.481s
sys     0m1.861s

The CLtL1 package has built ACL2 2.8, (passed :mini-proveall, no time yet
for book certification) and Maxima 5.9.0 passing test; "time make check":

real    0m9.063s
user    0m2.309s
sys     0m1.861s

Random tester memory usage seems constant so far on about 56 Mb.

All testing on Windows XP 2.5 GHz 512 Mb RAM with about 8 Gb free on disk,
MinGW32 details at end of email.



The overall results?


1.  Once again, "-O3" without "-fomit-frame-pointer" is the most stable
optimisation setting.  With the current 2.6.2 source tree and the Maxima
20040424 source tarball there is no Maxima "ignore-errors" bug and no other
crash.  The notable improvements over the first time I did this sort of
testing are that it is no longer necessary to alter the O2FLAGS configure
macro from it's standard value of -O, and that the random tester is stable -
no test run crashes except during the loading of "universe.lsp".  Whether
the Maxima result is fortuitous I can't say, but it only happens on -O3
settings.


2.  Subject to any debugging successes you guys come up with over the
weekend, I recommend no further patches for Windows 2.6.2 other than the
minor adjustment of removing the MinGW32 "-fomit-frame-pointer" flag in view
of para 1 above, and a minor change to "h/mingw32.defs" to smooth
configuration in the presence of a standard Windows Tcl/Tk installation:

RCS file: /cvsroot/gcl/gcl/h/mingw.defs,v
retrieving revision 1.26.6.10
diff -r1.26.6.10 mingw.defs
41a42,56
> # Avoid interference from incompatible tcl-tk configuration.
> TK_CONFIG_PREFIX=
> TK_LIBRARY=
> TCL_LIBRARY=
> TK_XINCLUDES=
> TK_INCLUDE=
> TCL_INCLUDE=
> TK_LIB_SPEC=
> TK_BUILD_LIB_SPEC=
> TK_XLIBSW=
> TK_XINCLUDES=
> TCL_LIB_SPEC=
> TCL_DL_LIBS=
> TCL_LIBS=
>

I think that the 8M stack is also a Good Thing, but it did not appear to
change anything for me here over the past two days - that one is up to you.


3.  The sanity check showed I am not, as apparently the patches make not a
speck of difference other than moving the location of the Maxima
"ignore-errors" failure around!


4.  The compiler optimisation flags for GMP3 are unaffected by those used by
GCL specifically:

   -g -O2 -fomit-frame-pointer

Is this supposed to be happening?


5.  I now have 36 gcl installations on my hard drive.


Have a pleasant weekend everyone

Mike Thomas





================================================================
================================================================
================================================================
PATCHED 2.6.2 source tree (8M stack, string.d, STATIC)

================================================================
================================================================
================================================================
Test configuration 1.

With optimisation set to "-g -O3" (that is, without -fomit-frame-pointers)


maxima ignore-errors  -- NO

"universe.lisp" -- NO

gcl_setf build crash -- NO

Great: So I let the random tester run for 2800 iterations and although it
did report a couple of errors, they did not crash the the process as has
previously happened - it printed the offending form and then continued with
the next.

================================================================
Test configuration 2.

With optimisation set to "-g -O3 -fomit-frame-pointers":

maxima ignore-errors  -- NO

"universe.lisp" -- FAIL

gcl_setf build crash -- NO

So no random-tester with this configuration.

================================================================
Test configuration 3.

With optimisation set to "-g -O":

maxima ignore-errors  -- FAIL

"universe.lisp" -- NO

gcl_setf build crash -- NO

I killed the random tester after 1400 error free iterations.

================================================================

Test configuration 4.

With optimisation set to "-g" (ie --enable-debug):

maxima ignore-errors  -- FAIL

"universe.lisp" -- NO

gcl_setf build crash -- NO

The random tester overnight ran more than 200,000 iterations without
crashing.


================================================================

Test configuration 5.

With optimisation set to "-g -O2 -fomit-fram-pointer":

gcl_setf build crash -- FAIL

Hence no other bugs tests were not run.

================================================================




================================================================
================================================================
================================================================
UNPATCHED 2.6.2 source except for configure.in compiler flags

================================================================
================================================================
================================================================
Test configuration 1.

With optimisation set to "-O3" (that is, without -fomit-frame-pointers)


maxima ignore-errors  -- NO

"universe.lisp" -- NO

gcl_setf build crash -- NO

Random tester killed after 1400 iterations with only one error form
print-out and no crash.

ie Same result as patched source tree.

================================================================
Test configuration 2.

With optimisation set to "-O3 -fomit-frame-pointers":

maxima ignore-errors  -- NO

"universe.lisp" -- FAIL

gcl_setf build crash -- NO

ie Same result as patched source tree.


================================================================
Test configuration 3.

With optimisation set to "-O":

maxima ignore-errors  -- FAIL

"universe.lisp" -- NO

gcl_setf build crash -- NO

Random tester killed after 1300 failure free iterations.
ie Same result as patched source tree.

================================================================

Test configuration 4.

With optimisation set to "-g" (ie --enable-debug):

maxima ignore-errors  -- FAIL

"universe.lisp" -- NO

gcl_setf build crash -- NO

Random tester killed after 1800 failure free iterations.
ie Same result as patched source tree.


================================================================

Test configuration 5.

With optimisation set to "-O2 -fomit-frame-pointer":

gcl_setf build crash -- FAIL

ie Same result as patched source tree.


================================================================
================================================================
================================================================


$ msysinfo
msysinfo-1.3: Send this to the MSYS support list:

MSYS 1.0.9(0.46/3/2) 2003-07-03 07:26 i686 unknown; targ=MINGW32
GNU bash, version 2.04.0(1)-release (i686-pc-msys); ENV=.profile
GNU Make version 3.79.1,Built for i686-pc-msys; MAKE_MODE=unix
gcc.exe (GCC) 3.3.1 (mingw special 20030804-1); targ=MINGW32
GNU ld version 2.14.90 20030807
   789320 Thu Jul 03 08:17:28 2003 /bin/msys-1.0.dll
   135680 Thu Jul 03 08:17:26 2003 /bin/make.exe
    84992 Fri Aug 08 08:28:59 2003 /mingw/bin/gcc.exe
   613888 Sun Aug 10 16:05:14 2003 /mingw/bin/ld.exe
HOME=/home/miketh
Sysname=MINGW32_NT-5.1  OSTYPE=msys  TERM=nutc
PATH=.:/usr/local/bin:/mingw/bin:/bin:/c/lang/texmf/miktex/bin/:
/c/lang/Tcl-8.4.1.0/bin:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOW
S/System32/Wbem:/c/Program Files/Common Files/Adaptec Shared/Sys
tem:/c/Program Files/Common Files/GTK/2.0/bin:/c/lang/texmf/mikt
ex/bin/:/c/lang/MSDOTN~1/Bin/:/c/PROGRA~1/MICROS~1.NET/Common7/I
DE/:/c/WINDOWS/MICROS~1.NET/FRAMEW~1/V10~1.370/:/c/PROGRA~1/MICR
OS~1.NET/Vc7/bin/:/c/lang/TCL-84~1.0/bin:/c/WINDOWS/system32:/c/
WINDOWS:/c/WINDOWS/System32/Wbem:/c/PROGRA~1/COMMON~1/ADAPTE~1/S
ystem:/c/lang/ocaml/bin:/c/lang/sml-nj-110.9.1/bin:/c/lang/Palmd
ev/apache-ant-1.5.4/bin

================================================================
================================================================
================================================================





reply via email to

[Prev in Thread] Current Thread [Next in Thread]