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, [email protected] 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