[CMake] ctest timeout: getting backtraces

Leif Walsh leif.walsh at gmail.com
Wed Jun 27 14:54:48 EDT 2012


Thanks.

Who knows about kwsys? I only need this on a couple of platforms and don't mind doing it once for each. 

Sent from my iPhone

On Jun 27, 2012, at 14:09, David Cole <david.cole at kitware.com> wrote:

> ctest uses the kwsys utilities to launch and monitor sub-processes.
> 
> Theoretically, it goes like this, with variations in implementation
> from platform to platform:
> 
> After a call to a kwsysProcessCreate function (which spawns a process
> asynchronously and returns control to ctest), we loop while calling
> either a WaitForData or WaitForExit function, collecting stdout and
> std err from the sub-process. Those wait functions may simply return a
> value to us that says "hey, the timeout has expired" and ctest does
> not even have to kill anything at that point.
> 
> We hand the timeout value to the ProcessCreate function, so the system
> can kill it for us if it knows how to do that.
> 
> If not, we also have a kwsysProcessKill function that we can call if necessary.
> 
> So ... you can't use a sig trap reliably unless you know the
> implementation details of the whole system under the hood and you know
> for a fact that it's going to work on a given system.
> 
> 
> HTH,
> David
> 
> 
> On Tue, Jun 26, 2012 at 11:25 PM, Leif Walsh <leif.walsh at gmail.com> wrote:
>> I'd like to be able to get a backtrace when a test times out with ctest, so I can analyze where the test was stuck, if at all.
>> 
>> I tried writing a fake test to tell me what signal ctest was using to kill a timing out test, but it couldn't.  I imagine this is because it uses SIGKILL and I can't trap that.
>> 
>> Is this the case?  Is there a way to change what ctest uses (perhaps SIGALRM, SIGPROF, or SIGUSR1/SIGUSR2) so I can have my tests trap that, dump a backtrace, and then abort?  If not, could I request this feature?
>> 
>> --
>> Cheers,
>> Leif
>> 
>> --
>> 
>> Powered by www.kitware.com
>> 
>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>> 
>> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>> 
>> Follow this link to subscribe/unsubscribe:
>> http://www.cmake.org/mailman/listinfo/cmake


More information about the CMake mailing list