[issue2840] Expat parser locks XML source file if ContentHandler raises an exception
Craig Holmquist
report at bugs.python.org
Mon May 12 21:44:36 CEST 2008
New submission from Craig Holmquist <craig at neurotronics.com>:
This was observed in Python 2.5.2 on Windows XP. Run this code in IDLE:
import xml.sax
from xml.sax.handler import ContentHandler
class C(ContentHandler):
def startElement(self, name, attrs):
assert False
xml.sax.parse(xml_path, C())
Where "xml_path" points to a well-formed XML file. This will raise an
AssertionError. Then, attempt to modify or delete the XML file that was
specified; it's still locked by the Python process.
Deleting the ContentHandler does not unlock it. There doesn't seem any
way to unlock it aside from terminating the Python process.
If the ContentHandler doesn't raise an exception or error, the file is
unlocked properly.
----------
components: XML
messages: 66754
nosy: craigneuro
severity: normal
status: open
title: Expat parser locks XML source file if ContentHandler raises an exception
type: behavior
versions: Python 2.5
__________________________________
Tracker <report at bugs.python.org>
<http://bugs.python.org/issue2840>
__________________________________
More information about the Python-bugs-list
mailing list