Skip to content

Special character in password raise timeout exception #894

@demaet

Description

@demaet
  • asyncpg version: 0.25.0
  • PostgreSQL version: 10.6
  • Do you use a PostgreSQL SaaS?: no
  • Python version: 3.6.12
  • Platform: UNIX
  • Do you use pgbouncer?: no
  • Did you install asyncpg with pip?: yes

It seems that introduction of some special characters (here the ²) in password breaks the code: it hangs until connection timeout is reached. Even if the password/user/db are wrong. A wrong hostname (eg unavailable or without a responding 5432 port) raise an exception.

test:
conn = await asyncpg.connect(f'postgres://a@{host}/b', password='abc²def', timeout=10)

Traceback (most recent call last): File "./....py", line 152, in <module> loop.run_until_complete(a()) File "/usr/lib64/python3.6/asyncio/base_events.py", line 488, in run_until_complete return future.result() File "./...py", line 134, in a conn = await asyncpg.connect(f'postgres://a@{host}/b', password='abc²def', timeout=10) File "~/.local/lib/python3.6/site-packages/asyncpg/connection.py", line 2102, in connect max_cacheable_statement_size=max_cacheable_statement_size, File "~/.local/lib/python3.6/site-packages/asyncpg/connect_utils.py", line 895, in _connect raise last_error File "~/.local/lib/python3.6/site-packages/asyncpg/connect_utils.py", line 888, in _connect record_class=record_class, File "~/.local/lib/python3.6/site-packages/asyncpg/connect_utils.py", line 781, in _connect_addr return await __connect_addr(params, timeout, True, *args) File "~/.local/lib/python3.6/site-packages/asyncpg/connect_utils.py", line 831, in __connect_addr await compat.wait_for(connected, timeout=timeout) File "~/.local/lib/python3.6/site-packages/asyncpg/compat.py", line 66, in wait_for return await asyncio.wait_for(fut, timeout) File "/usr/lib64/python3.6/asyncio/tasks.py", line 362, in wait_for raise futures.TimeoutError() concurrent.futures._base.TimeoutError 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions