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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id BD0AA7EEF8 for ; Fri, 17 Jul 2015 21:13:14 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of wangshuai901@gmail.com) identity=pra; client-ip=209.85.216.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="wangshuai901@gmail.com"; x-sender="wangshuai901@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of wangshuai901@gmail.com designates 209.85.216.43 as permitted sender) identity=mailfrom; client-ip=209.85.216.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="wangshuai901@gmail.com"; x-sender="wangshuai901@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-vn0-f43.google.com) identity=helo; client-ip=209.85.216.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="wangshuai901@gmail.com"; x-sender="postmaster@mail-vn0-f43.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0DWAQDTUqlVmyvYVdFagkaBIWkGgx24FoIkhXsCgUIHTAEBAQEBARIBAQEBAQYLCwkhLoQjAQEBAwESER0BGxcGAQMBCwYDAgsDCioCAiEBAREBBQEcBhMih3YBAwoIDZ0Vjz+BLD4xiz+BbIJ5iyQKGScNV4RXAQEBAQYBAQEBAQEWAQUOiz6CTYFnAQFQB4JogUMFkViCbwWEb4JggmmBZ4FDRo9Tg0aCFxIjgRURBoIcHIFvIjEBAYELgT4BAQE X-IPAS-Result: A0DWAQDTUqlVmyvYVdFagkaBIWkGgx24FoIkhXsCgUIHTAEBAQEBARIBAQEBAQYLCwkhLoQjAQEBAwESER0BGxcGAQMBCwYDAgsDCioCAiEBAREBBQEcBhMih3YBAwoIDZ0Vjz+BLD4xiz+BbIJ5iyQKGScNV4RXAQEBAQYBAQEBAQEWAQUOiz6CTYFnAQFQB4JogUMFkViCbwWEb4JggmmBZ4FDRo9Tg0aCFxIjgRURBoIcHIFvIjEBAYELgT4BAQE X-IronPort-AV: E=Sophos;i="5.15,497,1432591200"; d="scan'208";a="170667308" Received: from mail-vn0-f43.google.com ([209.85.216.43]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 17 Jul 2015 21:13:13 +0200 Received: by vnaa140 with SMTP id a140so4346928vna.2 for ; Fri, 17 Jul 2015 12:13:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=80NzQfl5EGjm1Ibbecv2oxiTy0+4gIJ+Pcw1JS8Zr+M=; b=IE6AY+YSsNDQG3vZKlLunKyoB+392OwfxJL3SHP/Ydt1szs2ldRO+1eTB5kDSdwO3U HGHs8IYk3orBo6/xsIHWVxKEh1UUHP9FGioMGY+9i4YJH12WqEUDsur4ZsXZGaMfxyNa h/sQK1O03+/89SRWMJ9AiWMLTL/BGygZHaKYaIPVWtKXPx5fHw4yoUxuu10TEInVsRZz ZYtNs2zArmYKnPXhb/m7QWanoAYr8uov4TQojoTqy1U0/iq5CWxuiWUBpEVwYxiHHMqe OB4jmQKc/BtuHuezyAVM2Jy0XlJXLCDR1Ql1WnUMzS1ay0/InVVygJd8d78/CSXunbGE SdOw== MIME-Version: 1.0 X-Received: by 10.52.251.107 with SMTP id zj11mr2109150vdc.96.1437160392568; Fri, 17 Jul 2015 12:13:12 -0700 (PDT) Received: by 10.31.4.8 with HTTP; Fri, 17 Jul 2015 12:13:12 -0700 (PDT) In-Reply-To: References: Date: Fri, 17 Jul 2015 15:13:12 -0400 Message-ID: From: Shuai Wang To: Ivan Gotovchits Cc: caml-list Content-Type: multipart/alternative; boundary=001a1134d45eaf33a0051b16fad8 Subject: Re: [Caml-list] Cannot execute "main" function --001a1134d45eaf33a0051b16fad8 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =E2=98=81 src [master] =E2=9A=A1 ldd init.native linux-vdso.so.1 =3D> (0x00007fff55dfe000) libpthread.so.0 =3D> /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa4fc9c0000) libm.so.6 =3D> /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa4fc6c4000) libdl.so.2 =3D> /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa4fc4bf000) libc.so.6 =3D> /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa4fc101000) /lib64/ld-linux-x86-64.so.2 (0x00007fa4fcbfe000) On Fri, Jul 17, 2015 at 3:11 PM, Ivan Gotovchits wrote: > Can you show the output of `ldd` on your main executable, e.g., `ldd > init.native`? > > On Fri, Jul 17, 2015 at 3:07 PM, Shuai Wang > wrote: > >> Hello Ivan, >> >> Thank you for your reply! aha, it is not related to BAP ;) >> >> I didn't touch the code in init.ml for a long time, and I have tried to >> roll back >> to previous version which works fine. But it is still trapped in this >> way.. >> >> By looking at the ltrace output, IMHO, is there any chance that some >> setting up code of runtime system does not work well? I am probably wron= g. >> >> Sincerely, >> Shuai >> >> >> >> >> >> >> On Fri, Jul 17, 2015 at 2:51 PM, Ivan Gotovchits wrote: >> >>> In OCaml all module level expressions are evaluated in order of their >>> appearance. If you have some function >>> that you designate as a "main" function*, then before this function is >>> entered all modules on which module, >>> containing "main" function, depends. So you need to find, whether you >>> added some code, that evaluates before >>> your main. >>> >>> * there is no such function as main function in OCaml. All modules are >>> evaluated in the order of their occurrence >>> on the compilation string. Usually, the order is defined by a build >>> tool, like `ocamlbuild`, that will put the entry module >>> in the last place, and topologically sort the preceding modules. >>> >>> P.S. I hope that this is not related to BAP? ;) >>> >>> On Fri, Jul 17, 2015 at 2:35 PM, Shuai Wang >>> wrote: >>> >>>> Dear list, >>>> >>>> >>>> I am working on some tools written in OCaml (compiled by OCaml version >>>> 4.01.0). >>>> >>>> This morning I changed some code, compiled it and let it processing >>>> some large data (~ 4G), it never stops after over 2 hours. >>>> >>>> I feed the tool with a tiny input which took less than 1 second to >>>> process before, and I figured out that now it takes around 2.5 minutes >>>> before entering into "main" function! >>>> >>>> I tried to clean the whole codebase, and recompile it ( I use >>>> ocamlbuild 4.01.0), but the same wired situation still happens.. >>>> >>>> I did this: >>>> >>>> ltrace ./init.native input >>>> >>>> and I got this output flushing out for a very long time (sorry mail >>>> list blocks my large image.. ): >>>> >>>> http://i.stack.imgur.com/sEkKk.png >>>> >>>> >>>> >>>> Is anyone aware this kind of issue before..? Am I messed up >>>> something..? >>>> I have been working on OCaml for a relatively long time and I didn't >>>> encounter this kind of stuff before... >>>> >>>> >>>> Sincerely, >>>> Shuai >>>> >>> >>> >> > --001a1134d45eaf33a0051b16fad8 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
=E2=98=81 =C2=A0src [master] =E2=9A=A1 ldd init.nativ= e
linux-vdso.s= o.1 =3D> =C2=A0(0x00007fff55dfe000)
libpthread.so.0 =3D> /lib/x86_64-linux-gnu/libp= thread.so.0 (0x00007fa4fc9c0000)
libm.so.6 =3D> /lib/x86_64-linux-gnu/libm.so.6 (0x000= 07fa4fc6c4000)
libdl.so.2 =3D> /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa4fc4bf000)
libc.so.6 =3D&g= t; /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa4fc101000)
/lib64/ld-linux-x86-64.so.2 (0x00= 007fa4fcbfe000)

