caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Markus Weißmann" <markus.weissmann@in.tum.de>
To: Josh Berdine <josh@berdine.net>
Cc: Julia Lawall <julia.lawall@lip6.fr>, caml-list@inria.fr
Subject: Re: [Caml-list] segmentation fault
Date: Wed, 21 Jun 2017 16:20:43 +0200	[thread overview]
Message-ID: <42eb6b3d11e5171103a9ecf22c52c2d6@in.tum.de> (raw)
In-Reply-To: <jk60ig4lvbvfv5.fsf@fb.com>

On 2017-06-19 23:15, Josh Berdine wrote:
> On Mon, Jun 19 2017, Julia Lawall wrote:
> 
>> On Mon, 19 Jun 2017, David MENTRÉ wrote:
>> 
>>> Hello Julia,
>>> 
>>> Le 2017-06-18 à 21:41, Julia Lawall a écrit :
>>> > Over several
>>> > runs on two different laptops, the backtraces have nothing obvious in
>>> > common.  The bytecode version does not seem to stack overflow.  Adding
>>> > Gc.print_stat() at a periodic quiescent point in the execution did not
>>> > show a memory leak.
>>> 
>>> A similar issue related to random crash in native code version was 
>>> asked
>>> by Alexey Egorov on this list 9 days ago. Daniel Bünzli advised to 
>>> him
>>> to frequently call Gc.full_major () to have a crash closer to the 
>>> real
>>> issue.
>> 
>> OK, I will try this.
> 
> Are you using Windows? I have only experienced segfaults from stack
> overflow on Windows.
> 

you can easily get a stack overflow on Linux when you use C bindings:
the "stack touch" that checks for sufficient free space on the stack
before calling external code may well trigger a SEGFAULT, even though it 
is
not the fault of the C-code but of the OCaml-code that filled the stack.

I found my bug by adding [@tailcall] annotations to the recursive 
function
calls I initially assumed would be tail recursive.

regards
Markus

-- 
Markus Weißmann, M.Sc.
Technische Universität München
Institut für Informatik
Boltzmannstr. 3
D-85748 Garching
Germany
http://wwwknoll.in.tum.de/

  parent reply	other threads:[~2017-06-21 14:20 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-18 19:41 Julia Lawall
2017-06-19 20:15 ` David MENTRÉ
2017-06-19 20:58   ` Julia Lawall
2017-06-19 21:15     ` Josh Berdine
2017-06-19 21:19       ` Julia Lawall
2017-06-20  1:01         ` Francois BERENGER
2017-06-20  6:34           ` Julia Lawall
2017-06-21 14:20       ` Markus Weißmann [this message]
2017-06-23 17:03   ` SP
2017-06-23 17:25     ` Julia Lawall
2017-06-29 15:19       ` Damien Doligez
2017-06-29 15:26         ` Julia Lawall
2017-06-29 23:16         ` Julia Lawall
2017-06-30 10:55         ` Julia Lawall
2017-06-30 14:06           ` SP
2017-07-01 18:37         ` Julia Lawall
  -- strict thread matches above, loose matches on Subject: below --
2008-06-03  3:09 Segmentation fault Jacques Le Normand
2008-06-03 14:08 ` [Caml-list] " Berke Durak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42eb6b3d11e5171103a9ecf22c52c2d6@in.tum.de \
    --to=markus.weissmann@in.tum.de \
    --cc=caml-list@inria.fr \
    --cc=josh@berdine.net \
    --cc=julia.lawall@lip6.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).