gpt4 book ai didi

python - glibc 检测到 *** python : double free or corruption (! prev) SWIG

转载 作者:太空狗 更新时间:2023-10-30 01:35:03 28 4
gpt4 key购买 nike

在 SWIG 中为我的 C++ 算法编写了一个包装器之后,当我在导入模块后退出 Python 解释器时,我经常遇到这个错误:

    $ python
iPython 2.5.6 (r256:88840, Mar 10 2012, 14:05:15)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>from algol import *
>>>
*** glibc detected *** python: double free or corruption (!prev): 0x0000000001e42430 ***

然后我必须按 Ctrl+C 才能取回控制权...发生了什么?

我正在运行以下命令来构建我的 SWIG 包装器:

$NAME=algol
swig -c++ -python $NAME.i
g++ -fpic -c $NAME.cpp $NAME.hpp $NAME\_wrap.cxx -I/usr/local/include/python2.5
g++ -Xlinker -zmuldefs -shared $NAME.o $NAME\_wrap.o -o _$NAME.so

我的 swig 接口(interface)文件只是 algol.hpp 的一个包含:

%module algol
%{
#include "algol.hpp"
%}
%include "algol.hpp"

你怎么看这件事? :S

编辑:在此处附加示例源代码 -> http://pastebin.com/q210vEAs

最佳答案

what is happening?

正是消息所说的:某些代码执行了双重释放,或者其他一些堆损坏。

按照 awoodland 的建议,在 Valgrind 下运行 python,然后查看发生损坏或双重释放的

关于python - glibc 检测到 *** python : double free or corruption (! prev) SWIG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10559791/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com