unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Albert Chin <guile-devel@mlists.thewrittenword.com>
To: guile-devel@gnu.org
Subject: Re: ERROR: Stack overflow from 1.8.6 on HP-UX 11.23/IA, 11.31/IA
Date: Mon, 16 Mar 2009 01:44:19 -0500	[thread overview]
Message-ID: <20090316064418.GC13000@songoku.il.thewrittenword.com> (raw)
In-Reply-To: <87sklguvny.fsf@arudy.ossau.uklinux.net>

[-- Attachment #1: Type: text/plain, Size: 1334 bytes --]

On Sat, Mar 14, 2009 at 12:38:09PM +0000, Neil Jerram wrote:
> Albert Chin <guile-devel@mlists.thewrittenword.com> writes:
> 
> > I've built guile-1.8.6 on HP-UX 11.23/IA and 11.31/IA:
> >   $ gtar zxf guile-1.8.6.tar.gz
> >   $ cd guile-1.8.6
> >   $ ./configure PTHREAD_CFLAGS="-mt" --disable-dependency-tracking
> >   ...
> >   $ gmake
> >   ...
> >   $ cd test-suite/standalone
> >   $ gmake check TESTS="test-num2integral test-conversion"
> >   ...
> >   ERROR: Stack overflow
> >   FAIL: test-num2integral
> >   ERROR: Stack overflow
> >   FAIL: test-conversion
> 
> A few questions:
> 
> 1. Do all of the standalone tests fail with a stack overflow, or just
> those two?

Unknown. Some of the tests fail to dlopen some modules:
  ERROR: In procedure dynamic-link:
  ERROR: file: "libguile-srfi-srfi-1-v-3", message: "can't open the module"
  FAIL: test-require-extension
  ...
  ERROR: In procedure dynamic-link:
  ERROR: file: "libtest-asmobs", message: "can't open the module"
  FAIL: test-asmobs

I haven't looked into why.

> 2. Can you send us your libguile/stack-limit-calibration.scm?

Attached.

> 3. Can you explain what the setting of PTHREAD_CFLAGS is for?

Because, without it, PTHREAD_CFLAGS is set to:
  s["PTHREAD_CFLAGS"]="-D_REENTRANT -mthreads"
which is incorrect.

-- 
albert chin (china@thewrittenword.com)

[-- Attachment #2: stack-limit-calibration.scm --]
[-- Type: text/plain, Size: 2345 bytes --]

;; Stack limit calibration file.
;;
;; This file is automatically generated by Guile when it builds, in
;; order to set the stack limit to a value that reflects the stack
;; usage of the build platform (OS + compiler + compilation options),
;; specifically so that none of Guile's own tests (which are run by
;; `make check') fail because of a benign stack overflow condition.
;;
;; By a `benign' stack overflow condition, we mean one where the test
;; code is behaving correctly, but exceeds the configured stack limit
;; because the limit is set too low.  A non-benign stack overflow
;; condition would be if a piece of test code behaved significantly
;; differently on some platform to how it does normally, and as a
;; result consumed a lot more stack.  Although they seem pretty
;; unlikely, we would want to catch non-benign conditions like this,
;; and that is why we don't just do `(debug-set! stack 0)' when
;; running `make check'.
;;
;; Although the primary purpose of this file is to prevent `make
;; check' from failing without good reason, Guile developers and users
;; may also find the following information useful, when determining
;; what stack limit to configure for their own programs.

 (let (;; The stack high water mark measured when starting up the
       ;; standard Guile REPL on the current build platform.
       (top-repl-hwm-measured 28408)

       ;; The value of top-repl-hwm-measured that we get when building
       ;; Guile on an i686 PC GNU/Linux system, after configuring with
       ;; `./configure --enable-maintainer-mode --with-threads'.
       ;; (Hereafter referred to as the `canonical' build platform.)
       (top-repl-hwm-i686-pc-linux-gnu 9461)

       ;; Guile's default stack limit (i.e. the initial, C-coded value
       ;; of the 'stack debug option).  In the context of this file,
       ;; the important thing about this number is that we know that
       ;; it allows all of the `make check' tests to pass on the
       ;; canonical build platform.
       (default-stack-limit 20000)

       ;; Calibrated stack limit.  This is the default stack limit,
       ;; scaled by the factor between top-repl-hwm-i686-pc-linux-gnu
       ;; and top-repl-hwm-measured.
       (calibrated-stack-limit 60052))

   ;; Configure the calibrated stack limit.
   (debug-set! stack calibrated-stack-limit))

  reply	other threads:[~2009-03-16  6:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-12 21:47 ERROR: Stack overflow from 1.8.6 on HP-UX 11.23/IA, 11.31/IA Albert Chin
2009-03-12 21:56 ` Albert Chin
2009-03-13  9:25   ` Ludovic Courtès
2009-03-14 12:38 ` Neil Jerram
2009-03-16  6:44   ` Albert Chin [this message]
2009-03-24 20:50     ` Neil Jerram
2009-03-25  1:04       ` Albert Chin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090316064418.GC13000@songoku.il.thewrittenword.com \
    --to=guile-devel@mlists.thewrittenword.com \
    --cc=guile-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).