[DynInst_API:] ppcle detach removes snippets


Date: Mon, 08 Jul 2019 11:54:30 -0400
From: Stan Cox <scox@xxxxxxxxxx>
Subject: [DynInst_API:] ppcle detach removes snippets
The release folks have a smoke test which essentially does:
 insertSnippet
 continueExecution
 detach
This works fine on x8664 and aarch64 but not on a ppcle box (kernel-4.1 8.0-112.el8 glibc-2.28-66.el8) On ppcle there is no instrumented call to incr; the call to detach removes the instrumented call. If you add a waitForStatusChange before detach (or simply just sleep) then ppcle hits the snippet call to incr just fine.

Here is the example run:

./mutatee -v 10 & LD_LIBRARY_PATH=/usr/lib64/dyninst DYNINSTAPI_RT_LIB=/usr/lib64/dyninst/libdyninstAPI_RT.so ./mutator $!
[1] 106821
FUNCTION EXECUTED. VALUE = 0
FUNCTION EXECUTED. VALUE = 0
MUTATION DONE. MUTATOR IS GOING...
FUNCTION EXECUTED. VALUE = 0
FUNCTION EXECUTED. VALUE = 0
FUNCTION EXECUTED. VALUE = 0
FUNCTION EXECUTED. VALUE = 0
FUNCTION EXECUTED. VALUE = 0
FUNCTION EXECUTED. VALUE = 0
FUNCTION EXECUTED. VALUE = 0
FUNCTION EXECUTED. VALUE = 0

And the example run with waitForStatusChange added. But that really should not be necessary as detach should not remove instrumentation, right?

FUNCTION EXECUTED. VALUE = 0
FUNCTION EXECUTED. VALUE = 1
FUNCTION EXECUTED. VALUE = 2
FUNCTION EXECUTED. VALUE = 3
FUNCTION EXECUTED. VALUE = 4
FUNCTION EXECUTED. VALUE = 5
FUNCTION EXECUTED. VALUE = 6
FUNCTION EXECUTED. VALUE = 7
FUNCTION EXECUTED. VALUE = 8
FUNCTION EXECUTED. VALUE = 9
MUTATION DONE. MUTATOR IS GOING...


Attachment: dynamic.tar
Description: Unix tar archive

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