Re: [DynInst_API:] Dyninst Issue with C++11 chrono


Date: Wed, 19 Apr 2017 10:11:02 +0800
From: ååè <zongyao.zhang@xxxxxxxxxxxxxx>
Subject: Re: [DynInst_API:] Dyninst Issue with C++11 chrono
Thanks Xiaozhu,
We have fixed this issue, it seems like there is a symbolic table index error.

Thanks.
Zongyao
 
 
------------------ Original ------------------
Date:  Wed, Apr 19, 2017 03:04 AM
To:  "ååè"<zongyao.zhang@xxxxxxxxxxxxxx>;
Cc:  "hollings"<hollings@xxxxxxxxxx>; "lab"<lab@xxxxxxxxxxx>; "dyninst-api"<dyninst-api@xxxxxxxxxxx>;
Subject:  Re: [DynInst_API:] Dyninst Issue with C++11 chrono
 
Hi Zongyao,

I am sorry for the late response. 

I downloaded your code but I was not able to reproduce your error. I compiled your mutator and mutatees, and the rewritten chrono mutatee executed normally without any segment fault. I am using a fresh clone of the master branch on Github. Which Dyninst version are you using?

I observed a different issue from your code. The counter value for counting how many times the interesting procedure got called seems wrong. I am still investigating it.

Thanks,

--Xiaozhu



On Fri, Apr 14, 2017 at 1:42 AM, ååè <zongyao.zhang@xxxxxxxxxxxxxx> wrote:
Hi Doctors & experts:
    I found an issue with Dyninst handling C++ 11 chrono library calls:
        If I use chrono system calls in my code, Dyninst cannot work, the error is "segment fault" when I run the application which is instrumented.
        If I remove chrono system calls and the header of chrono, the instrumented application runs ok.
       
    Here is the code and steps to reproduce this problem:
        1, Download the package to a Ubuntu system(14.04LTS)
        2, Open a terminal and set the environment for Dyninst:
            export DYNINST_ROOT=/xxx/xxx/dyninst (the path of installed dyninstï
            export export DYNINSTAPI_RT_LIB=/usr/local/lib/libdyninstAPI_RT.so
        3, go to the directory "build"
        4, execute commands:
                cmake ..
                make
        5, you can see two executables are generated: chrono and without_chrono; you can run these two executalbes without any issue.
        6, now start instrumention by Dyninst:
                ./binst without_chrono out_without_chrono         // "out_without_chrono" is generated.
                ./out_without_chrono     //no error occurs.
               
                ./binst chrono out_chrono    // "out_chrono" is generated.
                run ./out_chrono
                "Segment fault. core dumped".

If you have any idea or answer, please do let me know.

Thanks,
Zongyao

_______________________________________________
Dyninst-api mailing list
Dyninst-api@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api


[← Prev in Thread] Current Thread [Next in Thread→]