Re: [DynInst_API:] Hung process


Date: Tue, 03 Feb 2015 13:13:00 -0600
From: Barton Miller <bart@xxxxxxxxxxx>
Subject: Re: [DynInst_API:] Hung process
Disabling tramp guards certainly works if you really know that you're not recursing. That can be subtle and error prone, which is why tramp guards were invented. Proceed cautiously here.

--bart


On 2/3/2015 12:02 PM, Matthew LeGendre wrote:
Another possible fix may be to disable tramp guards. Tramp guards are used to prevent recursive instrumentation. For example, if you instrument malloc() with instrumentation that calls malloc(), then tramp guards will prevent you from going into infinite recursion.

If you already know that your instrumentation can't infinitely recurse,
then disabling tramp guards will give a big performance win and may work around this hang. To disable tramp guards, put a call to BPatch::setTrampRecursive(true) before you insert instrumentation.

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

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