oracle / python-oracledb

Python driver for Oracle Database conforming to the Python DB API 2.0 specification. This is the renamed, new major release of cx_Oracle
https://oracle.github.io/python-oracledb
Other
308 stars 61 forks source link

ResourceWarning: unclosed socket when password is invalid #211

Closed petronny closed 10 months ago

petronny commented 11 months ago
  1. What versions are you using?

oracledb 1.3.2 python 3.11 oracle db 19c

  1. Is it an error or a hang or a crash?

Warning

  1. What error(s) or behavior you are seeing?

sockets to connections that cannot be open (e.g. password is invalid) are closed automatically:

OK Destroying test database for alias 'default'... Destroying test user... Destroying test database tables...

* Running `python -Wall runtests.py backends.oracle.tests.TransactionalTests` with `oracledb==1.3.2`

python runtests.py backends.oracle.tests.TransactionalTests Testing against Django installed in '/django/django' with up to 8 processes Found 2 test(s). Creating test database for alias 'default'... Creating test user... System check identified no issues (0 silenced). .Exception ignored in: <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('127.0.0.1', 38016), raddr=('127.0.0.1', 1521)> Traceback (most recent call last): File "/usr/local/lib/python3.10/traceback.py", line 236, in clear_frames tb.tb_frame.clear() ResourceWarning: unclosed <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('127.0.0.1', 38016), raddr=('127.0.0.1', 1521)> .

Ran 2 tests in 1.860s

OK Destroying test database for alias 'default'... Destroying test user... Destroying test database tables...


5. Does your application call init_oracle_client()?

No.

<!--

This tells us whether you are using the python-oracledb Thin or Thick mode.

-->

6. Include a runnable Python script that shows the problem.

<!--

Include all SQL needed to create the database schema.

Format code by using three backticks on a line before and after code snippets, for example:

import oracledb



-->
See above. Please refer to the comments in [django #15841](https://github.com/django/django/pull/15841?w=1#issuecomment-1665423324) for more information.
anthony-tuininga commented 11 months ago

I have pushed a patch that should correct this issue. If you are able to build from source you can verify that it corrects your issue as well.

anthony-tuininga commented 10 months ago

This has been included in python-oracledb 1.4.0 which was just released.