Re: [DynInst_API:] Hung process


Date: Mon, 16 Feb 2015 17:35:03 +0100
From: Gerard <nouboh@xxxxxxxxx>
Subject: Re: [DynInst_API:] Hung process
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 <nouboh@xxxxxxxxx>:
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 <bart@xxxxxxxxxxx>:
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

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


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