Hi, I'm having another problem. I increased the MAX_THREADS variable to 10240 because I need to instrument a mutatee that creates around 10000 threads. After increasing the variable I could instrument the mutatee without problems, but I added more snippets and the process hung again, this time after creating 3999 threads. Now, it doesn't matter if I increase even more the constant, it still hangs.
Is there any other reason why the mutatee could hang or is there any other limit somewhere? Thanks, Gerard 2015-02-04 11:22 GMT+01:00 Gerard <[email protected]>: > Thanks! That was exactly the problem. I have increased the constant > MAX_THREADS > and now I don't have this problem anymore. Is there any reason why the > constant is set to 32 instead of a higher value? > > I also have tried to find how to dynamically change the > DYNINST_max_num_threads > value but I haven't found where is it implemented (version 8.2.1). And > about disabling tramp guards, I already had them disabled so it seems that > this workaround does not solve the problem. > > Gerard > > 2015-02-03 20:13 GMT+01:00 Barton Miller <[email protected]>: > >> 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 >>> [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 >> > >
_______________________________________________ Dyninst-api mailing list [email protected] https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
