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
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
_______________________________________________
Dyninst-api mailing list
[email protected]
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to