[argobots-discuss] how to debug a stack overrun in Argobots
Carns, Philip H.
carns at mcs.anl.gov
Thu Feb 21 14:49:57 CST 2019
Just to follow up a little bit; I realized from looking at README.envvar just now that the default value of ABT_THREAD_STACKSIZE is 16K. That's almost certainly too low for us because we have ULTs that make calls into a variety of system libraries (including fairly big things like libfabric) that are beyond our control.
It seems likely that we will have to run with a larger stack size, but I would still like to have a better understanding of where the problem paths are, and how much head room we really need, if anyone has suggestions.
On 2019-02-21 15:31:53-05:00 Carns, Philip H. via discuss wrote:
There is a little bit of back story on https://github.com/pmodels/argobots/issues/93 , but make a long story short we have realized that we have some code that is overflowing the stack in Argobots. Many thanks to Shintaro for his help and insight or we may have never figured this out. We can work around the problem with `export ABT_THREAD_STACKSIZE=$((1024 * 1024))`. This not only fixes a Power8 test case for us, but also appears to solve a different frustrating, nonsensical segmentation fault that we've been chasing with a different code permutation on x86_64.
Any suggestions on how to track down what's triggering this in our code or get a better idea of how much stack we need? We are using a considerable number of libraries, many of which are not maintained by us, so I don't even know where to start looking yet. My usual go to tool for this would be asan in gcc or clang, but I don't think that will work correctly with Argobots, and maybe there is a better solution anyway.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the discuss