Dear Xiaozhu,

Thanks to your advice I have managed to know in what lines the problems
stems from and, as you pointed out, the error comes from these two lines:

bool result = SymtabAPI::Symtab::openFile(symt_obj, fileName);
> if( !result ) return false;


Apparently, the var *result* becomes 0 after the *openFile* function fails.
The value that *symt_obj* has is *0 *(after the call ends) and the *fileName
*is just the name of my app. Maybe I am missing something...

In addition, I have tried to install the PR that you sent me but I am
getting another error while executing the cmake: it cannot find *ddb.db*,
*params.db* nor *unistd.db *from *unstrip_src*. I am attaching the whole
configure log to this email in the event you wanted to see it.

Thank you !





Alberto Olmo.


2018-04-26 19:17 GMT+02:00 Xiaozhu Meng <[email protected]>:

> In setenvPreload, before any of the returning false, there is a startup_printf
> call, which will print some error message when setting
> DYNINST_DEBUG_STARTUP=1. So, you can add startup_printf before that return,
> run it again, and see if the corresponding message showed up.
>
> For the example issue, you can try this PR (https://github.com/dyninst/
> dyninst/pull/457), which should fix the problem.
>
> Let me know what you find.
>
> On Thu, Apr 26, 2018 at 11:18 AM, Alberto Olmo <[email protected]>
> wrote:
>
>> Hi Xiaozhu,
>>
>> Sorry, could you please tell me how I can see if that is the line of code
>> that is failing? I believe that should be the one because the error message
>> I am getting apparently comes from the *setenvPreload *function, but I
>> am not 100% sure,
>>
>> At first, I tried to install the current master branch but I got an error
>> with the *CodeCoverage *example where it said that couldn't find it so,
>> I decided to use your tagged versions instead and that problem did not
>> appear to me again,
>>
>> Thanks
>>
>> Alberto Olmo.
>>
>>
>> 2018-04-26 15:29 GMT+02:00 Xiaozhu Meng <[email protected]>:
>>
>>> Hi Alberto,
>>>
>>> I think your errors are caused by function PCProcess::setEnvPreload (in
>>> dyninstAPI/src/unix.C) returning false. In this function, there are
>>> error loggings for returning false, except for one location (Line 334:
>>> bool result = SymtabAPI::Symtab::openFile(symt_obj, fileName); and Line
>>> 335: if( !result ) return false;)
>>>
>>> Can you confirm that it is this line of code causing the error (the line
>>> number may differ because I looked at the current master branch)?
>>>
>>> Another thing to try is to install the current master branch and see if
>>> the same error happens.
>>>
>>> Thanks,
>>>
>>> --Xiaozhu
>>>
>>> On Thu, Apr 26, 2018 at 4:42 AM, Alberto Olmo <[email protected]>
>>> wrote:
>>>
>>>> Hi Xiaozhu,
>>>>
>>>> I have double checked and both libraries that you pointed out were of
>>>> the same version. I have tried to run the program with one or the other and
>>>> none of them are found by Dyninst (the same error persists). Also, maybe
>>>> it's very obvious but, I have noticed if I delete *DYNINST_API_RT_LIB*
>>>> and/or *DYNINSTAPI_RT_LIB* environment variables, the error does not
>>>> change either.
>>>>
>>>> Finally, I have also installed Dyninst 9.3.0 in a Lubuntu v17.10 32 bit
>>>> VM and my application seems to work (I haven't been able to make
>>>> v9.3.2 work with the Counter Mutator example in Lubuntu) however, I would
>>>> like to make it work on the CentOS 7.
>>>>
>>>> All of that makes me think that maybe the problem stems from the
>>>> dependencies or something that I am not doing well, but I am definitely not
>>>> sure as I could install Dyninst in both machines without any errors.
>>>>
>>>> What would you recommend me that I try next?
>>>>
>>>> Thanks again for your help,
>>>>
>>>>
>>>> Alberto Olmo.
>>>>
>>>>
>>>> 2018-04-25 17:27 GMT+02:00 Xiaozhu Meng <[email protected]>:
>>>>
>>>>> Hi Alberto,
>>>>>
>>>>> From your log for the successful run, it seems like you have multiple
>>>>> instances of Dyninst installed: one in 
>>>>> /home/aolmo/soft/dyninst-9.3.2/install/lib/
>>>>> and the other one in /usr/local/lib/. Do you know whether these two
>>>>> instances of Dyninst are the same version? I would recommend that you
>>>>> ensure that you compile your application and run your application with the
>>>>> exact same installation of Dyninst.
>>>>>
>>>>> I am not sure whether this is the cause, but it is indeed strange that
>>>>> one application can find DyninstRT, but the other one cannot find it.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> --Xiaozhu
>>>>>
>>>>> On Wed, Apr 25, 2018 at 2:02 AM, Alberto Olmo <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hello Xiaozhu,
>>>>>>
>>>>>> I have doble checked and I don't get much more debug information than
>>>>>> the one I sent you in the last email. All I can see is this:
>>>>>>
>>>>>> Enabling DyninstAPI startup debug
>>>>>>> Enabling DyninstAPI startup debug
>>>>>>> Failed to set environment var to preload RT library
>>>>>>> --FATAL-- #68: Dyninst was unable to create the specified process
>>>>>>> --FATAL-- #68: create process failed bootstrap
>>>>>>> DynInst Exception: Process creation failed, Object name: my_app
>>>>>>> Creating process my_app in directory ./
>>>>>>> [140571584620416]dynProcess.C[85]: stdin: 0, stdout: 1, stderr: 2
>>>>>>> Failed to set environment var to preload RT library
>>>>>>> --FATAL-- #68: Dyninst was unable to create the specified process
>>>>>>> --FATAL-- #68: create process failed bootstrap
>>>>>>> DynInst Exception: Process creation failed, Object name: my_app
>>>>>>
>>>>>>
>>>>>> I have also attached to this email the same log (log.txt) in the
>>>>>> event you wanted to see it in a file as well as the logs from a 
>>>>>> successful
>>>>>> Dyninst execution with a synthetic app, that only counts the number of
>>>>>> times a function is called (mutator-counter-log.txt).
>>>>>>
>>>>>> What do you think it may be happening?
>>>>>>
>>>>>> Thank you very much for your help,
>>>>>>
>>>>>>
>>>>>> Alberto Olmo.
>>>>>>
>>>>>>
>>>>>> 2018-04-24 17:19 GMT+02:00 Alberto Olmo <[email protected]>:
>>>>>>
>>>>>>> Hi Xiaozhu,
>>>>>>>
>>>>>>> I currently don't have access to the machine where I have Dyninst
>>>>>>> installed. I will send the debugging log tomorrow if you don't mind,
>>>>>>> I am using a 64 bit CentOS 7,
>>>>>>>
>>>>>>> Thanks for your rapid response,
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Alberto Olmo.
>>>>>>>
>>>>>>>
>>>>>>> 2018-04-24 16:49 GMT+02:00 Xiaozhu Meng <[email protected]>:
>>>>>>>
>>>>>>>> Hi Alberto,
>>>>>>>>
>>>>>>>> What's your platform (windows or linux; 32bit or 64bit)? Could you
>>>>>>>> send me the debugging log from DYNINST_DEBUG_STARTUP=1?
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> --Xiaozhu
>>>>>>>>
>>>>>>>> On Tue, Apr 24, 2018 at 4:49 AM, Alberto Olmo <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> To whom it may concern,
>>>>>>>>>
>>>>>>>>> My name is Alberto, a student at the Universitat Autonoma de
>>>>>>>>> Barcelona, and I am currently trying to install the Dyninst API in 
>>>>>>>>> order to
>>>>>>>>> use it in another application. I have been able to install version 
>>>>>>>>> 9.3.2
>>>>>>>>> and its dependencies and test it with a small program which counts the
>>>>>>>>> number of times a function is called. It works correctly.
>>>>>>>>>
>>>>>>>>> However, now I am trying to use it in another application which (I
>>>>>>>>> think) needs to call BPatch::processCreate and I get the following 
>>>>>>>>> errors:
>>>>>>>>>
>>>>>>>>> Failed to set environment var to preload RT library
>>>>>>>>>> --FATAL-- #68: Dyninst was unable to create the specified process
>>>>>>>>>> --FATAL-- #68: create process failed bootstrap
>>>>>>>>>
>>>>>>>>> DynInst Exception: Process creation failed, Object name: my_app
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I do have exported variables *DYNINSTAPI_RT_LIB* and
>>>>>>>>> *DYNINST_API_RT_LIB* to point to *libdyninstAPI_RT.so* (I think
>>>>>>>>> depending on the Dyninst version one or the other is needed) as well 
>>>>>>>>> as set
>>>>>>>>> the flag *DYNINST_DEBUG_STARTUP=1* to get more information about
>>>>>>>>> the problem.
>>>>>>>>>
>>>>>>>>> I have also tried with older versions but the error I get is
>>>>>>>>> exactly the same,
>>>>>>>>>
>>>>>>>>> What would you recommend me that I try?
>>>>>>>>>
>>>>>>>>> I would really appreciate any help you could provide me,
>>>>>>>>> Thank you very much in advance and sorry for the inconveniences,
>>>>>>>>>
>>>>>>>>> Alberto Olmo.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Dyninst-api mailing list
>>>>>>>>> [email protected]
>>>>>>>>> https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-- -- Input platform: 
-- -- Attempting to automatically identify platform: x86_64-unknown-linux2.4
-- Found libiberty: /usr/lib64/libiberty.a
-- Using libiberty /usr/lib64/libiberty.a
-- Disabling Boost's own CMake--known buggy in many cases
-- Boost version: 1.62.0
-- Found the following Boost libraries:
--   thread
--   system
--   date_time
--   chrono
--   atomic
-- Boost includes: /home/aolmo/soft/boost_1_62_0
-- Boost library dirs: /home/aolmo/soft/boost_1_62_0/stage/lib
-- Boost thread library: 
/home/aolmo/soft/boost_1_62_0/stage/lib/libboost_thread.so
-- Boost libraries: 
/home/aolmo/soft/boost_1_62_0/stage/lib/libboost_thread.so;/home/aolmo/soft/boost_1_62_0/stage/lib/libboost_system.so;/home/aolmo/soft/boost_1_62_0/stage/lib/libboost_date_time.so;/home/aolmo/soft/boost_1_62_0/stage/lib/libboost_chrono.so;/home/aolmo/soft/boost_1_62_0/stage/lib/libboost_atomic.so
-- C++11 support found, required flags are: -std=c++11
-- Enabling ThreadDB support
-- Set arch and platform based definitions
-- Found g++, enabling -fvisibility=hidden
-- Options set
-- Set optimization flags
-- cotire 1.7.8 loaded.
-- Building common...
-- Processing dependent target /usr/lib64/libiberty.a...
-- Building dynElf...
-- Processing dependent target /usr/local/lib/libelf.so.1...
-- Building dynDwarf...
-- Processing dependent target dynElf...
-- Found dependency location /home/aolmo/soft/dyninst-master/elf
-- Processing dependent target common...
-- Found dependency location /home/aolmo/soft/dyninst-master/common
-- Processing dependent target /usr/local/lib64/libdw.so...
-- Processing dependent target /usr/local/lib/libelf.so.1...
-- Building symLite...
-- Processing dependent target common...
-- Found dependency location /home/aolmo/soft/dyninst-master/common
-- Processing dependent target dynElf...
-- Found dependency location /home/aolmo/soft/dyninst-master/elf
-- Building instructionAPI...
-- Processing dependent target common...
-- Found dependency location /home/aolmo/soft/dyninst-master/common
-- Building symtabAPI...
-- Processing dependent target common...
-- Found dependency location /home/aolmo/soft/dyninst-master/common
-- Processing dependent target dynElf...
-- Found dependency location /home/aolmo/soft/dyninst-master/elf
-- Processing dependent target /usr/local/lib/libelf.so.1...
-- Processing dependent target dynDwarf...
-- Found dependency location /home/aolmo/soft/dyninst-master/dwarf
-- Processing dependent target /usr/local/lib64/libdw.so...
-- Building parseAPI...
-- Processing dependent target common...
-- Found dependency location /home/aolmo/soft/dyninst-master/common
-- Processing dependent target instructionAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/instructionAPI
-- Processing dependent target symtabAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/symtabAPI
-- Building pcontrol...
-- Processing dependent target common...
-- Found dependency location /home/aolmo/soft/dyninst-master/common
-- Processing dependent target symtabAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/symtabAPI
-- Building stackwalk...
-- Processing dependent target common...
-- Found dependency location /home/aolmo/soft/dyninst-master/common
-- Processing dependent target instructionAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/instructionAPI
-- Processing dependent target pcontrol...
-- Found dependency location /home/aolmo/soft/dyninst-master/proccontrol
-- Processing dependent target dynDwarf...
-- Found dependency location /home/aolmo/soft/dyninst-master/dwarf
-- Processing dependent target dynElf...
-- Found dependency location /home/aolmo/soft/dyninst-master/elf
-- Processing dependent target symtabAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/symtabAPI
-- Processing dependent target parseAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/parseAPI
-- Building patchAPI...
-- Processing dependent target common...
-- Found dependency location /home/aolmo/soft/dyninst-master/common
-- Processing dependent target instructionAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/instructionAPI
-- Processing dependent target parseAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/parseAPI
CMake Error at examples/CMakeLists.txt:12 (file):
  file COPY cannot find
  "/home/aolmo/soft/dyninst-master/examples/unstrip_src/ddb.db".


