From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id D48F6BBAF for ; Wed, 11 Aug 2010 11:30:52 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvYAAA4KYkzLj65GlGdsb2JhbACgOxUBAQEBCQsICREFFwa7FoU6BA X-IronPort-AV: E=Sophos;i="4.55,352,1278280800"; d="scan'208";a="65268901" Received: from atp-es2.it.nicta.com.au ([203.143.174.70]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/AES256-SHA; 11 Aug 2010 11:30:50 +0200 Received: from atp-mbx1.it.nicta.com.au ([221.199.216.123] helo=atp-mbx1.in.nicta.com.au) by atp-es2.it.nicta.com.au with esmtp (Exim 4.69) (envelope-from ) id 1Oj7e1-0006Oo-Hg for caml-list@yquem.inria.fr; Wed, 11 Aug 2010 19:30:45 +1000 Received: from atp-mbx1.in.nicta.com.au ([221.199.216.123]) by atp-mbx1.in.nicta.com.au ([221.199.216.123]) with mapi; Wed, 11 Aug 2010 19:30:45 +1000 From: Paul Steckler To: "caml-list@yquem.inria.fr" Date: Wed, 11 Aug 2010 19:30:44 +1000 Thread-Topic: GC hangs application Thread-Index: AQHLOTffGtKsmFNVzUCznY+jcsjH6Q== Message-ID: <2EB36A07AAE8C44BBB1986425E7A22D0128715A3DE@atp-mbx1.in.nicta.com.au> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US x-tm-as-product-ver: SMEX-8.0.0.4125-6.500.1024-17562.005 x-tm-as-result: No--43.474200-0.000000-31 x-tm-as-user-approved-sender: Yes x-tm-as-user-blocked-sender: No Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-SA-Exim-Connect-IP: 221.199.216.123 X-SA-Exim-Mail-From: Paul.Steckler@nicta.com.au X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on atp-es2.it.nicta.com.au X-Spam-Level: Subject: GC hangs application X-SA-Exim-Version: 4.2.1 (built Wed, 25 Jun 2008 17:20:07 +0000) X-SA-Exim-Scanned: Yes (on atp-es2.it.nicta.com.au) X-Spam: no; 0.00; steckler:01 steckler:01 ocaml:01 verbose:01 byte-code:01 rewrote:01 ocaml:01 12.:98 garbage:01 garbage:01 compile:01 heap:01 minor:01 strings:01 strings:01 I have an OCaml application that does a lot of string manipulations, genera= ting a lot of garbage. After running awhile, it seems not to make any progress. = The exact point where it hangs varies. The strings aren't very large, but there a lo= t of them. By increasing the size of the minor heap, the application runs much longer. And if I turn on Gc.verbose, I see output from the garbage collector just b= efore the app hangs. I mean, there's a print diagnostic in my code on one line, = I see the Gc output, and the print diagnostic on the next line of my code never a= ppears. The problem occurs whether I compile to byte-code or native (Linux x64) cod= e. At first, I thought the hanging problem was due to network code blocking. = But I rewrote that to be multithreaded -- no difference. I changed some other code to us= e Buffers instead of strings, and by generating less garbage, the code went farther. Are there known issues with the OCaml gc? I'm using OCaml 3.11 on Fedora 1= 2. -- Paul -- Paul Steckler National ICT Australia paul DOT steckler AT nicta.com.au The information in this e-mail may be confidential and subject to legal pro= fessional privilege and/or copyright. National ICT Australia Limited accept= s no liability for any damage caused by this email or its attachments.