1
0
forked from M-Labs/artiq
Commit Graph

8337 Commits

Author SHA1 Message Date
b895846322 Improve exception reports when exception can't be reconstructed
Artiq assumes that all exceptions raised by the kernel can be constructed with
a single string argument. This isn't always the case. Especially for
exceptions that originated in python and were propagated to the kernel over
rpc.

With out this change a mosek solver failure looks like:
```
ERROR    root:logging_tools.py:41 Terminating with exception (TypeError: __init__() missing 1 required positional argument: 'msg')
Traceback (most recent call last):
  File "/home/mb/.cache/pypoetry/virtualenvs/ion-transport-1-b41LI0-py3.8/lib/python3.8/site-packages/artiq/master/worker_impl.py", line 540, in main
    exp_inst.run()
  File "/home/mb/.cache/pypoetry/virtualenvs/ion-transport-1-b41LI0-py3.8/lib/python3.8/site-packages/artiq/test_tools/experiment.py", line 82, in wrapper
    meth()
  File "/home/mb/.cache/pypoetry/virtualenvs/ion-transport-1-b41LI0-py3.8/lib/python3.8/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 "/home/mb/.cache/pypoetry/virtualenvs/ion-transport-1-b41LI0-py3.8/lib/python3.8/site-packages/artiq/coredevice/core.py", line 152, in run
    self.comm.serve(embedding_map, symbolizer, demangler)
  File "/home/mb/.cache/pypoetry/virtualenvs/ion-transport-1-b41LI0-py3.8/lib/python3.8/site-packages/artiq/coredevice/comm_kernel.py", line 720, in serve
    self._serve_exception(embedding_map, symbolizer, demangler)
  File "/home/mb/.cache/pypoetry/virtualenvs/ion-transport-1-b41LI0-py3.8/lib/python3.8/site-packages/artiq/coredevice/comm_kernel.py", line 699, in _serve_exception
    python_exn = python_exn_type(
TypeError: __init__() missing 1 required positional argument: 'msg'
```

