[lxml-dev] Python crash with lxml use with multi-thread
Pedro Cardoso
cardoso.pb at om.asahi-kasei.co.jp
Thu Dec 20 05:10:47 CET 2007
Stefan Behnel wrote:
> Pedro Cardoso wrote:
>
>> I am using lxml (just updated to version 1.3.6) on python 2.5, on a
>> windows XP machine.
>>
>> I have a wrapper class for an XML file, and worked fine until I used it
>> on several threads. At that moment it will crash.
>>
>> The piece of code I have it :
>> projectNode = self.dom.xpath('//Project[@Code="%s"]'
>> %projectCode)[0]
>> logger.debug("here")
>> previewsTask = self.dom.xpath('//Task[@Code="%s"]' %
>> taskData.xml_Code)[0]
>> logger.debug("here")
>> projectNode.replace(previewsTask, taskData.dom)
>> #projectNode.remove(previewsTask)
>> #projectNode.append(taskData.dom)
>> logger.debug("here")
>> self.save()
>> logger.debug("here")
>> return None
>> The loggin is to know the last line to be called .
>>
>> The last log msg is written, but the one right after the call to this
>> function is not, that makes me think the crash is on the return. There
>> should be no problem of thread safety, since I am using locks.
>>
>> The crash seems to be on the return, and The calling sequence is :
>> thread 1 : append a node to xml and save
>> thread 2 : replaces node and save (the piece of code above)
>> At this moment it crash python !
>>
>> Any idea of the problem ?
>>
>
> Have you read the FAQ section on threading?
>
> http://codespeak.net/lxml/dev/FAQ.html#id1
>
> Stefan
>
>
>
Ok, I feel stupid now ! Problem fixed.
Thanks.
Pedro
More information about the lxml-dev
mailing list