Products.cmfplone: Theming controlpanel changes make site unusable

Created on 14 Feb 2019  路  3Comments  路  Source: plone/Products.CMFPlone

What I did:

  • I created an empty Plone Site
  • I go to the Theming Control Panel -> Advanced Settings -> uncheck "Mark Special Links" option.

What I expect to happen:

  • The site keeps working

What actually happened:

  • The site goes completely unusable. The front page gets blank and I can't even access the ZMI (to try to undo the transaction). The full traceback when visiting the front page is this one:
2019-02-14 08:07:17,515 ERROR [plone.subrequest:170][waitress] Error handling subrequest to /++theme++barceloneta/rules.xml
Traceback (most recent call last):
  File "/home/erral/downloads/eggs/Zope-4.0b8-py3.7.egg/ZPublisher/WSGIPublisher.py", line 128, in transaction_pubevents
    yield
  File "/home/erral/downloads/eggs/Zope-4.0b8-py3.7.egg/ZPublisher/WSGIPublisher.py", line 276, in publish_module
    response = _publish(request, new_mod_info)
  File "/home/erral/downloads/eggs/Zope-4.0b8-py3.7.egg/ZPublisher/WSGIPublisher.py", line 198, in publish
    obj = request.traverse(path, validated_hook=validate_user)
  File "/home/erral/downloads/eggs/Zope-4.0b8-py3.7.egg/ZPublisher/BaseRequest.py", line 452, in traverse
    bpth(object, self)
  File "/home/erral/downloads/eggs/Zope-4.0b8-py3.7.egg/ZPublisher/BeforeTraverse.py", line 103, in __call__
    container, request)
  File "/home/erral/downloads/eggs/Products.CMFCore-2.4.0b6-py3.7.egg/Products/CMFCore/PortalObject.py", line 67, in __before_publishing_traverse__
    notify(BeforeTraverseEvent(self, REQUEST))
  File "/home/erral/downloads/eggs/zope.event-4.4-py3.7.egg/zope/event/__init__.py", line 32, in notify
    subscriber(event)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/event.py", line 27, in dispatch
    component_subscribers(event, None)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/_api.py", line 124, in subscribers
    return sitemanager.subscribers(objects, interface)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/registry.py", line 442, in subscribers
    return self.adapters.subscribers(objects, provided)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/adapter.py", line 607, in subscribers
    subscription(*objects)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/event.py", line 36, in objectEventNotify
    component_subscribers((event.object, event), None)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/_api.py", line 124, in subscribers
    return sitemanager.subscribers(objects, interface)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/registry.py", line 442, in subscribers
    return self.adapters.subscribers(objects, provided)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/adapter.py", line 607, in subscribers
    subscription(*objects)
  File "/home/erral/downloads/eggs/plone.theme-3.0.6-py3.7.egg/plone/theme/layer.py", line 28, in mark_layer
    skin = queryUtility(IBrowserSkinType, name=skin_name)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/_api.py", line 157, in queryUtility
    return getSiteManager(context).queryUtility(interface, name, default)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/registry.py", line 281, in queryUtility
    return self.utilities.lookup((), provided, name, default)
ValueError: name is not a string or unicode

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/erral/downloads/eggs/plone.subrequest-1.9.0-py3.7.egg/plone/subrequest/__init__.py", line 153, in subrequest
    traversed = request.traverse(path)
  File "/home/erral/downloads/eggs/Zope-4.0b8-py3.7.egg/ZPublisher/BaseRequest.py", line 452, in traverse
    bpth(object, self)
  File "/home/erral/downloads/eggs/Zope-4.0b8-py3.7.egg/ZPublisher/BeforeTraverse.py", line 103, in __call__
    container, request)
  File "/home/erral/downloads/eggs/Products.CMFCore-2.4.0b6-py3.7.egg/Products/CMFCore/PortalObject.py", line 67, in __before_publishing_traverse__
    notify(BeforeTraverseEvent(self, REQUEST))
  File "/home/erral/downloads/eggs/zope.event-4.4-py3.7.egg/zope/event/__init__.py", line 32, in notify
    subscriber(event)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/event.py", line 27, in dispatch
    component_subscribers(event, None)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/_api.py", line 124, in subscribers
    return sitemanager.subscribers(objects, interface)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/registry.py", line 442, in subscribers
    return self.adapters.subscribers(objects, provided)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/adapter.py", line 607, in subscribers
    subscription(*objects)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/event.py", line 36, in objectEventNotify
    component_subscribers((event.object, event), None)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/_api.py", line 124, in subscribers
    return sitemanager.subscribers(objects, interface)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/registry.py", line 442, in subscribers
    return self.adapters.subscribers(objects, provided)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/adapter.py", line 607, in subscribers
    subscription(*objects)
  File "/home/erral/downloads/eggs/plone.theme-3.0.6-py3.7.egg/plone/theme/layer.py", line 28, in mark_layer
    skin = queryUtility(IBrowserSkinType, name=skin_name)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/_api.py", line 157, in queryUtility
    return getSiteManager(context).queryUtility(interface, name, default)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/registry.py", line 281, in queryUtility
    return self.utilities.lookup((), provided, name, default)
