Unable to uninstall LinguaPlone from a Plone 4.3 site

I have successfully migrated my site to Plone 4.3. I installed plone.app.multilingual and run the first three steps of the migration process from LinguaPlone to plone.app.multilingual as described here


However, when I try to deactivate LinguaPlone from the Site Setup, I get this error (last two rows):
traceback_info: profile-Products.LinguaPlone:uninstall
RuntimeError: maximum recursion depth exceeded

What did you migrate from? Also please post your new buildout.cfg and the full error stack.

First of all thank you for your attention :slight_smile:
The production site is still running on Plone 3.3.4. The only additional eggs to the buildout are:
Products.ContentWellPortlets
Products.FCKeditor
Products.LinguaPlone
Products.PloneFormGen
Products.RedirectionTool
Products.TinyMCE
My purpose is to upgrade the site to Plone 5.0.
I made a local copy with the idea to perform a 5 step upgrade from major version to major version.
3.3 > 4.0 > 4.1 > 4.2 > 4.3 > 5.0
Here are the steps I made:

  1. From Plone 3.3.4 to 4.0 - I installed a fresh new Plone 4 site, added the additional eggs to buildout.cfg then moved Data.fs and run database upgrade. Site works.
  2. From Plone 4.0 to 4.1 - I made a copy of the whole directory containing the 4.0 site (including Data.fs and var/blobstorage) then upgraded Plone by changing the url in buildout.cfg to
    http://dist.plone.org/release/4.1-latest/versions.cfg
    run ./bin/buildout
    Do a database upgrade -> site working.
  3. From Plone 4.1 to 4.2
    due to server limitations (old Ubuntu lucid) I could not copy the Plone 4.1 site to a new directory a do an upgrade via buildout but I had to install fresh standalone Plone 4.2 with static-lxml
    ./install.sh standalone --target=/usr/local/Plone4.2/ --static-lxml=yes
    then I and added the eggs to buildout.cfg
  4. From Plone 4.2 to 4.3
    In this case I succeeded in upgrading the 4.2 site via buildout by changing the url to 4.3-latest
    Then I did database upgrade
    Due to some errors in buildout I had to add the following eggs to meet dependencies
    plone.app.jquery = 1.7.2
    collective.js.jqueryui = 1.9.2.0
    Result: site up and running :slight_smile:
    At this stage I decided to upgrade LinguaPlone to plone.app.multilingual in order to prepare for the final step towards Plone 5.
    I installed the following
    eggs =
    plone.app.multilingual[archetypes]
    (according to the package instructions, since I still have Archetypes content)
    and had to pin the version, in order to prevent from buildout errors
    [versions]
    plone.app.multilingual = 2.0.2

I performed the first three steps of the migration by running
http://1.1.1.1:8093/Plone/@@lp-migration
(the Migration tab was not visible)

Step 0(1-optional): reindex 
The "Language" index was re-indexed correctly. Before, it contained 3211 items, now it contains 3211  
Step 1(2): relocate     
 
Relocate content to the proper root language folder 
Total objects handled: 18

Step 3: 
 
Transfer multilingual catalog information 
Total objects handled: 42

Before running Step 4 I tried to disable LinguaPlone and here comes the error.

Here is the full buildout.cfg on Plone 4.3

