See
It's currently unclear if this is local issue (perhaps tied to Fedore Core 26) or a more systematic failure.
And it is unclear how to reproduce this (it is completely reproducible on a larger migration setup on my machine)...requires more analysis.
Similar issue in a completely different customer project.
Allow me to mark this as blocker because this is a serious instability.
And still no idea how to reproduce that in a normal Plone context. This traceback happens on the UGent migration environment on Debian 9 , Python 3.7.3 and some add-ons (Dexterity types only...nothing fancy).
```
WARNING:plone.app.contenttypes.indexers:Lookup of PrimaryField failed for http://nohost/plone_portal/microscopycentre/img/fotos-specialist-course2018.htm/demo10-jpg If renaming or importing please reindex!
WARNING:plone.app.contenttypes.indexers:Lookup of PrimaryField failed for http://nohost/plone_portal/microscopycentre/img/fotos-specialist-course2018.htm/kick-off2-jpg If renaming or importing please reindex!
WARNING:plone.app.contenttypes.indexers:Lookup of PrimaryField failed for http://nohost/plone_portal/microscopycentre/img/fotos-specialist-course2018.htm/kick-off3-jpg If renaming or importing please reindex!
WARNING:plone.app.contenttypes.indexers:Lookup of PrimaryField failed for http://nohost/plone_portal/microscopycentre/img/fotos-specialist-course2018.htm/kick-off6-jpg If renaming or importing please reindex!
WARNING:plone.app.contenttypes.indexers:Lookup of PrimaryField failed for http://nohost/plone_portal/microscopycentre/img/fotos-specialist-course2018.htm/kick-off5-jpg If renaming or importing please reindex!
WARNING:plone.app.contenttypes.indexers:Lookup of PrimaryField failed for http://nohost/plone_portal/microscopycentre/img/toon-jpg If renaming or importing please reindex!
WARNING:plone.app.contenttypes.indexers:Lookup of PrimaryField failed for http://nohost/plone_portal/microscopycentre/img/wf.htm If renaming or importing please reindex!
WARNING:plone.app.contenttypes.indexers:Lookup of PrimaryField failed for http://nohost/plone_portal/microscopycentre/img/toon.htm If renaming or importing please reindex!
WARNING:plone.app.contenttypes.indexers:Lookup of PrimaryField failed for http://nohost/plone_portal/microscopycentre/img/unite.htm If renaming or importing please reindex!
WARNING:plone.app.contenttypes.indexers:Lookup of PrimaryField failed for http://nohost/plone_portal/microscopycentre/img/spt If renaming or importing please reindex!
WARNING:plone.app.contenttypes.indexers:Lookup of PrimaryField failed for http://nohost/plone_portal/openuniversiteit/nl/contact/studiegids2015.pdf If renaming or importing please reindex!
WARNING:plone.app.contenttypes.indexers:Lookup of PrimaryField failed for http://nohost/plone_portal/openuniversiteit/nl/contact/studiegids2015.pdf If renaming or importing please reindex!
Fatal Python error: Cannot recover from stack overflow.
Thread 0x00007fe43f8b0700 (most recent call first):
File "/opt/python-3.7.3/lib/python3.7/selectors.py", line 468 in select
File "/opt/python-3.7.3/lib/python3.7/asyncio/base_events.py", line 1739 in _run_once
File "/opt/python-3.7.3/lib/python3.7/asyncio/base_events.py", line 539 in run_forever
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/ZEO-5.2.1-py3.7.egg/ZEO/asyncio/client.py", line 861 in run
File "/opt/python-3.7.3/lib/python3.7/threading.py", line 865 in run
File "/opt/python-3.7.3/lib/python3.7/threading.py", line 917 in _bootstrap_inner
File "/opt/python-3.7.3/lib/python3.7/threading.py", line 885 in _bootstrap
Current thread 0x00007fe44e046500 (most recent call first):
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.component-4.5-py3.7.egg/zope/component/hooks.py", line 103 in getSiteManager
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.component-4.5-py3.7.egg/zope/component/_api.py", line 157 in queryUtility
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/DynamicType.py", line 71 in getTypeInfo
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 96 in getLayout
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 75 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 76 in __call__
...
Aborted
```
So, I have no Fedora Core to test this. Does it happen in a Fedora Core Docker container as well? W/o any possibility to make this happen its unlikely we can fix anything here.
So, I have no Fedora Core to test this. Does it happen in a Fedora Core Docker container as well? W/o any possibility to make this happen its unlikely we can fix anything here.
It also happens in my second customer project on Debian 9
This looks like it runs into an infinite loop, but then Python crashes before a MaximumRecursion error happens. Is it possible to extract the conditition when this happens?
Will try to hunt this down here. Problem is that you need a longer running catalog rebuild a precondition (my other crashes in Onkopedia project) happended within a simple browser view...
Seems it is possible to crash in this way, here I found something somehow related explaining it in context of logging https://bugs.python.org/issue36272#msg337843
I thougt the issues would be somehow bound to Python 3.6 only and perhaps some specialites of the Fedora system Python but the issue is more serious - Python 3.7.3 self-compiled on Debian 9 and the issue can happen in various context...but I don't see a pattern. At least it appears reproducible across instance restart if you have found a situation where the crash occurs.
I filed a Python bug report:
It fails here in line 76 of our code:
It runs into a recursion, which is the Plone related bug here we need to fix.
This must not crash the interpreter, but lead to a MaximumRecursionError.
Perhaps true but it is still weird that Plone crashes with an error inside a browser view while the same code and same parameters did not cause crash on a different machine...this confuses me.
For debugging the recursion inside browserdefault.py:
@security.protected(View)
def __call__(self):
"""
Resolve and return the selected view template applied to the object.
This should not consider the default page.
"""
template = self.unrestrictedTraverse(self.getLayout())
print(self, self.__class__, self.getLayout() , template)
return template()
<Folder at diploma> <class 'plone.app.contenttypes.content.Folder'> None <Folder at diploma>
<Folder at diploma> <class 'plone.app.contenttypes.content.Folder'> None <Folder at diploma>
<Folder at diploma> <class 'plone.app.contenttypes.content.Folder'> None <Folder at diploma>
<Folder at diploma> <class 'plone.app.contenttypes.content.Folder'> None <Folder at diploma>
<Folder at diploma> <class 'plone.app.contenttypes.content.Folder'> None <Folder at diploma>
<Folder at diploma> <class 'plone.app.contenttypes.content.Folder'> None <Folder at diploma>
So it seems that if self.getLayout() return None the view calls itself again.
Might it be a misconfiguration in the fti for the given portal_type?
Should we just raise an exception if self.getLayout() returns None?
-> the template is the Folder
-> Recursion.
Question is, why is Layout None? This must not happen, right?
Anyway, we should raise here if getLayout() is None.
Looking further, in https://github.com/plone/Products.CMFDynamicViewFTI/blob/c14c984c690fb89d158d3a025d00e2e1795f23ed/Products/CMFDynamicViewFTI/browserdefault.py#L96-L98 there is probably no FTI found, which is odd too.
And further in https://github.com/plone/Products.CMFDynamicViewFTI/blob/c14c984c690fb89d158d3a025d00e2e1795f23ed/Products/CMFDynamicViewFTI/browserdefault.py#L96-L98 the only way to return None is to have a default of None.
Further, the getDefaultViewMethod never can be None, because a str() of whatever value come in is returned.
@zopyx, may you add some prints at the places above to see if my hypothesis is right?
@zopyx, may you add some prints at the places above to see if my hypothesis is right?
Working on it
<Folder at /plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma>
>>> doc.portal_type
'Folder'
>>> doc.getLayout()
FTI for http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma: None <class 'plone.app.contenttypes.content.Folder'>
>>> doc.getTypeInfo()
>>> doc.getDefaultViewMethod()
The fti is None because I am working from the debugger console without having called setSite().
This explains _this_ recursion but it does not explain the Python crash.
Well, Python exits fatally to avoid the worse:
[ale@emily tmp]$ cat test.py
def test():
try:
test()
except:
test()
test()
[ale@emily tmp]$ python3.7 test.py
Fatal Python error: Cannot recover from stack overflow.
Current thread 0x00007f99af9bc740 (most recent call first):
File "test.py", line 3 in test
...
Aborted (core dumped)
This is script which caused the error above (however without calling setSite()).
from zope.component.hooks import setSite
import transaction
site = app.plone_portal
setSite(site)
site.portal_catalog.manage_catalogRebuild()
import transaction
transaction.commit()
Now with setSite():
bin/instance run foo.py
Class Products.CMFFormController.ControllerPythonScript.ControllerPythonScript has a security declaration for nonexistent method 'ZPythonScriptHTML_changePrefs'
Class Products.CMFFormController.ControllerValidator.ControllerValidator has a security declaration for nonexistent method 'ZPythonScriptHTML_changePrefs'
/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/pyScss-1.3.5-py3.7-linux-x86_64.egg/scss/selector.py:54: FutureWarning: Possible nested set at position 329
''', re.VERBOSE | re.MULTILINE)
WARNING:plone.behavior:Specifying 'for' in behavior 'Tiles' if no 'factory' is given has no effect and is superfluous.
WARNING:PrintingMailHost:Hold on to your hats folks, I'm a-patchin'
WARNING:PrintingMailHost:
******************************************************************************
Monkey patching MailHosts to print e-mails to the terminal.
This is instead of sending them.
NO MAIL WILL BE SENT FROM ZOPE AT ALL!
Turn off debug mode or remove Products.PrintingMailHost from the eggs
or remove ENABLE_PRINTING_MAILHOST from the environment variables to
return to normal e-mail sending.
See https://pypi.python.org/pypi/Products.PrintingMailHost
******************************************************************************
/home/ajung/sandboxes/ugent-portaal-plone-4x/parts/instance/bin/interpreter:1: DeprecationWarning: makerequest is deprecated. Please import from Testing.makerequest.
#!/home/ajung/sandboxes/ugent-portaal-plone-4x/bin/python3
FTI for http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma: <DexterityFTI at Folder> <class 'plone.app.contenttypes.content.Folder'>
FTI for http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma: <DexterityFTI at Folder> <class 'plone.app.contenttypes.content.Folder'>
http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma <class 'plone.app.contenttypes.content.Folder'> listing_view <Products.Five.browser.metaconfigure.SimpleViewClass from /home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.contenttypes-2.0.5-py3.7.egg/plone/app/contenttypes/browser/templates/listing.pt object at 0x7fc90eb7fd68>
FTI for http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma: <DexterityFTI at Folder> <class 'plone.app.contenttypes.content.Folder'>
FTI for http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma: <DexterityFTI at Folder> <class 'plone.app.contenttypes.content.Folder'>
http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma <class 'plone.app.contenttypes.content.Folder'> listing_view <Products.Five.browser.metaconfigure.SimpleViewClass from /home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.contenttypes-2.0.5-py3.7.egg/plone/app/contenttypes/browser/templates/listing.pt object at 0x7fc90ea59ef0>
FTI for http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma: <DexterityFTI at Folder> <class 'plone.app.contenttypes.content.Folder'>
ERROR:portlets:Error while determining renderer availability of portlet ('context' '/plone_portal' 'navigation'): 'externalEditorEnabled'
- Expression: "provider:plone.belowcontentbody"
- Filename: ... egg/Products/CMFPlone/browser/templates/main_template.pt
- Location: (line 100: col 70)
- Source: ...
^
- Expression: "context/@@main_template/macros/master"
- Filename: ... .egg/plone/app/contenttypes/browser/templates/listing.pt
- Location: (line 6: col 21)
- Source: ... tal:use-macro="context/@@main_template/macros/master"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Arguments: template: <ViewPageTemplateFile - at 0x7fc90eb93278>
options: {...} (0)
args: <tuple - at 0x7fc95bf1f048>
nothing: <NoneType - at 0x5607b13d9820>
modules: <_SecureModuleImporter - at 0x7fc9537f6cc0>
request: <HTTPRequest - at 0x7fc94f18eac8>
view: <SimpleViewClass from /home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.contenttypes-2.0.5-py3.7.egg/plone/app/contenttypes/browser/templates/listing.pt listing_view at 0x7fc90ea59ef0>
context: <ImplicitAcquisitionWrapper diploma at 0x7fc90eaf5ee8>
views: <ViewMapper - at 0x7fc90ea362e8>
here: <ImplicitAcquisitionWrapper diploma at 0x7fc90eaf5ee8>
container: <ImplicitAcquisitionWrapper diploma at 0x7fc90eaf5ee8>
root: <ImplicitAcquisitionWrapper at 0x7fc9471ef678>
traverse_subpath: <list - at 0x7fc90aff2b48>
user: <UnrestrictedUser - at 0x7fc95444b5f8>
default: <object - at 0x7fc95befaa60>
repeat: {...} (0)
loop: {...} (1)
wrapped_repeat: <SafeMapping - at 0x7fc90e92d088>
target_language: <NoneType - at 0x5607b13d9820>
translate: <function translate at 0x7fc90c8d9598>
macroname: master
Traceback (most recent call last):
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Chameleon-3.6.1-py3.7.egg/chameleon/template.py", line 187, in render
self._render(stream, econtext, rcontext)
File "db171fe97358b08fd047cf0e2369cb30.py", line 1750, in render
File "88010f8eff8761c572c5f6b77e8bcebb.py", line 676, in render_master
File "88010f8eff8761c572c5f6b77e8bcebb.py", line 1250, in render_content
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/z3c.pt-3.2.0-py3.7.egg/z3c/pt/expressions.py", line 70, in render_content_provider
cp.update()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.viewlet-4.2.1-py3.7.egg/zope/viewlet/manager.py", line 155, in update
self._updateViewlets()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.viewlet-4.2.1-py3.7.egg/zope/viewlet/manager.py", line 161, in _updateViewlets
viewlet.update()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.layout-3.1.3-py3.7.egg/plone/app/layout/viewlets/content.py", line 55, in update
self.actions = self.context_state.actions('document_actions')
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.memoize-2.0.1-py3.7.egg/plone/memoize/view.py", line 48, in memogetter
value = cache[key] = func(*args, **kwargs)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.layout-3.1.3-py3.7.egg/plone/app/layout/globals/context.py", line 246, in actions
max=max,
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFPlone-5.2rc3-py3.7.egg/Products/CMFPlone/ActionsTool.py", line 85, in listActionInfos
if check_condition and not ai['available']:
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/ActionInformation.py", line 212, in __getitem__
value = self.data[key] = value(self._ec)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/Expression.py", line 53, in __call__
res = compiled(econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.tales-4.3-py3.7.egg/zope/tales/expressions.py", line 234, in __call__
return self._eval(econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/PageTemplates/Expressions.py", line 152, in _eval
ob = self._subexprs[-1](econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.tales-4.3-py3.7.egg/zope/tales/expressions.py", line 139, in _eval
ob = self._traverser(ob, element, econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/PageTemplates/Expressions.py", line 77, in boboAwareZopeTraverse
object = object.restrictedTraverse(name)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/OFS/Traversable.py", line 366, in restrictedTraverse
return self.unrestrictedTraverse(path, default, restricted=True)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/OFS/Traversable.py", line 349, in unrestrictedTraverse
raise e
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/OFS/Traversable.py", line 300, in unrestrictedTraverse
next = obj[name]
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.folder-3.0.0-py3.7.egg/plone/folder/ordered.py", line 241, in __getitem__
raise KeyError(key)
KeyError: 'externalEditorEnabled'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.portlets-2.3.1-py3.7.egg/plone/portlets/manager.py", line 119, in _lazyLoadPortlets
isAvailable = renderer.available
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.portlets-4.4.2-py3.7.egg/plone/app/portlets/portlets/navigation.py", line 211, in available
rootpath = self.getNavRootPath()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.memoize-2.0.1-py3.7.egg/plone/memoize/instance.py", line 53, in memogetter
val = func(*args, **kwargs)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.portlets-4.4.2-py3.7.egg/plone/app/portlets/portlets/navigation.py", line 295, in getNavRootPath
self.data.root_uid)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.portlets-4.4.2-py3.7.egg/plone/app/portlets/portlets/navigation.py", line 510, in getRootPath
root = uuidToObject(root)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.uuid-2.0.0-py3.7.egg/plone/app/uuid/utils.py", line 35, in uuidToObject
brain = uuidToCatalogBrain(uuid)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.uuid-2.0.0-py3.7.egg/plone/app/uuid/utils.py", line 54, in uuidToCatalogBrain
result = catalog(UID=uuid)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFPlone-5.2rc3-py3.7.egg/Products/CMFPlone/CatalogTool.py", line 429, in searchResults
processQueue()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/indexing.py", line 95, in processQueue
processed = queue.process()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/indexing.py", line 222, in process
util.reindex(obj, attributes, update_metadata=metadata)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/indexing.py", line 50, in reindex
update_metadata=update_metadata)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/CatalogTool.py", line 367, in _reindexObject
self.catalog_object(object, uid, idxs, update_metadata)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFPlone-5.2rc3-py3.7.egg/Products/CMFPlone/CatalogTool.py", line 351, in catalog_object
update_metadata, pghandler=pghandler)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.ZCatalog-4.4-py3.7.egg/Products/ZCatalog/ZCatalog.py", line 498, in catalog_object
update_metadata=update_metadata)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.ZCatalog-4.4-py3.7.egg/Products/ZCatalog/Catalog.py", line 338, in catalogObject
index = self.updateMetadata(object, uid, None)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.ZCatalog-4.4-py3.7.egg/Products/ZCatalog/Catalog.py", line 289, in updateMetadata
newDataRecord = self.recordify(object)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.ZCatalog-4.4-py3.7.egg/Products/ZCatalog/Catalog.py", line 424, in recordify
attr = attr()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 77, in __call__
return template()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.browserpage-4.3.0-py3.7.egg/zope/browserpage/simpleviewclass.py", line 41, in __call__
return self.index(*args, **kw)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/Five/browser/pagetemplatefile.py", line 125, in __call__
return self.__func__(__self__, *args, **kw)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/Five/browser/pagetemplatefile.py", line 60, in __call__
sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.pagetemplate-4.4.1-py3.7.egg/zope/pagetemplate/pagetemplate.py", line 135, in pt_render
strictinsert=0, sourceAnnotations=sourceAnnotations
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/PageTemplates/engine.py", line 90, in __call__
return self.template.render(**kwargs)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/z3c.pt-3.2.0-py3.7.egg/z3c/pt/pagetemplate.py", line 173, in render
return base_renderer(**context)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Chameleon-3.6.1-py3.7.egg/chameleon/zpt/template.py", line 306, in render
return super(PageTemplate, self).render(**_kw)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Chameleon-3.6.1-py3.7.egg/chameleon/template.py", line 209, in render
raise_with_traceback(exc, tb)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Chameleon-3.6.1-py3.7.egg/chameleon/utils.py", line 75, in raise_with_traceback
raise exc
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Chameleon-3.6.1-py3.7.egg/chameleon/template.py", line 187, in render
self._render(stream, econtext, rcontext)
File "db171fe97358b08fd047cf0e2369cb30.py", line 1750, in render
File "88010f8eff8761c572c5f6b77e8bcebb.py", line 676, in render_master
File "88010f8eff8761c572c5f6b77e8bcebb.py", line 1250, in render_content
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/z3c.pt-3.2.0-py3.7.egg/z3c/pt/expressions.py", line 70, in render_content_provider
cp.update()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.viewlet-4.2.1-py3.7.egg/zope/viewlet/manager.py", line 155, in update
self._updateViewlets()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.viewlet-4.2.1-py3.7.egg/zope/viewlet/manager.py", line 161, in _updateViewlets
viewlet.update()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.layout-3.1.3-py3.7.egg/plone/app/layout/viewlets/content.py", line 55, in update
self.actions = self.context_state.actions('document_actions')
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.memoize-2.0.1-py3.7.egg/plone/memoize/view.py", line 48, in memogetter
value = cache[key] = func(*args, **kwargs)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.layout-3.1.3-py3.7.egg/plone/app/layout/globals/context.py", line 246, in actions
max=max,
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFPlone-5.2rc3-py3.7.egg/Products/CMFPlone/ActionsTool.py", line 85, in listActionInfos
if check_condition and not ai['available']:
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/ActionInformation.py", line 212, in __getitem__
value = self.data[key] = value(self._ec)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/Expression.py", line 53, in __call__
res = compiled(econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.tales-4.3-py3.7.egg/zope/tales/expressions.py", line 234, in __call__
return self._eval(econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/PageTemplates/Expressions.py", line 152, in _eval
ob = self._subexprs[-1](econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.tales-4.3-py3.7.egg/zope/tales/expressions.py", line 139, in _eval
ob = self._traverser(ob, element, econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/PageTemplates/Expressions.py", line 77, in boboAwareZopeTraverse
object = object.restrictedTraverse(name)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/OFS/Traversable.py", line 366, in restrictedTraverse
return self.unrestrictedTraverse(path, default, restricted=True)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/OFS/Traversable.py", line 349, in unrestrictedTraverse
raise e
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/OFS/Traversable.py", line 300, in unrestrictedTraverse
next = obj[name]
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.folder-3.0.0-py3.7.egg/plone/folder/ordered.py", line 241, in __getitem__
raise KeyError(key)
KeyError: 'externalEditorEnabled'
- Expression: "provider:plone.belowcontentbody"
- Filename: ... egg/Products/CMFPlone/browser/templates/main_template.pt
- Location: (line 100: col 70)
- Source: ...
^
- Expression: "context/@@main_template/macros/master"
- Filename: ... .egg/plone/app/contenttypes/browser/templates/listing.pt
- Location: (line 6: col 21)
- Source: ... tal:use-macro="context/@@main_template/macros/master"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Arguments: template: <ViewPageTemplateFile - at 0x7fc90eb93278>
options: {...} (0)
args: <tuple - at 0x7fc95bf1f048>
nothing: <NoneType - at 0x5607b13d9820>
modules: <_SecureModuleImporter - at 0x7fc9537f6cc0>
request: <HTTPRequest - at 0x7fc94f18eac8>
view: <SimpleViewClass from /home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.contenttypes-2.0.5-py3.7.egg/plone/app/contenttypes/browser/templates/listing.pt listing_view at 0x7fc90ea59ef0>
context: <ImplicitAcquisitionWrapper diploma at 0x7fc90eaf5ee8>
views: <ViewMapper - at 0x7fc90ea362e8>
here: <ImplicitAcquisitionWrapper diploma at 0x7fc90eaf5ee8>
container: <ImplicitAcquisitionWrapper diploma at 0x7fc90eaf5ee8>
root: <ImplicitAcquisitionWrapper at 0x7fc9471ef678>
traverse_subpath: <list - at 0x7fc90aff2b48>
user: <UnrestrictedUser - at 0x7fc95444b5f8>
default: <object - at 0x7fc95befaa60>
repeat: {...} (0)
loop: {...} (1)
wrapped_repeat: <SafeMapping - at 0x7fc90e92d088>
target_language: <NoneType - at 0x5607b13d9820>
translate: <function translate at 0x7fc90c8d9598>
macroname: master
FTI for http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma: <DexterityFTI at Folder> <class 'plone.app.contenttypes.content.Folder'>
FTI for http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma: <DexterityFTI at Folder> <class 'plone.app.contenttypes.content.Folder'>
FTI for http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma: <DexterityFTI at Folder> <class 'plone.app.contenttypes.content.Folder'>
http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma <class 'plone.app.contenttypes.content.Folder'> listing_view <Products.Five.browser.metaconfigure.SimpleViewClass from /home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.contenttypes-2.0.5-py3.7.egg/plone/app/contenttypes/browser/templates/listing.pt object at 0x7fc912f5be48>
FTI for http://nohost/plone_portal/openuniversiteit/nl/studerenaanopenuniversiteit/diploma: <DexterityFTI at Folder> <class 'plone.app.contenttypes.content.Folder'>
Traceback (most recent call last):
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Chameleon-3.6.1-py3.7.egg/chameleon/template.py", line 187, in render
self._render(stream, econtext, rcontext)
File "db171fe97358b08fd047cf0e2369cb30.py", line 1750, in render
File "88010f8eff8761c572c5f6b77e8bcebb.py", line 676, in render_master
File "88010f8eff8761c572c5f6b77e8bcebb.py", line 1250, in render_content
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/z3c.pt-3.2.0-py3.7.egg/z3c/pt/expressions.py", line 70, in render_content_provider
cp.update()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.viewlet-4.2.1-py3.7.egg/zope/viewlet/manager.py", line 155, in update
self._updateViewlets()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.viewlet-4.2.1-py3.7.egg/zope/viewlet/manager.py", line 161, in _updateViewlets
viewlet.update()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.layout-3.1.3-py3.7.egg/plone/app/layout/viewlets/content.py", line 55, in update
self.actions = self.context_state.actions('document_actions')
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.memoize-2.0.1-py3.7.egg/plone/memoize/view.py", line 48, in memogetter
value = cache[key] = func(*args, **kwargs)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.layout-3.1.3-py3.7.egg/plone/app/layout/globals/context.py", line 246, in actions
max=max,
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFPlone-5.2rc3-py3.7.egg/Products/CMFPlone/ActionsTool.py", line 85, in listActionInfos
if check_condition and not ai['available']:
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/ActionInformation.py", line 212, in __getitem__
value = self.data[key] = value(self._ec)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/Expression.py", line 53, in __call__
res = compiled(econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.tales-4.3-py3.7.egg/zope/tales/expressions.py", line 234, in __call__
return self._eval(econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/PageTemplates/Expressions.py", line 152, in _eval
ob = self._subexprs[-1](econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.tales-4.3-py3.7.egg/zope/tales/expressions.py", line 139, in _eval
ob = self._traverser(ob, element, econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/PageTemplates/Expressions.py", line 77, in boboAwareZopeTraverse
object = object.restrictedTraverse(name)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/OFS/Traversable.py", line 366, in restrictedTraverse
return self.unrestrictedTraverse(path, default, restricted=True)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/OFS/Traversable.py", line 349, in unrestrictedTraverse
raise e
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/OFS/Traversable.py", line 300, in unrestrictedTraverse
next = obj[name]
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.folder-3.0.0-py3.7.egg/plone/folder/ordered.py", line 241, in __getitem__
raise KeyError(key)
KeyError: 'externalEditorEnabled'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/parts/instance/bin/interpreter", line 294, in <module>
exec(_val)
File "<string>", line 1, in <module>
File "foo.py", line 10, in <module>
transaction.commit()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/transaction-2.4.0-py3.7.egg/transaction/_manager.py", line 252, in commit
return self.manager.commit()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/transaction-2.4.0-py3.7.egg/transaction/_manager.py", line 131, in commit
return self.get().commit()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/transaction-2.4.0-py3.7.egg/transaction/_transaction.py", line 296, in commit
self._callBeforeCommitHooks()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/transaction-2.4.0-py3.7.egg/transaction/_transaction.py", line 367, in _callBeforeCommitHooks
hook(*args, **kws)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/indexing.py", line 312, in before_commit
self.queue.process()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/indexing.py", line 222, in process
util.reindex(obj, attributes, update_metadata=metadata)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/indexing.py", line 50, in reindex
update_metadata=update_metadata)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/CatalogTool.py", line 367, in _reindexObject
self.catalog_object(object, uid, idxs, update_metadata)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFPlone-5.2rc3-py3.7.egg/Products/CMFPlone/CatalogTool.py", line 351, in catalog_object
update_metadata, pghandler=pghandler)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.ZCatalog-4.4-py3.7.egg/Products/ZCatalog/ZCatalog.py", line 498, in catalog_object
update_metadata=update_metadata)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.ZCatalog-4.4-py3.7.egg/Products/ZCatalog/Catalog.py", line 338, in catalogObject
index = self.updateMetadata(object, uid, None)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.ZCatalog-4.4-py3.7.egg/Products/ZCatalog/Catalog.py", line 289, in updateMetadata
newDataRecord = self.recordify(object)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.ZCatalog-4.4-py3.7.egg/Products/ZCatalog/Catalog.py", line 424, in recordify
attr = attr()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 77, in __call__
return template()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.browserpage-4.3.0-py3.7.egg/zope/browserpage/simpleviewclass.py", line 41, in __call__
return self.index(*args, **kw)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/Five/browser/pagetemplatefile.py", line 125, in __call__
return self.__func__(__self__, *args, **kw)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/Five/browser/pagetemplatefile.py", line 60, in __call__
sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.pagetemplate-4.4.1-py3.7.egg/zope/pagetemplate/pagetemplate.py", line 135, in pt_render
strictinsert=0, sourceAnnotations=sourceAnnotations
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/PageTemplates/engine.py", line 90, in __call__
return self.template.render(**kwargs)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/z3c.pt-3.2.0-py3.7.egg/z3c/pt/pagetemplate.py", line 173, in render
return base_renderer(**context)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Chameleon-3.6.1-py3.7.egg/chameleon/zpt/template.py", line 306, in render
return super(PageTemplate, self).render(**_kw)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Chameleon-3.6.1-py3.7.egg/chameleon/template.py", line 187, in render
self._render(stream, econtext, rcontext)
File "db171fe97358b08fd047cf0e2369cb30.py", line 1750, in render
File "88010f8eff8761c572c5f6b77e8bcebb.py", line 574, in render_master
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/z3c.pt-3.2.0-py3.7.egg/z3c/pt/expressions.py", line 70, in render_content_provider
cp.update()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.viewlet-4.2.1-py3.7.egg/zope/viewlet/manager.py", line 155, in update
self._updateViewlets()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.viewlet-4.2.1-py3.7.egg/zope/viewlet/manager.py", line 161, in _updateViewlets
viewlet.update()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.layout-3.1.3-py3.7.egg/plone/app/layout/viewlets/common.py", line 393, in update
self.portal_tabs = portal_tabs_view.topLevelTabs()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFPlone-5.2rc3-py3.7.egg/Products/CMFPlone/browser/navigation.py", line 146, in topLevelTabs
rawresult = catalog.searchResults(query)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFPlone-5.2rc3-py3.7.egg/Products/CMFPlone/CatalogTool.py", line 429, in searchResults
processQueue()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/indexing.py", line 95, in processQueue
processed = queue.process()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/indexing.py", line 222, in process
util.reindex(obj, attributes, update_metadata=metadata)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/indexing.py", line 50, in reindex
update_metadata=update_metadata)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/CatalogTool.py", line 367, in _reindexObject
self.catalog_object(object, uid, idxs, update_metadata)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFPlone-5.2rc3-py3.7.egg/Products/CMFPlone/CatalogTool.py", line 351, in catalog_object
update_metadata, pghandler=pghandler)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.ZCatalog-4.4-py3.7.egg/Products/ZCatalog/ZCatalog.py", line 498, in catalog_object
update_metadata=update_metadata)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.ZCatalog-4.4-py3.7.egg/Products/ZCatalog/Catalog.py", line 338, in catalogObject
index = self.updateMetadata(object, uid, None)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.ZCatalog-4.4-py3.7.egg/Products/ZCatalog/Catalog.py", line 289, in updateMetadata
newDataRecord = self.recordify(object)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.ZCatalog-4.4-py3.7.egg/Products/ZCatalog/Catalog.py", line 424, in recordify
attr = attr()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFDynamicViewFTI-6.0.1-py3.7.egg/Products/CMFDynamicViewFTI/browserdefault.py", line 77, in __call__
return template()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.browserpage-4.3.0-py3.7.egg/zope/browserpage/simpleviewclass.py", line 41, in __call__
return self.index(*args, **kw)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/Five/browser/pagetemplatefile.py", line 125, in __call__
return self.__func__(__self__, *args, **kw)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/Five/browser/pagetemplatefile.py", line 60, in __call__
sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.pagetemplate-4.4.1-py3.7.egg/zope/pagetemplate/pagetemplate.py", line 135, in pt_render
strictinsert=0, sourceAnnotations=sourceAnnotations
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/PageTemplates/engine.py", line 90, in __call__
return self.template.render(**kwargs)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/z3c.pt-3.2.0-py3.7.egg/z3c/pt/pagetemplate.py", line 173, in render
return base_renderer(**context)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Chameleon-3.6.1-py3.7.egg/chameleon/zpt/template.py", line 306, in render
return super(PageTemplate, self).render(**_kw)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Chameleon-3.6.1-py3.7.egg/chameleon/template.py", line 209, in render
raise_with_traceback(exc, tb)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Chameleon-3.6.1-py3.7.egg/chameleon/utils.py", line 75, in raise_with_traceback
raise exc
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Chameleon-3.6.1-py3.7.egg/chameleon/template.py", line 187, in render
self._render(stream, econtext, rcontext)
File "db171fe97358b08fd047cf0e2369cb30.py", line 1750, in render
File "88010f8eff8761c572c5f6b77e8bcebb.py", line 676, in render_master
File "88010f8eff8761c572c5f6b77e8bcebb.py", line 1250, in render_content
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/z3c.pt-3.2.0-py3.7.egg/z3c/pt/expressions.py", line 70, in render_content_provider
cp.update()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.viewlet-4.2.1-py3.7.egg/zope/viewlet/manager.py", line 155, in update
self._updateViewlets()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.viewlet-4.2.1-py3.7.egg/zope/viewlet/manager.py", line 161, in _updateViewlets
viewlet.update()
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.layout-3.1.3-py3.7.egg/plone/app/layout/viewlets/content.py", line 55, in update
self.actions = self.context_state.actions('document_actions')
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.memoize-2.0.1-py3.7.egg/plone/memoize/view.py", line 48, in memogetter
value = cache[key] = func(*args, **kwargs)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.layout-3.1.3-py3.7.egg/plone/app/layout/globals/context.py", line 246, in actions
max=max,
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFPlone-5.2rc3-py3.7.egg/Products/CMFPlone/ActionsTool.py", line 85, in listActionInfos
if check_condition and not ai['available']:
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/ActionInformation.py", line 212, in __getitem__
value = self.data[key] = value(self._ec)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Products.CMFCore-2.4.0b8-py3.7.egg/Products/CMFCore/Expression.py", line 53, in __call__
res = compiled(econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.tales-4.3-py3.7.egg/zope/tales/expressions.py", line 234, in __call__
return self._eval(econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/PageTemplates/Expressions.py", line 152, in _eval
ob = self._subexprs[-1](econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/zope.tales-4.3-py3.7.egg/zope/tales/expressions.py", line 139, in _eval
ob = self._traverser(ob, element, econtext)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/Products/PageTemplates/Expressions.py", line 77, in boboAwareZopeTraverse
object = object.restrictedTraverse(name)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/OFS/Traversable.py", line 366, in restrictedTraverse
return self.unrestrictedTraverse(path, default, restricted=True)
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/OFS/Traversable.py", line 349, in unrestrictedTraverse
raise e
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/Zope-4.0b10-py3.7.egg/OFS/Traversable.py", line 300, in unrestrictedTraverse
next = obj[name]
File "/home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.folder-3.0.0-py3.7.egg/plone/folder/ordered.py", line 241, in __getitem__
raise KeyError(key)
KeyError: 'externalEditorEnabled'
- Expression: "provider:plone.belowcontentbody"
- Filename: ... egg/Products/CMFPlone/browser/templates/main_template.pt
- Location: (line 100: col 70)
- Source: ...
^
- Expression: "context/@@main_template/macros/master"
- Filename: ... .egg/plone/app/contenttypes/browser/templates/listing.pt
- Location: (line 6: col 21)
- Source: ... tal:use-macro="context/@@main_template/macros/master"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Expression: "provider:plone.mainnavigation"
- Filename: ... egg/Products/CMFPlone/browser/templates/main_template.pt
- Location: (line 57: col 59)
- Source: ... er:plone.portaltop" />
^
- Expression: "context/@@main_template/macros/master"
- Filename: ... .egg/plone/app/contenttypes/browser/templates/listing.pt
- Location: (line 6: col 21)
- Source: ... tal:use-macro="context/@@main_template/macros/master"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Arguments: template: <ViewPageTemplateFile - at 0x7fc90eb93278>
options: {...} (0)
args: <tuple - at 0x7fc95bf1f048>
nothing: <NoneType - at 0x5607b13d9820>
modules: <_SecureModuleImporter - at 0x7fc9537f6cc0>
request: <HTTPRequest - at 0x7fc94f18eac8>
view: <SimpleViewClass from /home/ajung/sandboxes/ugent-portaal-plone-4x/eggs/plone.app.contenttypes-2.0.5-py3.7.egg/plone/app/contenttypes/browser/templates/listing.pt listing_view at 0x7fc912f5be48>
context: <ImplicitAcquisitionWrapper diploma at 0x7fc9124e0990>
views: <ViewMapper - at 0x7fc912f5ba20>
here: <ImplicitAcquisitionWrapper diploma at 0x7fc9124e0990>
container: <ImplicitAcquisitionWrapper diploma at 0x7fc9124e0990>
root: <ImplicitAcquisitionWrapper at 0x7fc9471ef678>
traverse_subpath: <list - at 0x7fc90a91d288>
user: <UnrestrictedUser - at 0x7fc95444b5f8>
default: <object - at 0x7fc95befaa60>
repeat: {...} (0)
loop: {...} (1)
wrapped_repeat: <SafeMapping - at 0x7fc90a937988>
target_language: <NoneType - at 0x5607b13d9820>
translate: <function translate at 0x7fc91b3802f0>
macroname: master
So your KeyError externalEditorEnabled was masked by the CMFDynamicViewFTI and the Python recursion problem?
So your KeyError
externalEditorEnabledwas masked by the CMFDynamicViewFTI and the Python recursion problem?
I am still confused.. Situation: after a plone.restapi test migration we encountered an inconsisten portal_lexicon. As a solution I tried the full catalog rebuild (without setSite()) causing the stack issues. A full rebuild with setSite() causes the error with externalEditorEnabled enabled on one particular object. Needs further investigation because we use nothing special in our setup, in particular no usage of External Editor...
Question is, why is Layout None? This must not happen, right?
Wild guess: https://github.com/plone/Products.CMFDynamicViewFTI/blob/master/Products/CMFDynamicViewFTI/fti.py#L154
Released Products.CMFDynamicViewFTI 6.0.2 with this fix.
@pbauer Any chance this fixes that recursion bug we were looking at in Sorrento?
@esteele I strongly doubt that, it seems toally unrelated to https://github.com/plone/Products.CMFPlone/issues/2666
@esteele I strongly doubt that, it seems toally unrelated to #2666
I also don't see a relation. Obviously behavioral changes in Python 3 vs. Python 2 seem to cause recursion errors in various places which must be addressed. However the weird thing is that reproducible issues on one environment like Python 3.6/FC 26 are not reproducible on 3.7/Debian 9...no theory why...