Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Segmentation fault at process initialization
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2003-09-18 (12:52)
From: Richard Jones <rich@a...>
Subject: Re: [Caml-list] Segmentation fault at process initialization
On Thu, Sep 18, 2003 at 02:26:25PM +0200, Alex Baretta wrote:
> When the Xcaml runtime system is linked with the -linkall option of 
> ocamlc-3.06, the xcaml executable I get crashes with a segmentation 
> fault at process initialization. If, on the other hand, I link the 
> executable without the -linkall option, it runs fine, except for the 
> fact that it lacks several library modules it should have.
> The libraries I'm using are the following:
> postgres, which is know to work very well;
> cgi, which contains no C code;
> and str, num and dynlink coming straight from the ocaml distribution.
> My code is definitely not a problem because it runs fine if the -linkall 
> option is suppressed. Neither is the -linkall option a problem in and of 
> itself, because I can reproduce the behaviour by issuing equivalent 
> linking commands using the cmo files as opposed the cmas.
> How can I diagnose this segmentation fault? Under what circumstances 
> exactly are ocaml programs "allowed" to crash with a segmentation fault?

Obviously under no circumstances, but I've had it happen a few times.

If it's a native code version, try running it under gdb and look at
the stack trace. You can usually work out from the name which module
was being compiled. It'll be something like Module__entry for the
toplevel code, or Module__function_123 for 'function' in the module.

(You might need to supply the -g option to gcc, ie. ocamlopt -ccopt -g)


Richard Jones.
Merjis Ltd. - all your business data are belong to you.
MAKE+ is a sane replacement for GNU autoconf/automake. One script compiles,
RPMs, pkgs etc. Linux, BSD, Solaris.

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: