Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [Caml-list] Future of labels
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: David Fox <dsfox@c...>
Subject: [Caml-list] Seg fault with -custom and 2049 lets...
If I create a program with 2049 simple functions:

  let f1 () = ()
  let f2 () = ()
  ...
  let f2049 () = ()

(You can build this using yes "" | cat -n | head -2049 |
 sed 's/^[^0-9]*\([0-9]*\)[^0-9]*$/let f\1 () = ()/' > y.ml)

I get a seg fault if I compile it with the -custom flag and use a
debugging version of malloc:

  % ocamlc -custom y.ml -ccopt -lefence
  % ./a.out
  
   Electric Fence 2.2.0 Copyright (C) 1987-1999 Bruce Perens <bruce@perens.com>
  Segmentation fault (core dumped)
  % 

or if I link using the debugging library libcamlrund.a:

  % ./a.out
  ### O'Caml runtime: debug mode ###
  Initial minor heap size: 128k bytes
  Initial major heap size: 248k bytes
  Initial space overhead: 42%
  Initial max overhead: 1000000%
  Initial heap increment: 248k bytes
  Initial stack limit: 1024k bytes
  file interp.c; line 255 ### Assertion failed: sp >= stack_low

If I use the regular (non-debugging) library I don't get the seg fault
immediately, but in a real life situation things get ugly pretty
quickly.

-david
-------------------
To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr