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 UAA17172; Mon, 26 Jul 2004 20:14:49 +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 UAA16450 for ; Mon, 26 Jul 2004 20:14:48 +0200 (MET DST) Received: from mproxy.gmail.com (rproxy.gmail.com [64.233.170.194]) by concorde.inria.fr (8.12.10/8.12.10) with ESMTP id i6QIEkSH003067 for ; Mon, 26 Jul 2004 20:14:47 +0200 Received: by mproxy.gmail.com with SMTP id 79so104089rnk for ; Mon, 26 Jul 2004 11:14:46 -0700 (PDT) Received: by 10.38.90.17 with SMTP id n17mr40091rnb; Mon, 26 Jul 2004 11:14:46 -0700 (PDT) Message-ID: <891bd33904072611144e47e57e@mail.gmail.com> Date: Mon, 26 Jul 2004 14:14:46 -0400 From: Yaron Minsky Reply-To: yminsky@cs.cornell.edu To: Xavier Leroy Subject: Re: [Caml-list] Re: Size limitation on input_value Cc: Caml Mailing List In-Reply-To: <20040726171205.GD6618@yquem.inria.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_92_28862187.1090865686527" References: <891bd33904072212415292635c@mail.gmail.com> <891bd33904072609484169f951@mail.gmail.com> <20040726171205.GD6618@yquem.inria.fr> X-Miltered: at concorde with ID 41054A16.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; yaron:01 minsky:01 yminsky:01 caml-list:01 foo:01 ocamlfind:01 ocamlmktop:01 -linkpkg:01 threads:01 foo:01 2004:99 3.07:01 strace:01 yminsky:01 500%:99 X-Attachments: type="application/octet-stream" name="foo.ml" name="foo.ml" name="attach.txt" name="attach.txt" Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk ------=_Part_92_28862187.1090865686527 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Interesting. I can't replicate this on a stock ocaml toplevel. It does occur, however, on a toplevel with vmthreads compiled in. I've attached the file foo.ml, as well as the output file with the appropriate OCAMLRUNPARAM value. I created the toplevel with this command: ocamlfind ocamlmktop -linkpkg -package threads -vmthread -o foocaml And then I got the error by running the command "./foocaml foo.ml". y On Mon, 26 Jul 2004 19:12:05 +0200, Xavier Leroy wrote: > > So, I've investigated this a little further, and it's a definite > > regression. Here's the function I used: > > [...] > > On 3.08, I get this: > > # run ~save:true ~load:true 1000000;; > > Out of memory during evaluation. > > # run ~save:true ~load:false 1000000;; > > Out of memory during evaluation. > > # run ~save:false ~load:false 1000000;; > > - : unit = () > > I cannot reproduce this behavior with 3.08 here. All three phrases > evaluate without Out_of_memory conditions. > > There have been no significant changes in the code for output_value > and input_value between 3.07 and 3.08. > > Could you investigate some more where the Out_of_memory comes from? > strace and OCAMLRUNPARAM='v=63' could give useful clues. > > Please use caml@inria.fr or caml-bugs@inria.fr to continue this discussion. > > - Xavier Leroy > ------=_Part_92_28862187.1090865686527 Content-Type: application/octet-stream; name="foo.ml" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="foo.ml" bGV0IHJ1biB+c2F2ZSB+bG9hZCBuID0KICBsZXQgYXIgPSBBcnJheS5pbml0IG4gKGZ1biBpIC0+ IChpLGkrMSxpKzIsaSszKSkgaW4KICBpZiBzYXZlIHRoZW4gYmVnaW4KICAgIGxldCBmID0gb3Bl bl9vdXRfYmluICJmb28udmFsIiBpbgogICAgb3V0cHV0X3ZhbHVlIGYgYXI7CiAgICBjbG9zZV9v dXQgZgogIGVuZDsKICBpZiBsb2FkIHRoZW4gYmVnaW4KICAgIGxldCBmID0gb3Blbl9pbl9iaW4g ImZvby52YWwiIGluCiAgICBpZ25vcmUgKGlucHV0X3ZhbHVlIGYpOwogICAgY2xvc2VfaW4gZiAK ICBlbmQKCgpsZXQgKCkgPSBydW4gfnNhdmU6dHJ1ZSB+bG9hZDp0cnVlIDEwMDAwMDA7Owo= ------=_Part_92_28862187.1090865686527 Content-Type: text/plain; name="attach.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="attach.txt" [14:12:13 yminsky@quant2 scanner]$ ./foocaml foo.ml Initial minor heap size: 128k bytes Initial major heap size: 240k bytes Initial space overhead: 80% Initial max overhead: 500% Initial heap increment: 240k bytes Initial stack limit: 1024k bytes <>Starting new major GC cycle !$<>Starting new major GC cycle Growing gray_vals to 16k bytes !<>$Growing global data to 3072 entries <>$Growing heap to 4388k bytes Growing page table to 1331 entries Starting new major GC cycle !ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>Starting new major GC cycle Growing gray_vals to 32k bytes Growing gray_vals to 64k bytes !ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed Starting new major GC cycle Growing gray_vals to 128k bytes Growing gray_vals to 256k bytes !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>Starting new major GC cycle !ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed Starting new major GC cycle !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed Starting new major GC cycle !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>Starting new major GC cycle Growing gray_vals to 512k bytes !ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>Starting new major GC cycle !ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>Starting new major GC cycle !ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed $ref_table threshold crossed <>$ref_table threshold crossed <>$ref_table threshold crossed Starting new major GC cycle Growing gray_vals to 1024k bytes !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!ref_table threshold crossed !ref_table threshold crossed <>!ref_table threshold crossed <>!Out of memory during evaluation. ! ------=_Part_92_28862187.1090865686527-- ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners