Getting "socket.gaierror: [Errno 8] nodename nor servname provided, or not known"
Opened this issue · 0 comments
dimitree2k commented
After running poetry run uvicorn src.app.main:app --reload, I'm getting this:
❯ poetry run uvicorn src.app.main:app --reload
INFO: Will watch for changes in these directories: ['/Users/dm/Projects/SQLModel-01']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [99988] using StatReload
INFO: Started server process [117]
INFO: Waiting for application startup.
ERROR: Traceback (most recent call last):
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/starlette/routing.py", line 734, in lifespan
async with self.lifespan_context(app) as maybe_state:
File "/Users/dm/.pyenv/versions/3.11.10/lib/python3.11/contextlib.py", line 210, in __aenter__
return await anext(self.gen)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/src/app/core/setup.py", line 92, in lifespan
await create_tables()
File "/Users/dm/Projects/SQLModel-01/src/app/core/setup.py", line 34, in create_tables
async with engine.begin() as conn:
File "/Users/dm/.pyenv/versions/3.11.10/lib/python3.11/contextlib.py", line 210, in __aenter__
return await anext(self.gen)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/engine.py", line 1063, in begin
async with conn:
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/base.py", line 121, in __aenter__
return await self.start(is_ctxmanager=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/engine.py", line 273, in start
await greenlet_spawn(self.sync_engine.connect)
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 201, in greenlet_spawn
result = context.throw(*sys.exc_info())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 3278, in connect
return self._connection_cls(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 146, in __init__
self._dbapi_connection = engine.raw_connection()
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 3302, in raw_connection
return self.pool.connect()
^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 449, in connect
return _ConnectionFairy._checkout(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 1263, in _checkout
fairy = _ConnectionRecord.checkout(pool)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 712, in checkout
rec = pool._do_get()
^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get
with util.safe_reraise():
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get
return self._create_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection
return _ConnectionRecord(self)
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 674, in __init__
self.__connect()
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 900, in __connect
with util.safe_reraise():
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 896, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/engine/create.py", line 643, in connect
return dialect.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 621, in connect
return self.loaded_dbapi.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/asyncpg.py", line 949, in connect
await_only(creator_fn(*arg, **kw)),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only
return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn
value = await result
^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/asyncpg/connection.py", line 2329, in connect
return await connect_utils._connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/asyncpg/connect_utils.py", line 1017, in _connect
raise last_error or exceptions.TargetServerAttributeNotMatched(
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/asyncpg/connect_utils.py", line 991, in _connect
conn = await _connect_addr(
^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/asyncpg/connect_utils.py", line 828, in _connect_addr
return await __connect_addr(params, True, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/asyncpg/connect_utils.py", line 873, in __connect_addr
tr, pr = await connector
^^^^^^^^^^^^^^^
File "/Users/dm/Projects/SQLModel-01/.venv/lib/python3.11/site-packages/asyncpg/connect_utils.py", line 744, in _create_ssl_connection
tr, pr = await loop.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1978, in create_connection
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
ERROR: Application startup failed. Exiting.
Running on macos m1, docker compose.
Reproduction steps working every time: The only edit to the default configuration (with lazy-default .env, docker.compose, Dockerfile) is trying to set postgres as a default db: https://github.com/dimitree2k/SQLModel-01/commit/df449563ec6c46d6106155adf139256f7ceb047b#diff-d5b8338e6ef178b1c4915314f2facc753ce1d4cfe3ac20b855c96bc6387812a5L107