[cctbxbb] Exceptions squashed by easy_mp (revenge of)

[email protected] Graeme.Winter at diamond.ac.uk
Mon Apr 2 23:16:32 PDT 2018


Folks,

Following up on user reports again of errors within easy_mp - all that gets logged is “something went wrong” i.e. 

 Using multiprocessing with 10 parallel job(s)

Traceback (most recent call last):
  File "/home/user/bin/dials-installer/build/../modules/dials/command_line/integrate.py", line 613, in <module>
    halraiser(e)
  File "/home/user/bin/dials-installer/build/../modules/dials/command_line/integrate.py", line 611, in <module>
    script.run()
  File "/home/user/bin/dials-installer/build/../modules/dials/command_line/integrate.py", line 341, in run
    reflections = integrator.integrate()
  File "/home/user/bin/dials-installer/modules/dials/algorithms/integration/integrator.py", line 1214, in integrate
    self.reflections, _, time_info = processor.process()
  File "/home/user/bin/dials-installer/modules/dials/algorithms/integration/processor.py", line 271, in process
    preserve_exception_message = True)
  File "/home/user/bin/dials-installer/modules/dials/util/mp.py", line 171, in multi_node_parallel_map
    preserve_exception_message = preserve_exception_message)
  File "/home/user/bin/dials-installer/modules/dials/util/mp.py", line 53, in parallel_map
    preserve_exception_message = preserve_exception_message)
  File "/home/user/bin/dials-installer/modules/cctbx_project/libtbx/easy_mp.py", line 627, in parallel_map
    result = res()
  File "/home/user/bin/dials-installer/modules/cctbx_project/libtbx/scheduling/result.py", line 119, in __call__
    self.traceback( exception = self.exception() )
  File "/home/user/bin/dials-installer/modules/cctbx_project/libtbx/scheduling/stacktrace.py", line 115, in __call__
    self.raise_handler( exception = exception )
  File "/home/user/bin/dials-installer/modules/cctbx_project/libtbx/scheduling/mainthread.py", line 100, in poll
    value = target( *args, **kwargs )
  File "/home/user/bin/dials-installer/modules/dials/util/mp.py", line 91, in __call__
    preserve_exception_message = self.preserve_exception_message)
  File "/home/user/bin/dials-installer/modules/cctbx_project/libtbx/easy_mp.py", line 627, in parallel_map
    result = res()
  File "/home/user/bin/dials-installer/modules/cctbx_project/libtbx/scheduling/result.py", line 119, in __call__
    self.traceback( exception = self.exception() )
  File "/home/user/bin/dials-installer/modules/cctbx_project/libtbx/scheduling/stacktrace.py", line 86, in __call__
    raise exception
RuntimeError: Please report this error to dials-support at lists.sourceforge.net: exit code = -9

I forget why it was decided that keeping the proper stack trace was a bad thing, but could this be revisited? It would greatly help to see it in the output of the program (if as is the case here I do not have the user data)

My email-fu is not strong enough to dig out the previous conversation

Cheers Graeme
-- 
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



More information about the cctbxbb mailing list