☁ src [master] ⚡ ldd init.native linux-vdso.so.1 => (0x00007fff55dfe000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa4fc9c0000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa4fc6c4000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa4fc4bf000) libc.so.6 => /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 wrong. >> >> 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 >>>> >>> >>> >> >