什么可能导致python中的块堆栈下溢?

您所在的位置:网站首页 dump堆栈 什么可能导致python中的块堆栈下溢?

什么可能导致python中的块堆栈下溢?

2023-03-14 11:29| 来源: 网络整理| 查看: 265

应用环境

我们正在使用“仅” WebOb开发实验性的Web框架.我们正在处理并发请求,它基本上是WebOb的非常简单的集成.我们将应用程序托管在webfaction.com上

问题是我们的日志中出现了致命的Python错误:

Fatal Python error: XXX block stack underflow

没有其他回溯或信息.并使我们的应用程序崩溃(几分钟后它会自动重新启动).我们从未在发展中遇到过这个问题.

编辑:我已经检查过并且我的python应用程序内存太高了,这可能是一个相关的问题

我尝试了什么

问题是,当我尝试交叉引用访问日志时,没有任何内容与该访问时间相对应.

就像我说的,没有错误的回溯或信息.

因此,我首先搜索了Python中的块堆栈下溢,然后发现了这篇非常有趣的文章:http://tech.blog.aknin.name/2010/07/22/pythons-innards-interpreter-stacks/,它解释了什么是块堆栈下溢.

编辑:我还尝试删除所有.pyc并重新启动服务器.没结果

问题

所以,这是我的问题:是什么导致编译器中的块堆栈下溢?哪种“类型”的代码可能导致这种情况?

解决方法:

首先,尝试删除所有.pyc文件(以及.pyo(如果有)),然后重新启动服务器.如果没有帮助,请将问题报告给http://bugs.python.org/ —实际上看起来像是一个Python错误.我能想到的唯一方法是使用诸如生成自定义字节码序列之类的晦涩技巧.

如果您无法发布解决问题的方法,也可以尝试在Python源代码的PyFrame_BlockPop()中编辑Objects / frameobject.c,以在崩溃前显示更多信息.至少_PyObject_Dump(f); _PyObject_Dump(f-> f_code);在查找错误的位置将很有用.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3