> ############################################
> #
> # Buildout Configuration File for Standalone Plone
> # ------------------------------------------------
> #
> # After making changes in this configuration file,
> # you should run bin/buildout to update the components.
> #
> # ALWAYS back up all Plone/Zope data and components
> # before changing configuration.
> #
> # Running "bin/buildout" will update your installation,
> # installing missing components as necessary.
> #
> # Use "bin/buildout -n" to update many components here to the newest
> # available releases.
> # This will update the add-on products you've added in the eggs= lines.
> # This will not, however, upgrade Plone itself (or anything else you've
> # pinned with a version specification). To upgrade Plone itself, see the
> # comments in "Plone Component Versions".
> #
> # Tutorial instructions for using zc.buildout for
> # configuration management are available at:
> # http://plone.org/documentation/tutorial/buildout
> # Full details at http://pypi.python.org/pypi/zc.buildout
> #
> ############################################
> [buildout]
> ############################################
> # Plone Component Versions
> # ------------------------
> # This version of the Unified Installer has the components of Plone 4
> # preloaded so that it can install without an Internet connection.
> # If you want to update, uncomment the "http://..." line below,
> # edit it to point to the current version URL, comment out the
> # "versions.cfg" line and run "bin/buildout" while attached to the
> # Internet. Generally, you only want to do that as part of a planned migration.
> # Note that if you are updating components, you should also check the versions
> # section at the end of this file, since recipes or components other than
> # those of Zope and Plone may need updating at the same time.
> #
> extends =
>     base.cfg
> #    versions.cfg
>     http://dist.plone.org/release/4.3-latest/versions.cfg
> # If you change your Plone version, you'll also need to update
> # the repository link below.
> find-links +=
>     http://dist.plone.org/release/4.2.6
> ############################################
> # Ports
> # -----
> # Specify the port on which your Zope installation
> # will listen:
> http-address = 8093
> # If you try to start Zope as root, it will change user id to run as
> # the effective user specified here. This user id must own the var directory
> # of your buildout.
> effective-user = plone
> ############################################
> # Eggs
> # ----
> # Add an indented line to the eggs section for any Python
> # eggs or packages you wish to include in your Plone instance.
> #
> eggs =
>     Plone
>     Pillow
>     Products.ContentWellPortlets
>     Products.FCKeditor
>     Products.LinguaPlone
>     Products.PloneFormGen
>     Products.RedirectionTool
>     plone.app.multilingual[archetypes]  
> # Optional Functionality
> # ----------------------
> # Uncomment the indented lines to include these add-on products.
> # Documentation on all of them, along with many more products,
> # is available at
> # http://plone.org/products/
> #
> # Example products:
> # * LinguaPlone provides tools for building multi-lingual sites
> # * PloneFormGen provides through-the-web form building
> #
> #    Products.LinguaPlone==4.0.1
> #    Products.PloneFormGen==1.6.0
> #
> # Note that versions may be specified here or in the [versions]
> # section below. You should always specify versions that you know
> # are compatible with the Plone release and at an acceptable
> # development level.
> #
> # Commonly used development tools:
> # Several excellent development tools are included in the develop.cfg
> # buildout extension. Read it to learn how to activate these tools.
> ############################################
> # ZCML Slugs
> # ----------
> # Some eggs need ZCML slugs to tell Zope to
> # use them. This is increasingly rare.
> zcml =
> #    plone.reload
> ############################################
> # Development Eggs
> # ----------------
> # You can use paster to create "development eggs" to
> # develop new products/themes. Put these in the src/
> # directory.
> # You will also need to add the egg names in the
> # eggs section above, and may also need to add them
> # to the zcml section.
> #
> # Provide the *paths* to the eggs you are developing here:
> develop =
> #    src/my.package
> ############################################
> # Debug Mode
> # ----------
> # Change debug-mode to "on" to run in development mode.
> # This will dramatically slow Plone.
> #
> debug-mode = off
> # Add-on developers should turn deprecation warnings on
> deprecation-warnings = off
> # change verbose-security to "on" for useful security errors while developing
> verbose-security = off
> ############################################
> # Backup Directory
> # ----------------
> # Sets the target directory for the bin/backup and bin/snapshotbackup
> # commands. Default is inside this project's var directory, but ideally
> # this should be on a separate volume or backup server.
> #
> backups-dir=${buildout:directory}/var
> ############################################
> # Environment Variables
> # ---------------------
> # Some of the behavior of your Zope/Plone instances are controlled with OS
> # environment variables. You may set those here in a key / value format.
> # Some common settings:
> #    * TZ allows you to set a time zone for systems where it's not
> #      automatically available.
> #    * zope_i18n_compile_mo_files allows for automatic compilation of
> #      missing translation files (may slow startup).
> #    * zope_i18n_allowed_languages allows you to limit the available
> #      translations.
> #    * PYTHON_EGG_CACHE determines where zipped python packages are unpacked
> #      for use.
> #    * PYTHONHASHSEED determines initial seed for hashes. "random" causes a
> #      pseudo-random value is used to seed the hashes of str, bytes and datetime
> #      objects.
> environment-vars =
>     zope_i18n_compile_mo_files true
>     PYTHON_EGG_CACHE ${buildout:directory}/var/.python-eggs
> #    PYTHONHASHSEED random
> #    TZ US/Eastern
> #    zope_i18n_allowed_languages en es de fr
> ############################################
> # Initial User
> # ------------
> # This is the user id and password that will be used to create the initial
> # user id that will allow you to log in and create a Plone site. This only
> # sets the initial password; it will not allow you to change an already
> # existing password. If you change the admin password via the web interface,
> # the one below will no longer be valid.
> # If you find yourself locked out of your Zope/Python installation, you may
> # add an emergency user via "bin/plonectl adduser".
> user=admin:TQ42fGJf
> ############################################
> # Parts Specification
> #--------------------
> # Specifies the components that should be included in the buildout.
> # All the basics are in the base.cfg extension; you may add your
> # own if you need them at the end of this file.
> parts =
>     instance
>     zopepy
>     zopeskel
>     unifiedinstaller
>     repozo
>     backup
>     chown
> ############################################
> ############################################
> # Versions Specification
> # ----------------------
> # Version information supplied here will "pin" Python packages to a particular
> # version number, even when you use the "newest" flag running buildout.
> # Specifying versions for all packages is a good idea and can prevent
> # accidental changes when you add new packages to your buildout.
> # Note that versions specified here will override those specified earlier
> # in the configuration, including those from the Plone and Zope version
> # config files.
> #
> [versions]
> ZopeSkel = 2.21.2
> plone.recipe.unifiedinstaller = 4.1
> lxml = 2.3.6
> Cheetah = 2.2.1
> Products.DocFinderTab = 1.0.5
> plone.recipe.command = 1.1
> Pillow = 1.7.8
> collective.recipe.backup = 2.14
> Products.ContentWellPortlets = 4.2.0
> Products.PloneFormGen = 1.7.21
> Products.RedirectionTool = 1.3.1        
> plone.app.jquery = 1.7.2
> collective.js.jqueryui = 1.9.2.0
> Products.FCKeditor = 2.6.6.3
> plone.app.multilingual = 2.0.2
> Products.LinguaPlone = 4.1.8

