Upgrade 5.1 to 5.2 does Not fail, but is broken resourceregistries

Today I have a weird upgrade error, I migrated to latest 5.1.x-Version and everything worked fine.

Also, my migration to 5.2.6 works fine - but after opening the site I get following errors and Traceback and I have idea were to look!

And I got a lot of these errors:

  • Resource not found
    • jquery.tinymce.js
    • form_tabbing.js
    • tiny_mce_gzip.js
    • toc.js
  • Error handling subrequest to http://localhost:8080/Plone/ .....
  • ...

Error in HTML

error while rendering plone.resourceregistries.scripts
error while rendering plone.resourceregistries.styles

Traceback

2021-11-09 21:17:33,355 ERROR   [plone.app.viewletmanager:118][waitress-3] Error while rendering viewlet-manager=plone.htmlhead.links, viewlet=plone.resourceregistries.styles
Traceback (most recent call last):
  File "/Users/xxxxxx/Projects/.buildout/eggs/plone.app.viewletmanager-3.1.2-py2.7.egg/plone/app/viewletmanager/manager.py", line 110, in render
    html.append(viewlet.render())
  File "/Users/xxxxxx/Projects/.buildout/eggs/plone.app.layout-3.4.6-py2.7.egg/plone/app/layout/viewlets/common.py", line 79, in render
    return self.index()
  File "/Users/xxxxxx/Projects/.buildout/eggs/Zope-4.6.3-py2.7.egg/Products/Five/browser/pagetemplatefile.py", line 126, in __call__
    return self.__func__(__self__, *args, **kw)
  File "/Users/xxxxxx/Projects/.buildout/eggs/Zope-4.6.3-py2.7.egg/Products/Five/browser/pagetemplatefile.py", line 61, in __call__
    sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
  File "/Users/xxxxxx/Projects/.buildout/eggs/zope.pagetemplate-4.5.0-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 135, in pt_render
    strictinsert=0, sourceAnnotations=sourceAnnotations
  File "/Users/xxxxxx/Projects/.buildout/eggs/Zope-4.6.3-py2.7.egg/Products/PageTemplates/engine.py", line 378, in __call__
    return template.render(**kwargs)
  File "/Users/xxxxxx/Projects/.buildout/eggs/z3c.pt-3.3.0-py2.7.egg/z3c/pt/pagetemplate.py", line 176, in render
    return base_renderer(**context)
  File "/Users/xxxxxx/Projects/.buildout/eggs/Chameleon-3.9.1-py2.7.egg/chameleon/zpt/template.py", line 302, in render
    return super(PageTemplate, self).render(**_kw)
  File "/Users/xxxxxx/Projects/.buildout/eggs/Chameleon-3.9.1-py2.7.egg/chameleon/template.py", line 215, in render
    raise_with_traceback(exc, tb)
  File "/Users/xxxxxx/Projects/.buildout/eggs/Chameleon-3.9.1-py2.7.egg/chameleon/template.py", line 192, in render
    self._render(stream, econtext, rcontext)
  File "/Users/xxxxxx/projects/plone/www/v5/instances/52_theme_v5/var/cache/fc6967f7777af79ab1700903bf5daa26.py", line 111, in render
    __iterator = _static_4694373328('path', u'view/styles', econtext=econtext)(_static_4694373776(econtext, __zt_tmp))
  File "/Users/xxxxxx/Projects/.buildout/eggs/zope.tales-5.1-py2.7.egg/zope/tales/expressions.py", line 250, in __call__
    return self._eval(econtext)
  File "/Users/xxxxxx/Projects/.buildout/eggs/Zope-4.6.3-py2.7.egg/Products/PageTemplates/Expressions.py", line 225, in _eval
    return render(ob, econtext.vars)
  File "/Users/xxxxxx/Projects/.buildout/eggs/Zope-4.6.3-py2.7.egg/Products/PageTemplates/Expressions.py", line 155, in render
    ob = ob()
  File "/Users/xxxxxx/Projects/.buildout/eggs/Products.CMFPlone-5.2.5-py2.7.egg/Products/CMFPlone/resources/browser/styles.py", line 105, in styles
    result = self.ordered_bundles_result()
  File "/Users/xxxxxx/Projects/.buildout/eggs/Products.CMFPlone-5.2.5-py2.7.egg/Products/CMFPlone/resources/browser/resource.py", line 222, in ordered_bundles_result
    self.get_data(bundle, result)
  File "/Users/xxxxxx/Projects/.buildout/eggs/Products.CMFPlone-5.2.5-py2.7.egg/Products/CMFPlone/resources/browser/styles.py", line 60, in get_data
    cookWhenChangingSettings(self.context, bundle)
  File "/Users/xxxxxx/Projects/.buildout/eggs/Products.CMFPlone-5.2.5-py2.7.egg/Products/CMFPlone/resources/browser/cook.py", line 87, in cookWhenChangingSettings
    if package not in resources:
  File "/Users/xxxxxx/.pyenv/versions/2.7.18/lib/python2.7/UserDict.py", line 139, in __contains__
    return self.has_key(key)
  File "/Users/xxxxxx/Projects/.buildout/eggs/plone.registry-1.2.1-py2.7.egg/plone/registry/recordsproxy.py", line 138, in has_key
    key = self._validate(key)
  File "/Users/xxxxxx/Projects/.buildout/eggs/plone.registry-1.2.1-py2.7.egg/plone/registry/recordsproxy.py", line 132, in _validate
    'expected a valid key (alphanumeric or underscore, starting '
TypeError: expected a valid key (alphanumeric or underscore, starting with alpha)

 - Expression: "view/styles"
 - Filename:   ... -py2.7.egg/Products/CMFPlone/resources/browser/styles.pt
 - Location:   (line 1: col 26)
 - Source:     <tal:styles repeat="style view/styles"
                                         ^^^^^^^^^^^
 - Arguments:  repeat: <Products.PageTemplates.engine.RepeatDictWrapper object at 0x11de2c370>
               template: <Products.Five.browser.pagetemplatefile.ViewPageTemplateFile object at 0x11c56ccd0>
               views: <Products.Five.browser.pagetemplatefile.ViewMapper object at 0x121a62190>
               request: <WSGIRequest, URL=http://localhost:8080/Plone/collapsiblesections.js>
               args: ()
               here: <PloneSite at /Plone>
               user: <SpecialUser 'Anonymous User'>
               nothing: None
               translate: <function translate at 0x122269150>
               container: <PloneSite at /Plone>
               modules: <Products.PageTemplates.ZRPythonExpr._SecureModuleImporter object at 0x108077e50>
               traverse_subpath: []
               default: <DEFAULT>
               loop: {}
               context: <PloneSite at /Plone>
               view: <Products.Five.viewlet.viewlet.SimpleViewletClass from /Users/xxxxxx/Projects/.buildout/eggs/Products.CMFPlone-5.2.5-py2.7.egg/Products/CMFPlone/resources/browser/styles.pt object at 0x121c0c150>
               target_language: 'en'
               root: <Application at >
               options: {}
               attrs: {}

Ok, it seems an old upgrade_step does not delete old resources (legacy javascript) - after deleting all of them it works

Sorry for the noise