From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id QAA00726; Fri, 13 Apr 2001 16:01:54 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id QAA00705 for ; Fri, 13 Apr 2001 16:01:53 +0200 (MET DST) Received: from hci.ucsd.edu (hci.ucsd.edu [132.239.215.210]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id f3DE1pX09694 for ; Fri, 13 Apr 2001 16:01:51 +0200 (MET DST) Received: (from dsf@localhost) by hci.ucsd.edu (8.9.3/8.9.3) id HAA25157; Fri, 13 Apr 2001 07:01:51 -0700 To: caml-list@inria.fr Subject: Re: [Caml-list] Seg fault with -custom and 2049 lets... References: From: David Fox Date: 13 Apr 2001 07:01:51 -0700 In-Reply-To: David Fox's message of "12 Apr 2001 11:31:04 -0700" Message-ID: X-Mailer: Gnus v5.7/Emacs 20.3 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk By the way, this was on a Pentium 3 machine running Redhat Linux 7.0 and ocaml-3.01. David Fox writes: > 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 > 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 > -- $_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=( $m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16 -2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h =5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$ d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^ $d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^ (($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval ------------------- To unsubscribe, mail caml-list-request@inria.fr. Archives: http://caml.inria.fr