使用 python 3.11.6 连接 psycopg2 连接时双重释放或损坏(出)

问题描述 投票:0回答:1

我有一个使用 postgres 的 python 应用程序,并且在基于 python 3.7.3 的 conda 环境中运行良好。 我正在尝试更新其 conda 环境以使用更新的 python 版本。 我通过重复运行应用程序来查找丢失的软件包并安装它们来构建新环境。 在新环境中执行此脚本:

导入psycopg2 conn = psycopg2.connect("dbname='template1' user='dbuser' 主机='localhost' 密码='dbpass'")

生产: 双自由或腐败(出) 中止(核心转储) 在连接中。

postgres版本是10。 我每次运行时都会在 /var/log/postgressql/postgresql-10-main.log 中看到以下内容: 2023-12-07 10:05:52.855 GMT [6618] [未知]@[未知] 致命:启动数据包中未指定 PostgreSQL 用户名

psycopg2.版本 '2.9.9(dt dec pq3 ext lo64)' 蟒蛇——版本 Python 3.11.6

无论用户名是否正确,都不应导致核心转储。 任何帮助表示赞赏。

psycopg2 postgresql-10 python-3.11 double-free
1个回答
0
投票

我遇到了同样的问题,我的解决方法是将 openssl 从 3.2.0 降级到 3.1.4:

conda install openssl=3.1.4

https://github.com/psycopg/psycopg2/issues/1658

不知道为什么会发生这种情况,也许有人有更多细节。

© www.soinside.com 2019 - 2024. All rights reserved.