Upgrade plone 4.0 to 4.3 then to latest

I am tryin to u pgrade from 4.0. to 4.3 and than to latest
I am stuck now on 4.3 upgrade error

TypeError: ("'ExtensionClass.ExtensionClass' object is not iterable", <function Provides at 0x7f1b6c4a59b0>, (<class 'plone.app.blob.content.ATBlob'>, , , , <class 'atreal.richfile.preview.interfaces.IPreview'>))
End of upgrade path, main migration has finished.

This means that atreal.richfile.preview is not installed but i can not install this add on on 4.3
This is a a add on which is not maintained since 2011. So i do not want to take with me to plone 5.1
How Can i find the object in the zope interface ?
Can i delete it ?
Thanks for your advice
rgds
Harry

Please post the full traceback. I can not find my crystal ball.... so wild guessing:

Does atreal.richfile provide uninstall? If yes, uninstall in 4.0.

On the Plone root in ZMI there is an interfaces tab. If in there are traces from atreal.richtfile, remove them.

full traceback
Traceback (most recent call last):
File "/usr/local/Plone/buildout-cache/eggs/Products.CMFPlone-4.3.18-py2.7.egg/Products/CMFPlone/MigrationTool.py", line 285, in upgrade
step['step'].doStep(setup)
File "/usr/local/Plone/buildout-cache/eggs/Products.GenericSetup-1.8.9-py2.7.egg/Products/GenericSetup/upgrade.py", line 166, in doStep
self.handler(tool)
File "/usr/local/Plone/buildout-cache/eggs/plone.app.upgrade-1.4.5-py2.7.egg/plone/app/upgrade/v41/final.py", line 55, in to412_owner_tuples
fixOwnerTuples(portal)
File "/usr/local/Plone/buildout-cache/eggs/plone.app.upgrade-1.4.5-py2.7.egg/plone/app/upgrade/v41/final.py", line 30, in fixOwnerTuples
portal.ZopeFindAndApply(portal, search_sub=True, apply_func=fixOwnerTuple)
File "/usr/local/Plone/buildout-cache/eggs/Zope2-2.13.28-py2.7.egg/OFS/FindSupport.py", line 239, in ZopeFindAndApply
apply_func, apply_path)
File "/usr/local/Plone/buildout-cache/eggs/Zope2-2.13.28-py2.7.egg/OFS/FindSupport.py", line 239, in ZopeFindAndApply
apply_func, apply_path)
File "/usr/local/Plone/buildout-cache/eggs/Zope2-2.13.28-py2.7.egg/OFS/FindSupport.py", line 239, in ZopeFindAndApply
apply_func, apply_path)
File "/usr/local/Plone/buildout-cache/eggs/Zope2-2.13.28-py2.7.egg/OFS/FindSupport.py", line 227, in ZopeFindAndApply
apply_func(ob, (apply_path+'/'+p))
File "/usr/local/Plone/buildout-cache/eggs/plone.app.upgrade-1.4.5-py2.7.egg/plone/app/upgrade/v41/final.py", line 25, in fixOwnerTuple
old = obj.getOwnerTuple()
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.7-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 860, in setstate
self._setstate(obj)
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.7-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 914, in _setstate
self._reader.setGhostState(obj, p)
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.7-py2.7-linux-x86_64.egg/ZODB/serialize.py", line 612, in setGhostState
state = self.getState(pickle)
File "/usr/local/Plone/buildout-cache/eggs/ZODB3-3.10.7-py2.7-linux-x86_64.egg/ZODB/serialize.py", line 605, in getState
return unpickler.load()
File "/usr/local/Plone/buildout-cache/eggs/zope.interface-3.6.7-py2.7-linux-x86_64.egg/zope/interface/declarations.py", line 756, in Provides
spec = ProvidesClass(*interfaces)
File "/usr/local/Plone/buildout-cache/eggs/zope.interface-3.6.7-py2.7-linux-x86_64.egg/zope/interface/declarations.py", line 659, in init
Declaration.init(self, *(interfaces + (implementedBy(cls), )))
File "/usr/local/Plone/buildout-cache/eggs/zope.interface-3.6.7-py2.7-linux-x86_64.egg/zope/interface/declarations.py", line 45, in init
Specification.init(self, _normalizeargs(interfaces))
File "/usr/local/Plone/buildout-cache/eggs/zope.interface-3.6.7-py2.7-linux-x86_64.egg/zope/interface/declarations.py", line 1382, in _normalizeargs
_normalizeargs(v, output)
File "/usr/local/Plone/buildout-cache/eggs/zope.interface-3.6.7-py2.7-linux-x86_64.egg/zope/interface/declarations.py", line 1381, in _normalizeargs
for v in sequence:
TypeError: ("'ExtensionClass.ExtensionClass' object is not iterable", <function Provides at 0x7f1b6c4a59b0>, (<class 'plone.app.blob.content.ATBlob'>, , , , <class 'atreal.richfile.preview.interfaces.IPreview'>))
End of upgrade path, main migration has finished.
The upgrade path did NOT reach current version.
Migration has failed
Dry run selected, transaction aborted

i deactivated both richfile
see png
ths for your reply harry

I resolved the problem with wildcard.fixpersistentutilities https://pypi.org/project/wildcard.fixpersistentutilities/1.1b7/
now next next problem
Anyone a idea ?
thks
Harry
Upgrade aborted. Error:

Traceback (most recent call last):
  File "/usr/local/Plone/buildout-cache/eggs/Products.CMFPlone-4.3.18-py2.7.egg/Products/CMFPlone/MigrationTool.py", line 285, in upgrade
    step['step'].doStep(setup)
  File "/usr/local/Plone/buildout-cache/eggs/Products.GenericSetup-1.8.9-py2.7.egg/Products/GenericSetup/upgrade.py", line 166, in doStep
    self.handler(tool)
  File "/usr/local/Plone/buildout-cache/eggs/plone.app.upgrade-1.4.5-py2.7.egg/plone/app/upgrade/v43/alphas.py", line 127, in to43alpha1
    upgradePloneAppTheming(context)
  File "/usr/local/Plone/buildout-cache/eggs/plone.app.upgrade-1.4.5-py2.7.egg/plone/app/upgrade/v43/alphas.py", line 98, in upgradePloneAppTheming
    registry = getUtility(IRegistry)
  File "/usr/local/Plone/buildout-cache/eggs/zope.component-3.9.5-py2.7.egg/zope/component/_api.py", line 169, in getUtility
    raise ComponentLookupError(interface, name)
ComponentLookupError: (<InterfaceClass plone.registry.interfaces.IRegistry>, '')
End of upgrade path, main migration has finished.
The upgrade path did NOT reach current version.
Migration has failed
Dry run selected, transaction aborted