[argobots-discuss] how to debug a stack overrun in Argobots

Lombardi, Johann johann.lombardi at intel.com
Thu Feb 21 16:30:16 CST 2019

Hi Phil,

I think we hit the same issue recently on the DAOS side and had to bump the stack size as well. Wangdi & Xuezhao should know more.
Maybe a regression in ABT?


From: "Carns, Philip H. via discuss" <discuss at lists.argobots.org>
Reply-To: "discuss at lists.argobots.org" <discuss at lists.argobots.org>
Date: Thursday, 21 February 2019 at 15:50
To: "discuss at lists.argobots.org" <discuss at lists.argobots.org>
Cc: "Carns, Philip H." <carns at mcs.anl.gov>
Subject: Re: [argobots-discuss] how to debug a stack overrun in Argobots

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:
Hi all,

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.

Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris, 
92196 Meudon Cedex, France
Registration Number:  302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.argobots.org/pipermail/discuss/attachments/20190221/8dc5e86c/attachment.html>

More information about the discuss mailing list