With this change we get:
```
ERROR    root:logging_tools.py:41 Terminating with exception (RuntimeError: Exception type=<class 'mosek.Error'>, which couldn't be reconstructed (__init__() missing 1 required positional argument: 'msg'))
Core Device Traceback:
Traceback (most recent call first):
  File "/home/mb/oxionics/ion-transport/tests/test_end_to_end.py", line 280, in get_transport
    return self.seq.solve()
  File "/home/mb/oxionics/ion-transport/tests/test_end_to_end.py", line 288, in artiq_worker_test_end_to_end.TransportTestScan.run(..., ...) (RA=+0x2e4)
    self.seq.record(self.get_transport(1e-6 + 1e-7 * x))
mosek.Error(27): rescode.err_license_expired(1001): The license has expired.

End of Core Device Traceback
Traceback (most recent call last):
  File "/home/mb/oxionics/artiq/artiq/master/worker_impl.py", line 540, in main
    exp_inst.run()
  File "/home/mb/oxionics/artiq/artiq/test_tools/experiment.py", line 82, in wrapper
    meth()
  File "/home/mb/oxionics/artiq/artiq/language/core.py", line 54, in run_on_core
    return getattr(self, arg).run(run_on_core, ((self,) + k_args), k_kwargs)
  File "/home/mb/oxionics/artiq/artiq/coredevice/core.py", line 152, in run
    self.comm.serve(embedding_map, symbolizer, demangler)
  File "/home/mb/oxionics/artiq/artiq/coredevice/comm_kernel.py", line 732, in serve
    self._serve_exception(embedding_map, symbolizer, demangler)
  File "/home/mb/oxionics/artiq/artiq/coredevice/comm_kernel.py", line 714, in _serve_exception
    raise python_exn
RuntimeError: Exception type=<class 'mosek.Error'>, which couldn't be reconstructed (__init__() missing 1 required positional argument: 'msg')
```

Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-09-26 20:25:13 +08:00
a1a4545ed4 docs: fix syntax 2022-09-23 16:22:21 +02:00
a0053f7a2b add release note 2022-09-23 15:57:43 +02:00
740f3d220b refine/fixes 2022-09-23 13:39:49 +00:00
513f9f00f3 miqro: document coredevice driver 2022-09-23 12:59:21 +00:00
5cfa8d9a42 add tester support, refactor gateware mode 2022-09-23 11:54:40 +00:00
0e4a87826c return pulse support 2022-09-20 14:35:06 +00:00
1709cf9717 afws_client: update 2022-09-19 16:58:41 +08:00
4266beeb9c experimental-features: rename patches to be compatible with AFWS server sanitize() 2022-09-19 16:57:53 +08:00
c955ac15ed dashboard moninj: add tooltip for off button 2022-09-19 10:19:54 +08:00
81ef484864 dashboard moninj: check if ad9910 was init 2022-09-19 10:19:54 +08:00
f2c3f95040 moninj: fix ad9914 behavior, comment cleanup 2022-09-19 10:19:54 +08:00
616ed3dcc2 moninj: dds inj: extract shared code
detect urukul already init in more than one way
detect ad9912 channel already init
2022-09-19 10:19:54 +08:00
aedcf205c7 miqro: docs 2022-09-16 12:15:13 +00:00
14ab1d4bbc miqro format change: encode len, not end 2022-09-15 11:02:59 +00:00
a028b5c9f7 afws_client: update 2022-09-15 09:15:38 +08:00
6085fe3319 experimental-features: add SU Servo coherent phase tracking mode (PR #1467) 2022-09-13 09:37:26 +08:00
af28bf3550 simplify dt reset 2022-09-08 08:39:48 +02:00
4df880faf6 clean up docs 2022-09-08 08:38:26 +02:00
857fb4ecec spelling 2022-09-06 20:44:47 +00:00
a91836e5fe easier fix for dt 2022-09-06 20:26:50 +00:00
c5c5c30617 add set_window(), clean up api 2022-09-06 16:05:10 +00:00
27e3c044ed fix dt computation 2022-09-06 14:32:57 +00:00
c26fa5eb90 err out on tune_fifo_offset 2022-09-05 20:48:15 +00:00
411afbdc23 experimental-features: add SU Servo extension for variable number of Urukuls (PR #1782) 2022-09-05 11:53:09 +08:00
b4287ac9f4 flake: add experimental feature support 2022-09-05 11:48:43 +08:00
1cc57e2345 fix len 2022-09-04 21:00:24 +00:00
263c2751b3 add profile_mu 2022-09-04 20:43:28 +00:00
876f26ee30 add some docs 2022-09-04 19:56:52 +00:00
fa3678f8a3 mem auto increment 2022-09-04 12:03:44 +00:00
f4d325112c reset and elaborate, si functions 2022-09-04 11:19:38 +00:00
b6586cd7e4 add window data delay 2022-09-02 20:45:13 +00:00
3809ac5470 fix type, clean clear 2022-09-02 19:47:06 +00:00
b9727fdfce refactor for 32 bit mem access 2022-09-02 16:38:53 +00:00
d6d0c2c866 miqro: name register constants 2022-09-02 15:55:28 +00:00
0df2cadcd3 fixes 2022-09-02 15:29:36 +00:00
25c0dc4688 whitespace 2022-09-02 14:54:18 +00:00
cf48232a90 fixes 2022-09-02 14:38:38 +00:00
a20087848d differentiate phaser modes 2022-09-02 11:03:23 +00:00
31663556b8 phaser: add miqro mode 2022-09-02 09:32:06 +00:00
47f90a58cc add miqro phy 2022-09-02 09:32:06 +00:00
Mikołaj Sowiński
3c7ab498d1 Added DDS selection for Kasli tester variant
Signed-off-by: Mikołaj Sowiński <msowinski@technosystem.com.pl>
2022-09-02 17:14:23 +08:00
Deepskyhunter
7c306d5609
GUI log: Apply level and text filter to existing log messages (#1950) 2022-08-29 15:20:44 +08:00
b705862ecd afws_client: fix argument order 2022-08-25 13:17:41 +08:00
fanmingyu212
20cb99061e doc: updates artiq_flash syntax in developing.rst 2022-08-25 07:03:26 +08:00
5ef94d30dd versioneer: fix default 2022-08-18 14:35:58 +08:00
kk1050
3c72b8d646
dashboard: use break_realtime instead of reset for Urukul set freq (#1940) 2022-08-16 14:02:01 +08:00
27397625ba dashboard: improve moninj logging 2022-08-12 13:41:05 +08:00
3535d0f1ae
kasli: relocate the SatelliteBase Error LED code (#1955) 2022-08-12 12:41:50 +08:00
cc78078
185c91f522
kasli: add Error LED to MasterBase and SatelliteBase 2022-08-11 15:06:58 +08:00