Hello,
I have the following script which submits an experiment that blinks a Zotino LED. I want to run it through the dashboard.
from artiq.experiment import *
class Scheduler(EnvExperiment):
def build(self):
self.setattr_device("core")
self.setattr_device("scheduler")
def run(self):
expid={
"repo_rev": None,
"file": "TEST_zot_test.py",
"class_name": "zot_test",
"log_level": 30,
"arguments": None
}
self.scheduler.submit("main", expid)
This script worked several times. However, after several runs/30 minutes or so, it started crashing the ARTIQ dashboard whenever we try to open it from the dashboard explorer. If I remove the "run" function and only build the object, it still crashes the dashboard. We get the following error:
WARNING:dashboard:artiq.dashboard.experiments:Failed to create experiment dock for repo:Scheduler, attempting to reset arguments
Traceback (most recent call last):
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\artiq\dashboard\experiments.py", line 687, in open_experiment
dock = _ExperimentDock(self, expurl)
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\artiq\dashboard\experiments.py", line 270, in __init__
datetime.setDateTime(QtCore.QDateTime.fromMSecsSinceEpoch(
TypeError: arguments did not match any overloaded call:
fromMSecsSinceEpoch(int): argument 1 has unexpected type 'float'
fromMSecsSinceEpoch(int, Qt.TimeSpec, offsetSeconds: int = 0): argument 1 has unexpected type 'float'
fromMSecsSinceEpoch(int, QTimeZone): argument 1 has unexpected type 'float'
Traceback (most recent call last):
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\artiq\dashboard\experiments.py", line 687, in open_experiment
dock = _ExperimentDock(self, expurl)
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\artiq\dashboard\experiments.py", line 270, in __init__
datetime.setDateTime(QtCore.QDateTime.fromMSecsSinceEpoch(
TypeError: arguments did not match any overloaded call:
fromMSecsSinceEpoch(int): argument 1 has unexpected type 'float'
fromMSecsSinceEpoch(int, Qt.TimeSpec, offsetSeconds: int = 0): argument 1 has unexpected type 'float'
fromMSecsSinceEpoch(int, QTimeZone): argument 1 has unexpected type 'float'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\artiq\dashboard\explorer.py", line 288, in expname_action
action("repo:" + expname)
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\artiq\dashboard\experiments.py", line 693, in open_experiment
dock = _ExperimentDock(self, expurl)
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\artiq\dashboard\experiments.py", line 270, in __init__
datetime.setDateTime(QtCore.QDateTime.fromMSecsSinceEpoch(
TypeError: arguments did not match any overloaded call:
fromMSecsSinceEpoch(int): argument 1 has unexpected type 'float'
fromMSecsSinceEpoch(int, Qt.TimeSpec, offsetSeconds: int = 0): argument 1 has unexpected type 'float'
fromMSecsSinceEpoch(int, QTimeZone): argument 1 has unexpected type 'float'
ERROR:controller(core_moninj):sipyco.asyncio_tools:Client connection closed with error
Traceback (most recent call last):
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\asyncio\windows_events.py", line 485, in finish_recv
return ov.getresult()
OSError: [WinError 64] The specified network name is no longer available
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\sipyco\asyncio_tools.py", line 82, in _client_done
task.result()
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\artiq\frontend\aqctl_moninj_proxy.py", line 175, in _handle_connection_cr
await ProxyConnection(self.monitor_mux, reader, writer).handle()
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\artiq\frontend\aqctl_moninj_proxy.py", line 132, in handle
ty = await self.reader.read(1)
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\asyncio\streams.py", line 669, in read
await self._wait_for_data('read')
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\asyncio\streams.py", line 502, in _wait_for_data
await self._waiter
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\asyncio\proactor_events.py", line 282, in _loop_reading
length = fut.result()
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\asyncio\windows_events.py", line 817, in _poll
value = callback(transferred, key, ov)
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\asyncio\windows_events.py", line 489, in finish_recv
raise ConnectionResetError(*exc.args)
ConnectionResetError: [WinError 64] The specified network name is no longer available
ERROR:controller(core_moninj):sipyco.asyncio_tools:Client connection closed with error
Traceback (most recent call last):
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\asyncio\windows_events.py", line 485, in finish_recv
return ov.getresult()
OSError: [WinError 64] The specified network name is no longer available
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\sipyco\asyncio_tools.py", line 82, in _client_done
task.result()
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\artiq\frontend\aqctl_moninj_proxy.py", line 175, in _handle_connection_cr
await ProxyConnection(self.monitor_mux, reader, writer).handle()
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\site-packages\artiq\frontend\aqctl_moninj_proxy.py", line 132, in handle
ty = await self.reader.read(1)
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\asyncio\streams.py", line 669, in read
await self._wait_for_data('read')
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\asyncio\streams.py", line 502, in _wait_for_data
await self._waiter
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\asyncio\proactor_events.py", line 282, in _loop_reading
length = fut.result()
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\asyncio\windows_events.py", line 817, in _poll
value = callback(transferred, key, ov)
File "C:\Users\E9-ARTIQ\anaconda3\envs\artiq\lib\asyncio\windows_events.py", line 489, in finish_recv
raise ConnectionResetError(*exc.args)
ConnectionResetError: [WinError 64] The specified network name is no longer available
No other experiment crashes the dashboard.
I fixed this problem once by simply retyping a new file that is apparently identical. But then this new file starting having the same problem.
UPDATE: Another script, which does not use the scheduler, started doing this. No edits were made to the script, it just spontaneously started crashing the dashboard.
We tried restarting our computer and power cycling the ARTIQ boxes, but we are still having this problem. Would appreciate any advice!