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
Search for the smallest possible possible Ocaml segfault....
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-11-08 (16:05)
From: Alain Frisch <alain@f...>
Subject: Re: [Caml-list] Search for the smallest possible possible Ocaml segfault....
Till Varoquaux wrote:
> I have a  open bug in ocaml
> (http://caml.inria.fr/mantis/view.php?id=4321) that leads very simply
> to a segfault. The bug has been there for more than 4 months and is
> still marked as "new". Since it seems to be stalling I thought I might
> give it a gentle prod: what is the smallest possible ocaml program you
> can come up with that leads to a reproducible segfault without using
> FFI's Obj or Marshal. Here is mine:
> Scanf.sscanf  "\"%2$c%1$s\"" "%{%c%s%}" (fun f->Printf.printf f 'x' "xy");;

Till, what a childish attitude ;-)

The following is certainly not the smallest, but it uses only the 
Pervasives module, so maybe it is cute enough to qualify for the Jury's 

a.mli = sub/a.mli: type t val x: t val f: t -> unit
a.ml:              type t = int let x,f = 0,print_int
sub/a.ml:          type t = string let x,f = "",print_string
b.ml:              let r = A.x
c.ml:              A.f B.r;;

To be compiled with:

  ocamlc -o main a.mli a.ml b.ml sub/a.mli sub/a.ml c.ml

-- Alain