quit() does not work if beacon dies
if the beacon server dies while a session is running quit() is not working.
the procedure:
- start beacon
- start bliss session
- stop beacon
- hit enter twice in the session
- type
quit()
and see what happens
$ TANGO_HOST=localhost:20000 bliss -s test_session --no-tmux
__ __ __
|__) | | /__` /__`
|__) |__ | .__/ .__/
Welcome to BLISS version 1.3.0-114-g8bd2dc498 running on rix (in bliss_dec19 Conda environment)
Copyright (c) 2015-2020 Beamline Control Unit, ESRF
...
#Kill beacon here
...
TEST_SESSION [1]: !!! === ConnectionError: Connection closed by server. === !!! ( for more details type cmd 'last_error' )
#Press Enter twice
Unhandled exception in event loop:
File "/home/linus/miniconda3/envs/bliss_dec19/lib/python3.7/site-packages/prompt_toolkit/eventloop/posix.py", line 155, in _run_task
...
File "/home/linus/miniconda3/envs/bliss_dec19/lib/python3.7/site-packages/redis/connection.py", line 557, in connect
raise ConnectionError(self._error_message(e))
Exception Error 2 connecting to unix socket: /tmp/redis.sock. No such file or directory.
Press ENTER to continue...
TEST_SESSION [1]: quit()
Unhandled exception in event loop:
...
To me there are two independent problems here:
-
Handling of Unhandled exception in event loop
we saw that at different places e.g. the typing helper. I guess we have to go a bit deeper to see the real problem. Also, why is theERROR_REPORT.expert_mode = False
ignored here? -
Quit should just work also without beacon