On 02/03/2015 07:22 AM, Gerard wrote: > Hello, > > I'm experiencing a strange issue while instrumenting a multithreaded > application. In essence this application sends data to other processes > through TCP/IP connections using multiple threads (one per connection). > The problem is that after 39~41 successful connections (always the > same), the whole process hangs and I don't know why this happens or how > to make it to continue. > > Without Dyninst instrumentation the process works correctly so I don't > know if it is a problem with how I'm using Dyninst or a problem that > appears due to using it. If I remove the use of threads the application > never hangs and all the data is sent correctly so I guess it is related. > > Any tips why this could happen?
There is a compiled constant MAX_THREADS, just 32. If anything, I'm surprised that you got up around 40 before seeing issues. :) In dyninstAPI_RT, it's used for DYNINST_max_num_threads, and it looks like there's code to initialize larger counts dynamically, but I don't see anywhere that actually tries to set it higher. It would have to be done as part of process init though. _______________________________________________ Dyninst-api mailing list [email protected] https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
