[cctbxbb] easy_mp stack traces

Gabor Bunkoczi gb360 at cam.ac.uk
Fri May 13 02:37:51 PDT 2016


Dear Graeme,

I have refactored the code, but the functionality is certainly 
available. The only thing you need to do is enabling it:

from libtbx.scheduling import stacktrace
stacktrace.enable()

This works by replacing sys.exithook and print a custom stacktrace if 
the exception is one raised by the scheduling package onto the terminal. 
I am assuming this is what you need in this case?

In fact, this could be enabled by default, but it is unclear to me at 
the moment how this would play with the exithook defined for Sorry 
exception (in libtbx.utils), but probably it should be OK.

Let me know if you need more help.

BW, Gabor

On 2016-05-12 15:49, Graeme.Winter at Diamond.ac.uk wrote:
> Dear Gabor,
> 
> some time back Markus added the capability to retain stack traces
> through easy_mp execution. These were reverted which now means that by
> default the stack traces are lost :(
> 
> I don't have a clear understanding what the exact design of the newly
> built scheduling/stacktrace system is, perhaps you could explain this
> since we’re in the dark here.
> 
> We are however pretty certain that the corner cases that lead to you
> modifying the code do not apply to us with DIALS or xia2.
> Could you please advise how we can now enable the stacktrace to be
> preserved globally, in all cases, and for all dials.*/xia2.* programs?
> 
> Just today this has come up twice, and is a support issue for us, see
> e.g. https://github.com/dials/dials/issues/139 where we are simply
> flying blind.
> 
> Thanks in advance and best wishes, Graeme & xia2 / DIALS team




More information about the cctbxbb mailing list