guile-devel
[Top][All Lists]
Advanced

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

Re: stack overflow


From: Ludovic Courtès
Subject: Re: stack overflow
Date: Wed, 16 Jul 2008 14:34:04 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

Hi,

Neil Jerram <address@hidden> writes:

> Below is a proposed patch to do this.  When and if this gets deployed,
> the third arg to %calibrate-stack-depth would be removed, so that it
> doesn't generate any output.  But for now it's interesting to see what
> results people on various OSs get.
>
> Could people who've being getting "Stack overflow" errors try this
> out, and also report (for interest) the ";; Stack calibration" line
> that they get?

I think time has come to integrate this patch as it's proved to fix
things for various people.  I tried it on several platforms, always
compiling with the default flags, i.e., `-O2'.  Here's what I got[*]:

  * i686-pc-linux-gnu, GCC 4.2.4
    ;; Stack calibration: (x1 x2 y1 y2 m c) = (170 690 170 690 1.0 0.0)

  * x86_64-unknown-linux-gnu, GCC 4.1.2
    ;; Stack calibration: (x1 x2 y1 y2 m c) = (170 690 41 181 0.269230769230769 
-4.76923076923077)

  * sparc64-unknown-linux-gnu, GCC 4.1.3
    ;; Stack calibration: (x1 x2 y1 y2 m c) = (170 690 178 498 
0.615384615384615 73.3846153846154)

  * hppa2.0w-hp-hpux11.11,
    HP92453-01 B.11.X.36086-36089-36092.GP HP C Compiler (cc)
    ;; Stack calibration: (x1 x2 y1 y2 m c) = (170 690 352 1472 
2.15384615384615 -14.1538461538462)

  * ia64-unknown-linux-gnu (itanium2), GCC 4.1.2
    ;; Stack calibration: (x1 x2 y1 y2 m c) = (170 690 10 50 0.0769230769230769 
-3.07692307692308)

  * i386-unknown-freebsd6.2, GCC 3.4.6
    ;; Stack calibration: (x1 x2 y1 y2 m c) = (170 690 114 394 
0.538461538461538 22.4615384615385)

`pre-inst-guile' reaches the REPL in all cases, except on IA64 where it
stack-overflows (further investigation needed).

I'll comment the patch itself later on.

Thanks,
Ludovic.

[*] I really need to find a way to automate this.  If anyone knows of
    existing tools that would facilitate it (connecting to each machine,
    running `configure', `make', etc.), please let me know.  Otherwise,
    I guess it wouldn't be too hard to write a script to do that.





reply via email to

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