CMake Error at examples/CMakeLists.txt:13 (file):
  file COPY cannot find
  "/home/aolmo/soft/dyninst-master/examples/unstrip_src/params.db".


CMake Error at examples/CMakeLists.txt:14 (file):
  file COPY cannot find
  "/home/aolmo/soft/dyninst-master/examples/unstrip_src/unistd.db".


-- Building dyninstAPI...
-- Processing dependent target common...
-- Found dependency location /home/aolmo/soft/dyninst-master/common
-- Processing dependent target instructionAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/instructionAPI
-- Processing dependent target stackwalk...
-- Found dependency location /home/aolmo/soft/dyninst-master/stackwalk
-- Processing dependent target pcontrol...
-- Found dependency location /home/aolmo/soft/dyninst-master/proccontrol
-- Processing dependent target patchAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/patchAPI
-- Processing dependent target parseAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/parseAPI
-- Processing dependent target symtabAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/symtabAPI
-- Building dynC_API...
-- Processing dependent target dyninstAPI...
-- Found dependency location /home/aolmo/soft/dyninst-master/dyninstAPI
-- Configuring DyninstAPI_RT
-- Configuring RT library
-- The C compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- -- Input platform: x86_64-unknown-linux2.4
-- Set arch and platform based definitions
-- Options set
-- Set optimization flags
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- dyninstAPI RT library SOVERSION: 9.3
-- dyninstAPI RT library LIBVERSION: 9.3.2
-- Checking for 32-bit runtime library...
-- Performing Test CHECK_RT_LIB_32
-- Performing Test CHECK_RT_LIB_32 - Failed
-- Disabling 32-bit runtime library; change BUILD_RTLIB_32 to ON and install 
32-bit build environment to enable
-- Configuring done
-- Generating done
-- Build files have been written to: 
/home/aolmo/soft/dyninst-master/dyninstAPI_RT
-- Could NOT find LATEX (missing: LATEX_COMPILER) 
-- LaTeX not found
-- Adding Unix-specific dependencies
-- Added libdwarf_imp and libelf_imp dependencies
-- Configuring incomplete, errors occurred!
See also "/home/aolmo/soft/dyninst-master/CMakeFiles/CMakeOutput.log".
See also "/home/aolmo/soft/dyninst-master/CMakeFiles/CMakeError.log".
_______________________________________________
Dyninst-api mailing list
[email protected]
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to