SSLError when trying to get client
Upon running
from dask_quantumtinkerer import Cluster
cluster = Cluster()
cluster.adapt(minimum=0, maximum=10)
client = cluster.get_client()
the last line raises a SSLError [SSL: SSLV3_ALERT_BAD_CERTIFICATE] sslv3 alert bad certificate (_ssl.c:2633)
.
I have tried restarting my io a few times but this error keeps coming up.
Full error message:
---------------------------------------------------------------------------
SSLError Traceback (most recent call last)
/opt/conda/lib/python3.9/site-packages/tornado/iostream.py in _handle_read(self)
777 try:
--> 778 pos = self._read_to_buffer_loop()
779 except UnsatisfiableReadError:
/opt/conda/lib/python3.9/site-packages/tornado/iostream.py in _read_to_buffer_loop(self)
754 # try to read it.
--> 755 if self._read_to_buffer() == 0:
756 break
/opt/conda/lib/python3.9/site-packages/tornado/iostream.py in _read_to_buffer(self)
866 buf = bytearray(self.read_chunk_size)
--> 867 bytes_read = self.read_from_fd(buf)
868 except (socket.error, IOError, OSError) as e:
/opt/conda/lib/python3.9/site-packages/tornado/iostream.py in read_from_fd(***failed resolving arguments***)
1591 try:
-> 1592 return self.socket.recv_into(buf, len(buf))
1593 except ssl.SSLError as e:
/opt/conda/lib/python3.9/ssl.py in recv_into(self, buffer, nbytes, flags)
1240 self.__class__)
-> 1241 return self.read(nbytes, buffer)
1242 else:
/opt/conda/lib/python3.9/ssl.py in read(self, len, buffer)
1098 if buffer is not None:
-> 1099 return self._sslobj.read(len, buffer)
1100 else:
SSLError: [SSL: SSLV3_ALERT_BAD_CERTIFICATE] sslv3 alert bad certificate (_ssl.c:2633)
The above exception was the direct cause of the following exception:
CommClosedError Traceback (most recent call last)
/opt/conda/lib/python3.9/site-packages/distributed/comm/core.py in connect(addr, timeout, deserialize, handshake_overrides, **connection_args)
318 # write, handshake = await asyncio.gather(comm.write(local_info), comm.read())
--> 319 handshake = await asyncio.wait_for(comm.read(), time_left())
320 await asyncio.wait_for(comm.write(local_info), time_left())
/opt/conda/lib/python3.9/asyncio/tasks.py in wait_for(fut, timeout, loop)
480 if fut.done():
--> 481 return fut.result()
482 else:
/opt/conda/lib/python3.9/site-packages/distributed/comm/tcp.py in read(self, deserializers)
220 if not sys.is_finalizing():
--> 221 convert_stream_closed_error(self, e)
222 except Exception:
/opt/conda/lib/python3.9/site-packages/distributed/comm/tcp.py in convert_stream_closed_error(obj, exc)
125 raise FatalCommClosedError(f"in {obj}: {exc.__class__.__name__}: {exc}")
--> 126 raise CommClosedError(f"in {obj}: {exc.__class__.__name__}: {exc}") from exc
127 else:
CommClosedError: in <TLS (closed) local=tls://127.0.0.1:40324 remote=gateway://localhost:8000/475e82e6406c4667840f80bd0b3ac6b6>: SSLError: [SSL: SSLV3_ALERT_BAD_CERTIFICATE] sslv3 alert bad certificate (_ssl.c:2633)
The above exception was the direct cause of the following exception:
OSError Traceback (most recent call last)
/tmp/ipykernel_267/3302126718.py in <module>
----> 1 client = cluster.get_client()
/opt/conda/lib/python3.9/site-packages/dask_gateway/client.py in get_client(self, set_as_default)
1076 client : dask.distributed.Client
1077 """
-> 1078 client = Client(
1079 self,
1080 security=self.security,
/opt/conda/lib/python3.9/site-packages/distributed/client.py in __init__(self, address, loop, timeout, set_as_default, scheduler_file, security, asynchronous, name, heartbeat_interval, serializers, deserializers, extensions, direct_to_workers, connection_limit, **kwargs)
766 ext(self)
767
--> 768 self.start(timeout=timeout)
769 Client._instances.add(self)
770
/opt/conda/lib/python3.9/site-packages/distributed/client.py in start(self, **kwargs)
909 self._started = asyncio.ensure_future(self._start(**kwargs))
910 else:
--> 911 sync(self.loop, self._start, **kwargs)
912
913 def __await__(self):
/opt/conda/lib/python3.9/site-packages/distributed/utils.py in sync(loop, func, callback_timeout, *args, **kwargs)
362 if error[0]:
363 typ, exc, tb = error[0]
--> 364 raise exc.with_traceback(tb)
365 else:
366 return result[0]
/opt/conda/lib/python3.9/site-packages/distributed/utils.py in f()
347 if callback_timeout is not None:
348 future = asyncio.wait_for(future, callback_timeout)
--> 349 result[0] = yield future
350 except Exception:
351 error[0] = sys.exc_info()
/opt/conda/lib/python3.9/site-packages/tornado/gen.py in run(self)
760
761 try:
--> 762 value = future.result()
763 except Exception:
764 exc_info = sys.exc_info()
/opt/conda/lib/python3.9/site-packages/distributed/client.py in _start(self, timeout, **kwargs)
1001
1002 try:
-> 1003 await self._ensure_connected(timeout=timeout)
1004 except (OSError, ImportError):
1005 await self._close()
/opt/conda/lib/python3.9/site-packages/distributed/client.py in _ensure_connected(self, timeout)
1061
1062 try:
-> 1063 comm = await connect(
1064 self.scheduler.address, timeout=timeout, **self.connection_args
1065 )
/opt/conda/lib/python3.9/site-packages/distributed/comm/core.py in connect(addr, timeout, deserialize, handshake_overrides, **connection_args)
322 with suppress(Exception):
323 await comm.close()
--> 324 raise OSError(
325 f"Timed out during handshake while connecting to {addr} after {timeout} s"
326 ) from exc
OSError: Timed out during handshake while connecting to gateway://localhost:8000/475e82e6406c4667840f80bd0b3ac6b6 after 30 s
Edited by Hélène Spring