gcc 致命的Python错误:none_dealloc:释放无:可能由C扩展中的引用计数错误引起的错误

aurhwmvo  于 2023-05-29  发布在  Python
关注(0)|答案(2)|浏览(305)

我在这个版本的python中运行了一个脚本:
Python 3.11.3(main,May 2 2023,23:12:30)[GCC 9.4.0] on linux
脚本使用以下导入:

import datetime
import time
import mysql.connector
import traceback
import tracemalloc
import logging
import sys

过了一会儿,它崩溃了,输出如下:

Fatal Python error: none_dealloc: deallocating None: bug likely caused by a refcount error in a C extension
Python runtime state: initialized

Current thread 0x00007fa201272280 (most recent call first):
  File "/home/user/main.py", line 119 in <module>

Extension modules: _mysql_connector (total: 1)
Aborted (core dumped)

会是什么问题呢?它可以在python3.9中找到,但我不得不升级python(通过从源代码编译),现在我在运行的每个.py上都有这个错误。

vyswwuz2

vyswwuz21#

我也在寻找同样问题的解决方法。在运行我的脚本几分钟后,它得到释放None。在pycharm上运行时,问题发生的速度比linux终端快。
查看您的代码,我意识到唯一的相似之处是mysql连接器库。也许问题就在那里。我会做一个降级看看问题是否仍然存在。我建议你也这样做。

llycmphe

llycmphe2#

我也有同样的问题。当然是mysql.connector。我所做的是在每第10批中使用pool_reset_session=True,现在它工作正常。不能一直使用它,然后它会减速并停止,但每10次都没有明显的性能变化,也没有更多的崩溃。

相关问题