Closed jeamland closed 3 months ago
Thanks for the report. I'll get that fixed for the next release.
I was able to replicate the issue and resolve it. If you are able to build from source you can verify that it works for you, too.
This patch was included in version 2.1.0 which was just released.
OCI ADB-S, ORDS version 23.2.3.242.1937
platform.platform: Linux-5.4.17-2136.326.6.el7uek.aarch64-aarch64-with-glibc2.28 sys.maxsize > 2**32: True platform.python_version: 3.9.18 oracledb.version: 2.0.1
Crash.
I'm truncating the trace somewhat, but this illustrates the issue:
No, we're using Thin mode.
That's a bit tricky but I can point out where the problem lies.
In my use case I'm attempting to connect to an ADB-S using IAM tokens. I've implemented a SQLAlchemy dialect that wraps their oracledb dialect and does the IAM parts. I believe that this is leading to enabling some use of authenticated/signed messages In oracledb.thin_impl.AuthMessage._write_message, when
self.private_key
is set, we attempt to call.getpeername()
on the_socket
attribute of the WriteBuffer. Unfortunately when the async changes came in that attribute was replaced by a_transport
attribute but this code wasn't changed to fit.