对reportlab heisenbug进行故障排除

时间:2012-06-05 14:19:40

标签: python django pdf reportlab

使用Django 1.4 / Python 2.7 / reportlab(开源版本)生成pdf。

到目前为止,事情发展得非常好。以前的pdf生成(如http请求返回/下载生成的pdf文件)是在Django 1.3上,并不公开。已在许多页面上升级并免费使用,现在开始出现问题。

我遇到'随机'问题(因为我看到日志中偶尔出现例外情况)但我自己从未能够重现问题(事情大部分时间都有效)。

我得到的是以下类型的错误,这些错误总是成对出现

    Exception Value: ParaParser instance has no attribute '_seq'
    Exception Location: /home/tss/lib/python2.7/reportlab-2.5-py2.7-linux-i686.egg/reportlab/platypus/paraparser.py in _complete_parse, line 1061

然后

    Exception Value: 'NoneType' object has no attribute 'close'
    Exception Location: /home/tss/lib/python2.7/reportlab-2.5-py2.7-linux-i686.egg/reportlab/lib/xmllib.py in close, line 521

鉴于我很难复制这个并且不确定我是否有问题或者报告问题 - 我对如何解决这个问题提出了建议(可能是同步问题,因为许多生成连接或只是一个普通的错误或...)???

1 个答案:

答案 0 :(得分:2)

在reportlab邮件列表上发布此问题,而Reportlab不是线程安全的。

因此,如果您最终遇到间歇性问题并且在多线程/ Web应用程序环境中运行的reportlab的任何使用,您将会因此而遇到非常奇怪的问题。

现在我需要找出用于替换reportlab的内容,嗯......

/ Jens

相关问题