Browse thread
ocaml+twt v0.90
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Sebastien Ferre <ferre@i...> |
| Subject: | Re: [Caml-list] marshaling limits |
Olivier Andrieu wrote: > On 1/17/07, Daniel Bünzli <daniel.buenzli@epfl.ch> wrote: > >> >> Le 17 janv. 07 ŕ 16:41, Sebastien Ferre a écrit : >> >> > pourtant, je passe bien par un appel a output_value >> > dans un fichier, sans passer par une chaine intermediaire. >> >> Maybe output_value uses a string internally. Try with a bytecode >> version of your executable, an exception should be raised (or have a >> look at the implementaiton of output_value). > If it segfaults, that's most probably because the marshalling runs out > of executable stack (because of too much recursion). I've seen it do > this before. The "fix" is to increase the maximum size of the > executable stack. Indeed, you're right. I could solve the problem by using the 'ulimit -s' command. > The behavior is the same with bytecode or native code since it's not > the interpreter's stack that overflows, it's the C one. I didn't know the existence of this C stack. How can I have an idea of the necessary size ? Is it related to the depth of data structures to be marshaled ? Thanks ! Sébastien