From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by sympa.inria.fr (Postfix) with ESMTPS id 19A807EEEB for ; Wed, 5 Dec 2012 05:13:25 +0100 (CET) Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of lhong@amnh.org) identity=pra; client-ip=216.73.244.167; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="lhong@amnh.org"; x-sender="lhong@amnh.org"; x-conformance=sidf_compatible Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of lhong@amnh.org) identity=mailfrom; client-ip=216.73.244.167; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="lhong@amnh.org"; x-sender="lhong@amnh.org"; x-conformance=sidf_compatible Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-mx-002.amnh.org) identity=helo; client-ip=216.73.244.167; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="lhong@amnh.org"; x-sender="postmaster@mail-mx-002.amnh.org"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap4AANzIvlDYSfSnmWdsb2JhbAAqGoJsqH6SThYOAQEBAQEICwsHFCeCHgEBAQMBbgsFCwIBCBEEAQELAyEyEwoIAgQOBQgKCYdjAwkGAQsttxkDiV6MNxuDRWEDlx+KFogHgWw1 X-IronPort-AV: E=Sophos;i="4.84,219,1355094000"; d="scan'208";a="184640882" Received: from mail-mx-002.amnh.org ([216.73.244.167]) by mail1-smtp-roc.national.inria.fr with ESMTP; 05 Dec 2012 05:13:23 +0100 X-ASG-Debug-ID: 1354680795-04264129a7247d50001-jBxyQn Received: from amnh.org ([172.16.8.238]) by mail-mx-002.amnh.org with ESMTP id 4lKs9GCxe6TESbdT; Tue, 04 Dec 2012 23:13:15 -0500 (EST) X-Barracuda-Envelope-From: lhong@amnh.org Received: from MAIL-MBX-004.internal.amnh.org ([fe80::7070:e0a1:bc56:c30a]) by MAIL-CASHT-003.internal.amnh.org ([fe80::a487:6081:d54f:db9e%12]) with mapi id 14.01.0289.001; Tue, 4 Dec 2012 23:13:15 -0500 From: Lin Hong X-Barracuda-Apparent-Source-IP: fe80::7070:e0a1:bc56:c30a To: Damien Doligez CC: caml users Thread-Topic: [Caml-list] Segmentation fault from Array.append Ocaml 4.0.x -- walk around X-ASG-Orig-Subj: RE: [Caml-list] Segmentation fault from Array.append Ocaml 4.0.x -- walk around Thread-Index: AQHNzaMeTKONd2oleUi7GtNfsZy5NpgJHkuAgACDmkQ= Date: Wed, 5 Dec 2012 04:13:14 +0000 Message-ID: References: , In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.16.8.249] Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Barracuda-Connect: UNKNOWN[172.16.8.238] X-Barracuda-Start-Time: 1354680795 X-Barracuda-URL: http://spam.amnh.org:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at amnh.org X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using global scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=4.0 KILL_LEVEL=9.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.116116 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Subject: RE: [Caml-list] Segmentation fault from Array.append Ocaml 4.0.x -- walk around Hi Damien, our test finish without problem, looks like your fix for array.append works= . thanks again. Cheers, Lin Hong American Museum of Natural History POY website : https://code.google.com/p/poy/ http://research.amnh.org/scicomp/scripts/download.php ________________________________________ From: Damien Doligez [damien.doligez@inria.fr] Sent: Tuesday, December 04, 2012 10:20 AM To: Lin Hong Cc: caml users Subject: Re: [Caml-list] Segmentation fault from Array.append Ocaml 4.0.x -= - walk around Hello Lin Hong, I have found a bug in the C code for Array.append. A patch against 4.00.1 is attached to this mail. I couldn't make a small repro case for this bug, so I would appreciate if you could try this patch an tell me whether it fixes the problem for you. Cheers, -- Damien On 2012-11-28, at 21:02, Lin Hong wrote: > Hi, all > > we avoid the problem by creating our version of Array.append. Our version= of Array.append looks just like the one from Ocaml 3.12, instead of operat= ing directly on memory, we call get & set function to do the job. > > still have no idea why Array.append from Ocaml4.0.x cause the seg fault, = but we will stick to our walk around solution till new version come out. > > Cheers, > Lin Hong > American Museum of Natural History > POY website : > https://code.google.com/p/poy/ > http://research.amnh.org/scicomp/scripts/download.php > > ________________________________________ > From: caml-list-request@inria.fr [caml-list-request@inria.fr] on behalf o= f Lin Hong [lhong@amnh.org] > Sent: Monday, November 19, 2012 12:04 PM > To: Damien Doligez; caml users > Subject: RE: [Caml-list] Segmentation fault from Array.append > > Hi, > > we recompiled Ocaml with debug version of runtime, then compiled our prog= ram into byte code, run the same data-set , the problem disappear. > > but with native version of our program, the segmentation fault still show= s. > > As for native version, if we run it with Gc.compact() being called around= Array.append, the problem won't show. > > also gdb point us to some major_slice() function, so we call Gc.major_sli= ce() before Array.append, this also make the problem disappear. > > > still don't know what's going on here, any other suggestions are highly a= ppreciated. > > > Thanks. > > Cheers, > Lin Hong > American Museum of Natural History > POY website : > https://code.google.com/p/poy/ > http://research.amnh.org/scicomp/scripts/download.php > > ________________________________________ > From: caml-list-request@inria.fr [caml-list-request@inria.fr] on behalf o= f Damien Doligez [damien.doligez@inria.fr] > Sent: Wednesday, October 17, 2012 9:33 AM > To: caml users > Subject: Re: [Caml-list] Segmentation fault from Array.append > > Hello, > >> From: Daniel B=FCnzli [daniel.buenzli@erratique.ch] >> >> http://rwmj.wordpress.com/2010/01/22/tip-tracking-down-ocaml-heap-corrup= tors/ > > > I have posted a comment to that blog. For the archive, here's what it sa= ys: > > Starting with OCaml 4.00.0, there is an easy way to activate the debug ve= rsion of the runtime: > > 1. configure OCaml with "-with-debug-runtime" > 2. compile and install OCaml > 3. compile your program with "-runtime-variant d" > > This will compile your program with a version of the runtime which has as= sertions all over the place, and does a thorough check of the heap structur= e at each major GC (and at each compaction). If you then follow Rich=92s ad= vice, you should be able to narrow down the source of the heap corruption q= uite easily. > > -- Damien > > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs