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 -- This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
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
participants (2)
-
Gabor Bunkoczi
-
Graeme.Winter@diamond.ac.uk