English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

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. http://www.annexia.org/ http://freshmeat.net/users/rwmj
Merjis Ltd. http://www.merjis.com/ - 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. http://www.annexia.org/freeware/makeplus/

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