[Zope-dev] Segfault in zope.configuration
Martin Aspeli
optilude+lists at gmail.com
Tue Apr 6 22:25:08 EDT 2010
Martin Aspeli wrote:
> At this point, something is printed to the console. collective.wtf is a
> dependency of lw.portal, and its ZCML is being included from lw.portal.
>
> /home/osc/osc/eggs/collective.wtf-1.0b9-py2.6.egg/collective/wtf/exportimport.py:8:
> DeprecationWarning: InitializeClass is deprecated. import from
> App.class_init instead
> from Globals import InitializeClass
Okay, I found out what it does next: It now processes z3c.autoinclude's
<includeDependencies />, which basically just goes through the
dependencies in setup.py's install_requires and tries to load a
configure.zcml for each. It successfully does that for a number of
dependencies, up until it hits "collective.xdv" (same package I saw the
problem with when I set up a minimal buildout that just had Plone and
collective.xdv in it).
The pdb log is:
(Pdb) l
43
44 def includeDependenciesDirective(_context, package):
45
46 import pdb; pdb.set_trace()
47
48 -> if api.dependencies_disabled():
49 log.warn('z3c.autoinclude.dependency is disabled but is
being invoked by %s' % _context.info)
50 return
51
52 dist = distributionForPackage(package)
53 info =
DependencyFinder(dist).includableInfo(['configure.zcml', 'meta.zcml'])
(Pdb) n
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(52)includeDependenciesDirective()
-> dist = distributionForPackage(package)
(Pdb) n
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(53)includeDependenciesDirective()
-> info = DependencyFinder(dist).includableInfo(['configure.zcml',
'meta.zcml'])
(Pdb) n
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(55)includeDependenciesDirective()
-> includeZCMLGroup(_context, info, 'meta.zcml')
(Pdb) pp info
{'configure.zcml': ['collective.xdv', 'five.grok', 'z3c.jbot'],
'meta.zcml': ['five.grok', 'z3c.jbot']}
(Pdb) l
50 return
51
52 dist = distributionForPackage(package)
53 info =
DependencyFinder(dist).includableInfo(['configure.zcml', 'meta.zcml'])
54
55 -> includeZCMLGroup(_context, info, 'meta.zcml')
56 includeZCMLGroup(_context, info, 'configure.zcml')
57
58 def includeDependenciesOverridesDirective(_context, package):
59
60 if api.dependencies_disabled():
(Pdb) n
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(56)includeDependenciesDirective()
-> includeZCMLGroup(_context, info, 'configure.zcml')
(Pdb) s
--Call--
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(15)includeZCMLGroup()
-> def includeZCMLGroup(_context, info, filename, override=False):
(Pdb) n
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(16)includeZCMLGroup()
-> includable_zcml = info[filename]
(Pdb)
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(20)includeZCMLGroup()
-> zcml_context = repr(_context.info)
(Pdb)
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(22)includeZCMLGroup()
-> for dotted_name in includable_zcml:
(Pdb)
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(23)includeZCMLGroup()
-> log.debug('including file %s from package %s at %s', filename,
dotted_name, zcml_context)
(Pdb)
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(22)includeZCMLGroup()
-> for dotted_name in includable_zcml:
(Pdb)
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(23)includeZCMLGroup()
-> log.debug('including file %s from package %s at %s', filename,
dotted_name, zcml_context)
(Pdb)
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(22)includeZCMLGroup()
-> for dotted_name in includable_zcml:
(Pdb)
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(23)includeZCMLGroup()
-> log.debug('including file %s from package %s at %s', filename,
dotted_name, zcml_context)
(Pdb)
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(22)includeZCMLGroup()
-> for dotted_name in includable_zcml:
(Pdb)
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(25)includeZCMLGroup()
-> for dotted_name in includable_zcml:
(Pdb)
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(26)includeZCMLGroup()
-> includable_package = resolve(dotted_name)
(Pdb) l
21
22 for dotted_name in includable_zcml:
23 log.debug('including file %s from package %s at %s',
filename, dotted_name, zcml_context)
24
25 for dotted_name in includable_zcml:
26 -> includable_package = resolve(dotted_name)
27 if override:
28 includeOverrides(_context, filename, includable_package)
29 else:
30 include(_context, filename, includable_package)
31
(Pdb) n
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(27)includeZCMLGroup()
-> if override:
(Pdb) pp includable_package
<module 'collective.xdv' from
'/home/osc/osc/src/collective.xdv/collective/xdv/__init__.pyc'>
(Pdb) n
>
/home/osc/osc/eggs/z3c.autoinclude-0.3.2-py2.6.egg/z3c/autoinclude/zcml.py(30)includeZCMLGroup()
-> include(_context, filename, includable_package)
(Pdb) s
--Call--
Now we're back into zope.configuration:
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(487)include()
-> def include(_context, file=None, package=None, files=None):
(Pdb) n
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(493)include()
-> if files:
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(496)include()
-> elif not file:
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(502)include()
-> if package and (package.__name__ == 'zope.app'):
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(524)include()
-> context = config.GroupingContextDecorator(_context)
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(525)include()
-> if package is not None:
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(526)include()
-> context.package = package
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(527)include()
-> context.basepath = None
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(529)include()
-> if files:
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(535)include()
-> paths = [context.path(file)]
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(537)include()
-> for path in paths:
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(538)include()
-> if context.processFile(path):
(Pdb) l
533 paths = [path for (l, path) in paths]
534 else:
535 paths = [context.path(file)]
536
537 for path in paths:
538 -> if context.processFile(path):
539 f = openInOrPlain(path)
540 logger.debug("include %s" % f.name)
541
542 context.basepath = os.path.dirname(path)
543 context.includepath = _context.includepath + (f.name, )
(Pdb) n
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(539)include()
-> f = openInOrPlain(path)
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(540)include()
-> logger.debug("include %s" % f.name)
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(542)include()
-> context.basepath = os.path.dirname(path)
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(543)include()
-> context.includepath = _context.includepath + (f.name, )
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(544)include()
-> _context.stack.append(config.GroupingStackItem(context))
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(546)include()
-> processxmlfile(f, context)
(Pdb) s
--Call--
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(367)processxmlfile()
-> def processxmlfile(file, context, testing=False):
(Pdb) n
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(372)processxmlfile()
-> src = InputSource(getattr(file, 'name', '<string>'))
(Pdb) l
367 def processxmlfile(file, context, testing=False):
368 """Process a configuration file
369
370 See examples in tests/text_xmlconfig.py
371 """
372 -> src = InputSource(getattr(file, 'name', '<string>'))
373 src.setByteStream(file)
374 parser = make_parser()
375 parser.setContentHandler(ConfigurationHandler(context,
testing=testing))
376 parser.setFeature(feature_namespaces, True)
377 try:
(Pdb) n
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(373)processxmlfile()
-> src.setByteStream(file)
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(374)processxmlfile()
-> parser = make_parser()
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(375)processxmlfile()
-> parser.setContentHandler(ConfigurationHandler(context, testing=testing))
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(376)processxmlfile()
-> parser.setFeature(feature_namespaces, True)
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(377)processxmlfile()
-> try:
(Pdb)
>
/home/osc/osc/eggs/zope.configuration-3.6.0-py2.6.egg/zope/configuration/xmlconfig.py(378)processxmlfile()
-> parser.parse(src)
(Pdb) l
373 src.setByteStream(file)
374 parser = make_parser()
375 parser.setContentHandler(ConfigurationHandler(context,
testing=testing))
376 parser.setFeature(feature_namespaces, True)
377 try:
378 -> parser.parse(src)
379 except SAXParseException:
380 raise ZopeSAXParseException(sys.exc_info()[1]), None,
sys.exc_info()[2]
381
382
383 def openInOrPlain(filename):
(Pdb) s
--Call--
> /usr/lib64/python2.6/xml/sax/expatreader.py(100)parse()
-> def parse(self, source):
(Pdb) n
> /usr/lib64/python2.6/xml/sax/expatreader.py(102)parse()
-> source = saxutils.prepare_input_source(source)
(Pdb)
> /usr/lib64/python2.6/xml/sax/expatreader.py(104)parse()
-> self._source = source
(Pdb)
> /usr/lib64/python2.6/xml/sax/expatreader.py(105)parse()
-> self.reset()
(Pdb) l
100 def parse(self, source):
101 "Parse an XML document from a URL or an InputSource."
102 source = saxutils.prepare_input_source(source)
103
104 self._source = source
105 -> self.reset()
106 self._cont_handler.setDocumentLocator(ExpatLocator(self))
107 xmlreader.IncrementalParser.parse(self, source)
108
109 def prepareParser(self, source):
110 if source.getSystemId() is not None:
(Pdb) n
> /usr/lib64/python2.6/xml/sax/expatreader.py(106)parse()
-> self._cont_handler.setDocumentLocator(ExpatLocator(self))
(Pdb)
> /usr/lib64/python2.6/xml/sax/expatreader.py(107)parse()
-> xmlreader.IncrementalParser.parse(self, source)
(Pdb) s
--Call--
> /usr/lib64/python2.6/xml/sax/xmlreader.py(115)parse()
-> def parse(self, source):
(Pdb) n
> /usr/lib64/python2.6/xml/sax/xmlreader.py(116)parse()
-> import saxutils
(Pdb) n
> /usr/lib64/python2.6/xml/sax/xmlreader.py(117)parse()
-> source = saxutils.prepare_input_source(source)
(Pdb) n
> /usr/lib64/python2.6/xml/sax/xmlreader.py(119)parse()
-> self.prepareParser(source)
(Pdb)
> /usr/lib64/python2.6/xml/sax/xmlreader.py(120)parse()
-> file = source.getByteStream()
(Pdb) l
115 def parse(self, source):
116 import saxutils
117 source = saxutils.prepare_input_source(source)
118
119 self.prepareParser(source)
120 -> file = source.getByteStream()
121 buffer = file.read(self._bufsize)
122 while buffer != "":
123 self.feed(buffer)
124 buffer = file.read(self._bufsize)
125 self.close()
(Pdb) n
> /usr/lib64/python2.6/xml/sax/xmlreader.py(121)parse()
-> buffer = file.read(self._bufsize)
(Pdb)
> /usr/lib64/python2.6/xml/sax/xmlreader.py(122)parse()
-> while buffer != "":
This is the full ZCML that it's loading:
(Pdb) print buffer
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:gs="http://namespaces.zope.org/genericsetup"
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:zcml="http://namespaces.zope.org/zcml"
xmlns:i18n="http://namespaces.zope.org/i18n"
i18n_domain="collective.xdv">
<i18n:registerTranslations directory="locales"/>
<include package="plone.app.registry" />
<include package="plone.transformchain" />
<gs:registerProfile
name="default"
title="XDV theme support"
description="Installs a control panel to allow on-the-fly
theming with xdv"
directory="profiles/default"
for="Products.CMFPlone.interfaces.IPloneSiteRoot"
provides="Products.GenericSetup.interfaces.EXTENSION"
/>
<!-- Transform order 8850 - apply XDV transform -->
<adapter
name="collective.xdv.transform"
factory=".transform.XDVTransform"
/>
<subscriber
for=".interfaces.ITransformSettings
plone.registry.interfaces.IRecordModifiedEvent"
handler=".transform.invalidateCache"
/>
<browser:page
name="xdv-settings"
for="Products.CMFPlone.interfaces.IPloneSiteRoot"
class=".browser.TransformSettingsControlPanel"
permission="cmf.ManagePortal"
/>
<!-- Set X-XDV header in the request if XDV is enabled -->
<subscriber
for="ZPublisher.interfaces.IPubAfterTraversal"
handler=".header.setHeader"
/>
<!-- Utility view - use in portal_css or similar as
portal/@@xdv-check/enabled" -->
<browser:page
name="xdv-check"
for="Products.CMFPlone.interfaces.IPloneSiteRoot"
class=".browser.Utility"
permission="zope.Public"
allowed_attributes="enabled domain_enabled"
/>
<browser:resource
name="collective.xdv.gif"
image="icon.gif"
/>
</configure>
(Pdb) n
> /usr/lib64/python2.6/xml/sax/xmlreader.py(123)parse()
-> self.feed(buffer)
(Pdb) l
118
119 self.prepareParser(source)
120 file = source.getByteStream()
121 buffer = file.read(self._bufsize)
122 while buffer != "":
123 -> self.feed(buffer)
124 buffer = file.read(self._bufsize)
125 self.close()
126
127 def feed(self, data):
128 """This method gives the raw XML data in the data parameter to
(Pdb) s
--Call--
> /usr/lib64/python2.6/xml/sax/expatreader.py(196)feed()
-> def feed(self, data, isFinal = 0):
(Pdb) n
> /usr/lib64/python2.6/xml/sax/expatreader.py(197)feed()
-> if not self._parsing:
(Pdb) l
192 name)
193
194 # IncrementalParser methods
195
196 def feed(self, data, isFinal = 0):
197 -> if not self._parsing:
198 self.reset()
199 self._parsing = 1
200 self._cont_handler.startDocument()
201
202 try:
(Pdb) n
> /usr/lib64/python2.6/xml/sax/expatreader.py(198)feed()
-> self.reset()
(Pdb)
> /usr/lib64/python2.6/xml/sax/expatreader.py(199)feed()
-> self._parsing = 1
(Pdb)
> /usr/lib64/python2.6/xml/sax/expatreader.py(200)feed()
-> self._cont_handler.startDocument()
(Pdb)
> /usr/lib64/python2.6/xml/sax/expatreader.py(202)feed()
-> try:
(Pdb) l
197 if not self._parsing:
198 self.reset()
199 self._parsing = 1
200 self._cont_handler.startDocument()
201
202 -> try:
203 # The isFinal parameter is internal to the expat reader.
204 # If it is set to true, expat will check validity of
the entire
205 # document. When feeding chunks, they are not normally
final -
206 # except when invoked from close.
207 self._parser.Parse(data, isFinal)
(Pdb) n
> /usr/lib64/python2.6/xml/sax/expatreader.py(207)feed()
-> self._parser.Parse(data, isFinal)
(Pdb) l
202 try:
203 # The isFinal parameter is internal to the expat reader.
204 # If it is set to true, expat will check validity of
the entire
205 # document. When feeding chunks, they are not normally
final -
206 # except when invoked from close.
207 -> self._parser.Parse(data, isFinal)
208 except expat.error, e:
209 exc = SAXParseException(expat.ErrorString(e.code), e,
self)
210 # FIXME: when to invoke error()?
211 self._err_handler.fatalError(exc)
212
(Pdb) n
Boom!
(python-env)osc at lwpn-osb-webback-2:~/osc> echo $?
0
I stepped into the self.parser.Parse() line to get some more context
(this is C code):
> /usr/lib64/python2.6/xml/sax/expatreader.py(207)feed()
-> self._parser.Parse(data, isFinal)
(Pdb) s
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(839)StartNamespaceDecl()
(Pdb) n
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(839)StartNamespaceDecl()->None
(Pdb) n
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(839)StartNamespaceDecl()->None
(Pdb) n
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(839)StartNamespaceDecl()->None
(Pdb) n
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(839)StartNamespaceDecl()->None
(Pdb) n
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(839)StartNamespaceDecl()->None
(Pdb) n
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(839)StartNamespaceDecl()->None
(Pdb) n
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(839)StartNamespaceDecl()->None
(Pdb) n
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(839)StartNamespaceDecl()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(839)StartNamespaceDecl()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(604)StartElement()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(604)StartElement()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(604)StartElement()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(604)StartElement()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(656)EndElement()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(656)EndElement()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb) n
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(604)StartElement()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(604)StartElement()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(656)EndElement()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(656)EndElement()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(604)StartElement()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(604)StartElement()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(656)EndElement()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(656)EndElement()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(604)StartElement()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(604)StartElement()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(656)EndElement()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(656)EndElement()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(479)CharacterData()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(604)StartElement()->None
(Pdb)
--Return--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(604)StartElement()->None
(Pdb)
--Call--
>
/usr/src/packages/BUILD/Python-2.6/Modules/pyexpat.c(656)EndElement()->None
(Pdb)
BOOM.
So this is still in pyexpat C code as far as I can tell. :-(
Martin
More information about the Zope-Dev
mailing list