我们正在“仅”使用 WebOb 开发一个实验性 Web 框架。我们正在处理并发请求,这基本上是 WebOb 的一个非常简单的集成。我们在 webfaction.com 上托管我们的应用程序
问题是我们的日志中出现了致命的 Python 错误:
Fatal Python error: XXX block stack underflow
Run Code Online (Sandbox Code Playgroud)
没有其他回溯或信息。它使我们的应用程序崩溃(几分钟后它会自动重新启动)。我们在开发过程中从未遇到过这个问题。
编辑:我已经检查过,我的 python 应用程序内存太高,这可能是一个相关的问题
问题是,当我尝试交叉引用访问日志时,没有任何内容与该访问时间相对应。
正如我所说,没有有关错误的回溯或信息。
所以,我首先搜索了Python中的块堆栈下溢,我发现了这篇非常有趣的文章:http://tech.blog.aknin.name/2010/07/22/pythons-innards-interpreter-stacks/,它解释了什么是块堆栈下溢。
编辑:我还尝试删除所有 .pyc 并重新启动服务器。没有结果
所以,这是我的问题:什么可能导致编译器中的块堆栈下溢?什么“类型”的代码可能会导致这种情况?
好吧,所以我们的应用程序在appengine中激活全文搜索.我们在文档上设置了索引,其中包含名为"date"的字段.这个字段是一个DateField,现在我们改变了文档的模型,所以字段'date'现在是一个NumericField.
问题是,在生产服务器上,即使我从索引中清除了所有文档,服务器也会响应此类错误:无法解析搜索请求""; SortSpec数字默认值与'date'中的表达式类型'TEXT'不匹配
问题是,"我认为",服务器上的模型不适合搜索查询的模型.基本上,一种方法是删除整个索引,但我不知道如何在生产服务器上执行此操作.
开发服务器完美无缺