On Fri, Jul 17, 2015 at 3:11 PM, Ivan Gotovchits <ivg@ieee.org>= ; wrote:
Can you = show the output of `ldd` on your main executable, e.g., =C2=A0`ldd init.nat= ive`?

On Fri, Jul 17, 2015 at 3:07 PM, Shuai Wa= ng <wangshuai901@gmail.com> wrote:
Hello Ivan,

Thank you f= or your reply! aha, it is not related to BAP ;)=C2=A0

<= div>I didn't touch the code in init.ml for a long time, and I have tried to roll back
t= o previous version which works fine. But it is still trapped in this way..<= /div>

By looking at the ltrace output, IMHO, is there an= y chance that some=C2=A0
setting up code of runtime system does n= ot work well? I am probably wrong.

Sincerely,
Shuai






On Fri, Jul 17, 2015 at 2:51 PM, Ivan Gotovchits <ivg@ieee.org= > wrote:
I= n OCaml all module level expressions are evaluated in order of their appear= ance. If you have some function
that you designate as a "main"= ; function*, then before this function is entered all modules on which modu= le,=C2=A0
containing "main" function, depends. So you n= eed to find, whether you added some code, that evaluates before=C2=A0
=
your main.

* there is no such function as mai= n function in OCaml. All modules are evaluated in the order of their occurr= ence
on the compilation string. Usually, the order is defined by = a build tool, like `ocamlbuild`, that will put the entry module=C2=A0
=
in the last place, and topologically sort the preceding modules.
=

P.S. I hope that this is not related to BAP? ;)=C2=A0




--001a1134d45eaf33a0051b16fad8--