在Thread对象中运行feedparser时的跟踪/ BPT陷阱

时间:2010-04-10 20:44:52

标签: python multithreading feedparser

我正在尝试运行一个Thread来使用通用提要解析器解析一个链接列表,但是当我启动该线程时,我得到一个Trace / BPT陷阱。

这是我正在使用的代码:

class parseRssFiles(Thread):
   def __init__ (self,rssLinks):
      Thread.__init__(self)
      self.rssLinks = rssLinks
   def run(self):
      self.rssContents = [ feedparser.parse(link) for link in rssLinks]

还有其他办法吗?

链接到Mac OS X 10.6.2生成的报告:http://simaom.com/trace.txt

由于

1 个答案:

答案 0 :(得分:1)

如果没有可用的测试用例,很难确定,但我怀疑你遇到了Python tracker issue 7144中记录的问题,即尝试初始化除{main}之外的CoreFoundation框架线。 Python 2.6.5中修复了这个问题,您可以从python.org或MacPorts安装。 Apple在10.6中提供的Python 2.6.1的未经测试的解决方法可能是在主线程中执行无关紧要的事情,这将导致CoreFoundation在启动任何辅助线程之前被初始化。主线程中的这样的东西可能会这样做:

import locale
locale.getdefautlocale()