ValueError: name is not a string or unicode
2019-02-14 08:07:17,517 ERROR [plone.app.theming:138][waitress] Couldn't resolve /++theme++barceloneta/rules.xml
2019-02-14 08:07:17,517 ERROR [plone.transformchain:70][waitress] Unexpected error whilst trying to apply transform chain
Traceback (most recent call last):
  File "/home/erral/downloads/eggs/Zope-4.0b8-py3.7.egg/ZPublisher/WSGIPublisher.py", line 128, in transaction_pubevents
    yield
  File "/home/erral/downloads/eggs/Zope-4.0b8-py3.7.egg/ZPublisher/WSGIPublisher.py", line 276, in publish_module
    response = _publish(request, new_mod_info)
  File "/home/erral/downloads/eggs/Zope-4.0b8-py3.7.egg/ZPublisher/WSGIPublisher.py", line 198, in publish
    obj = request.traverse(path, validated_hook=validate_user)
  File "/home/erral/downloads/eggs/Zope-4.0b8-py3.7.egg/ZPublisher/BaseRequest.py", line 452, in traverse
    bpth(object, self)
  File "/home/erral/downloads/eggs/Zope-4.0b8-py3.7.egg/ZPublisher/BeforeTraverse.py", line 103, in __call__
    container, request)
  File "/home/erral/downloads/eggs/Products.CMFCore-2.4.0b6-py3.7.egg/Products/CMFCore/PortalObject.py", line 67, in __before_publishing_traverse__
    notify(BeforeTraverseEvent(self, REQUEST))
  File "/home/erral/downloads/eggs/zope.event-4.4-py3.7.egg/zope/event/__init__.py", line 32, in notify
    subscriber(event)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/event.py", line 27, in dispatch
    component_subscribers(event, None)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/_api.py", line 124, in subscribers
    return sitemanager.subscribers(objects, interface)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/registry.py", line 442, in subscribers
    return self.adapters.subscribers(objects, provided)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/adapter.py", line 607, in subscribers
    subscription(*objects)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/event.py", line 36, in objectEventNotify
    component_subscribers((event.object, event), None)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/_api.py", line 124, in subscribers
    return sitemanager.subscribers(objects, interface)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/registry.py", line 442, in subscribers
    return self.adapters.subscribers(objects, provided)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/adapter.py", line 607, in subscribers
    subscription(*objects)
  File "/home/erral/downloads/eggs/plone.theme-3.0.6-py3.7.egg/plone/theme/layer.py", line 28, in mark_layer
    skin = queryUtility(IBrowserSkinType, name=skin_name)
  File "/home/erral/downloads/eggs/zope.component-4.5-py3.7.egg/zope/component/_api.py", line 157, in queryUtility
    return getSiteManager(context).queryUtility(interface, name, default)
  File "/home/erral/downloads/eggs/zope.interface-4.6.0-py3.7-linux-x86_64.egg/zope/interface/registry.py", line 281, in queryUtility
    return self.utilities.lookup((), provided, name, default)
ValueError: name is not a string or unicode

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/erral/downloads/eggs/plone.transformchain-2.0.1-py3.7.egg/plone/transformchain/transformer.py", line 59, in __call__
    newResult = handler.transformIterable(result, encoding)
  File "/home/erral/downloads/eggs/plone.app.theming-4.0.0-py3.7.egg/plone/app/theming/transform.py", line 163, in transformIterable
    transform = self.setupTransform(runtrace=runtrace)
  File "/home/erral/downloads/eggs/plone.app.theming-4.0.0-py3.7.egg/plone/app/theming/transform.py", line 94, in setupTransform
    runtrace=runtrace
  File "/home/erral/downloads/eggs/plone.app.theming-4.0.0-py3.7.egg/plone/app/theming/utils.py", line 646, in compileThemeTransform
    runtrace=runtrace,
  File "/home/erral/downloads/eggs/diazo-1.2.11-py3.7.egg/diazo/compiler.py", line 141, in compile_theme
    read_network=read_network,
  File "/home/erral/downloads/eggs/diazo-1.2.11-py3.7.egg/diazo/rules.py", line 293, in process_rules
    rules_doc = etree.parse(rules, parser=rules_parser)
  File "src/lxml/etree.pyx", line 3424, in lxml.etree.parse
  File "src/lxml/parser.pxi", line 1840, in lxml.etree._parseDocument
  File "src/lxml/parser.pxi", line 1866, in lxml.etree._parseDocumentFromURL
  File "src/lxml/parser.pxi", line 1770, in lxml.etree._parseDocFromFile
  File "src/lxml/parser.pxi", line 1163, in lxml.etree._BaseParser._parseDocFromFile
  File "src/lxml/parser.pxi", line 601, in lxml.etree._ParserContext._handleParseResultDoc
  File "src/lxml/parser.pxi", line 711, in lxml.etree._handleParseResult
  File "src/lxml/parser.pxi", line 638, in lxml.etree._raiseParseError
OSError: Error reading file '/++theme++barceloneta/rules.xml': failed to load external entity "/++theme++barceloneta/rules.xml"

  • In another Plone Site, I also tried just saving the form and I also reproduced the error

What version of Plone/ Addons I am using:

  • Plone 5.2.a3 and Plone 5.3b1
  • Python 3.7.1
bug blocker

Most helpful comment

I was able to reproduce the issue on http://demo-latest-py3.plone.org and rendered the demo-site unuseable. I'm rebuilding it right now. Please do not try it there, only try this at home 馃槃

All 3 comments

I was able to reproduce the issue on http://demo-latest-py3.plone.org and rendered the demo-site unuseable. I'm rebuilding it right now. Please do not try it there, only try this at home 馃槃

I fixed it and redeployed http://demo-latest-py3.plone.org. So you can go ahead and try to break the demo-site again.

I tried but I couldn't break it :wink: Thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

pbauer picture pbauer  路  6Comments

pbauer picture pbauer  路  5Comments

davisagli picture davisagli  路  4Comments

ale-rt picture ale-rt  路  3Comments

rafaelbco picture rafaelbco  路  3Comments