I am running an experiment that schedules a different experiment in the same pipeline with higher priority, so the original experiment pauses while the other one runs and then resumes. However, if after the original experiment is resumed any kernel function is called, it crashes with this error:
root:Terminating with exception (ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine)
Traceback (most recent call last):
File "C:\Users\ssr1\.conda\envs\artiq-677\lib\site-packages\artiq\master\worker_impl.py", line 300, in main
exp_inst.run()
File "D:\artiq\experiments\recover_ion.py", line 216, in run
self.core.reset()
File "C:\Users\ssr1\.conda\envs\artiq-677\lib\site-packages\artiq\language\core.py", line 54, in run_on_core
return getattr(self, arg).run(run_on_core, ((self,) + k_args), k_kwargs)
File "C:\Users\ssr1\.conda\envs\artiq-677\lib\site-packages\artiq\coredevice\core.py", line 135, in run
self.comm.load(kernel_library)
File "C:\Users\ssr1\.conda\envs\artiq-677\lib\site-packages\artiq\coredevice\comm_kernel.py", line 367, in load
self._write_bytes(kernel_library)
File "C:\Users\ssr1\.conda\envs\artiq-677\lib\site-packages\artiq\coredevice\comm_kernel.py", line 332, in _write_bytes
self._write(value)
File "C:\Users\ssr1\.conda\envs\artiq-677\lib\site-packages\artiq\coredevice\comm_kernel.py", line 295, in _write
self._flush()
File "C:\Users\ssr1\.conda\envs\artiq-677\lib\site-packages\artiq\coredevice\comm_kernel.py", line 298, in _flush
self.socket.sendall(self.write_buffer)
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine
If any other non-kernel function is called after the experiment is resumed, it works fine. What is the meaning of this error and is there a way to overcome it?