bug-guile
[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, 13 Feb 2008 10:05:20 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

Hi Rainer,

Rainer Tammer <address@hidden> writes:

> I tried to build GUILE 1.8.3 on AIX 6.1 with the IBM XL C/C++ 9.0 compiler.
> During the build I get the following error:
>
>
> ./guile_filter_doc_snarfage --filter-snarfage) > regex-posix.doc || {

[...]

> In /daten/source/test/guile-1.8.3/ice-9/null.scm:
>  20: 76* (define-module (ice-9 null) :use-module ...)
> In unknown file:
>   ?: 77* [copy-tree ...
>   ?: 78* [apply #<procedure #f args> ((ice-9 null) :use-module (ice-9 
> syncase) ...)]
>   ?: 79  [#<procedure #f args> (ice-9 null) :use-module ...]
>   ?: 80  (quasiquote (eval-case (# #) (else #)))
>   ?: 81* [compile-define-module-args ((ice-9 null) :use-module (ice-9 
> syncase) ...)]
>   ?: 82  ((letrec ((loop #)) loop) (quasiquote ((quote #))) (cdr args))
>   ?: 83* (letrec ((loop (lambda # #))) loop)
>   ?: 84* (lambda (compiled-args args) (cond (# #) (# #) (# #) ...))
>
> <unnamed port>: In expression (lambda (compiled-args args) (cond # # ...)):
> <unnamed port>: Stack overflow

A couple of ideas:

  1. What `CFLAGS' are you using?  In particular, are optimizations
     enabled?

     With GCC, compiling without optimizations usually yields a Guile
     that stack-overflows because the evaluator would use so much stack
     space that the default stack limit is quickly hit.  You could have
     the same problem with IBM's xlc, so make sure to enable
     optimizations.

     Actually, `configure' only adds `-O2' when GCC is being used, so
     I'm pretty sure it's up to you to pass `configure' or `make' the
     right CFLAGS, e.g.,

       CFLAGS="-the-option-that-enables-optimizations" ./configure

     If that fixes the problem, then we can change `configure' to use,
     e.g., `AX_COMPILER_VENDOR' [0] to automatically add optimization
     options that correspond to the compiler being used.

  2. Is it a 64-bit platform?

     If so, it may be the case that the default stack limit (see
     `debug-options') is about two times smaller than what you need.

Thanks,
Ludovic.

[0] http://autoconf-archive.cryp.to/ax_compiler_vendor.html





reply via email to

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