and here is the error stack

Traceback (innermost last): 
  Module ZPublisher.Publish, line 138, in publish 
  Module ZPublisher.mapply, line 77, in mapply 
  Module ZPublisher.Publish, line 48, in call_object 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
  Module Products.GenericSetup.tool, line 1414, in _runImportStepsFromContext 
  Module Products.GenericSetup.tool, line 1226, in _doRunImportStep 
   - __traceback_info__: LinguaPlone-uninstall 
  Module Products.LinguaPlone.setuphandlers, line 35, in uninstall 
  Module <string>, line 4, in uninstallProducts 
  Module AccessControl.requestmethod, line 70, in _curried 
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 743, in uninstallProducts 
  Module Products.CMFQuickInstallerTool.InstalledProduct, line 286, in uninstall 
  Module Products.GenericSetup.tool, line 379, in runAllImportStepsFromProfile 
   - __traceback_info__: profile-Products.LinguaPlone:uninstall 
RuntimeError: maximum recursion depth exceeded

However, wher I try to disable and re-enable LinguaPlone through Site Setup in Plone < 4.3 I succeeded without issues. The error happens only in Plone 4.3.
On the other side, I couldn't install plone.app.multilingual in Plone 4.2 (probably due to unmet dependencies) to try the migration at that stage.

I've tried to disable and uninstall LinguaPlone in all versions of Plone starting from 3.3 up to 4.3.
The result is:

Plone 3.3 to 4.2: I can disable LinguaPlone from Add On Products but when I remove it from buildout.cfg run buildout and restart Plone the site is unreachable and I get this error:

('object.__new__(SyncedLanguages) is not safe, use Persistence.Persistent.__new__()', , (, , None))

Plone 4.3 I can't even disable LinguaPlone from Add On Products because when I hit Save I get the error I have posted above that ends with:

    __traceback_info__: profile-Products.LinguaPlone:uninstall 
    RuntimeError: maximum recursion depth exceeded

By doing some research on the web I understood that LinguaPlone sometimes does not uninstall cleanly. Some utilities remain in the database. I tried with the egg
wildcard.fixpersistentutilities
but with no luck. No apparent trace of LinguaPlone in the listing.
At this stage the best result I can achieve with my own skills is to upgrade the site from Plone 3.3 to 4.3, keep LinguaPlone as the multilingual solution, keep Archetypes as the content type and accept the idea that I'll never migrate to Plone 5 and Dexterity.
Any hint to get rid of LP (in 3.x or 4.x) without messing up the whole site? I can also take into consideration the scenario: remove LP completely, migrate without multilingual features and then rebuild the multilingual structure of the site when in Plone 5 with plone.app.multilingual.

Maybe @agitator has seen this?

HI, did you succeed in disabling the LinguaPlone add-on?

Unfortunately I didn't succeed. Since the translated content was 1% of all the Plone site I exported the root language folders via zexp from the old site to a new installation of Plone 3.3.5, run the 5 steps of the upgrade up to 5.0.6, enabled Plone.app.multilingual then rebuilt the associations of the translated contents by hand in the new Plone 5.
The frustrating thing is that I tested the same procedure also on a fresh Plone 3.3.5 by executing the following steps:
Add LinguaPlone to eggs -> run buildout -> -> enable the addon -> disable the addon -> remove from buildout
and after removal of LP from buildout even the fresh new the site was broken...