Unable to determine class for field type 'geolocation' found in the 'field.storage.block_content.field_map' configuration" at

This is an issue I had and I managed to solve it with the Drupal Upgrade team.

About my case
I’ve set up composer.
My composer.json looks something like the following (not really relevant):

{
    "name": "barros/drupalsite-extraconfig-template",
    "type": "project",
    "repositories":
    [
        {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        }
    ],
    "require":
    {
        "drupal/adminimal_admin_toolbar": "^1.11",
        "drupal/block_class": "^1.3",
        "drupal/geolocation": "^3.7",
        "drupal/hierarchical_term_formatter": "^1.2",
        "drupal/insert_view": "^2.0",
        "drupal/page_manager": "^4.0@beta",
        "drupal/rebuild_cache_access": "^1.7",
        "drupal/svg_image": "^1.15",
        "drupal/tvi": "^1.0@RC",
        "drupal/views_field_view": "^1.0@beta",
        "drupal/views_menu_children_filter": "^1.0@RC",
        "drupal/we_megamenu": "^1.13",
        "drupal/views_accordion": "^2.0"
    }
}

The issue:
When the drupal upgrade team ran the my composer (I don’t have access to run it myself), they reported that they see the following errors in the logs (which again, I don’t have access to):

NOTICE: PHP message: Uncaught PHP Exception Drupal\Component\Plugin\Exception\PluginNotFoundException: "Unable to determine class for field type 'geolocation' found in the 'field.storage.block_content.field_map' configuration" at /app/web/core/modules/field/src/FieldStorageConfigStorage.php line 174
- -  19/Nov/2021:14:56:56 +0000 "GET /index.php" 500
- -  19/Nov/2021:14:57:01 +0000 "GET /_site/_php-fpm-status" 200
- -  19/Nov/2021:14:57:03 +0000 "GET /_site/_php-fpm-status" 200
NOTICE: PHP message: Uncaught PHP Exception Drupal\Component\Plugin\Exception\PluginNotFoundException: "Unable to determine class for field type 'geolocation' found in the 'field.storage.block_content.field_map' configuration" at /app/web/core/modules/field/src/FieldStorageConfigStorage.php line 174
- -  19/Nov/2021:14:57:07 +0000 "GET /index.php" 500
NOTICE: PHP message: Uncaught PHP Exception Drupal\Component\Plugin\Exception\PluginNotFoundException: "Unable to determine class for field type 'geolocation' found in the 'field.storage.block_content.field_map' configuration" at /app/web/core/modules/field/src/FieldStorageConfigStorage.php line 174
- -  19/Nov/2021:14:57:16 +0000 "GET /index.php" 500
NOTICE: PHP message: Uncaught PHP Exception Drupal\Component\Plugin\Exception\PluginNotFoundException: "Unable to determine class for field type 'geolocation' found in the 'field.storage.block_content.field_map' configuration" at /app/web/core/modules/field/src/FieldStorageConfigStorage.php line 174

Here’s what we did:
After a bit of investigation on the net, we found this thread.
From what it seemed, it wasn’t an issue specifically with the geolocation module, but a more general one.

The drupal upgrade team ran a command similar to this one:

drush sqlq "DELETE FROM config WHERE name = 'field.storage.block_content.field_map' OR data LIKE '%field.storag
e.block_content.field_map%'"

PLEASE NOTE - don’t run this directly in production. Make sure that the test environment isn’t broken because of these commands, before running it in production.

It fixed my issue, but checking the /en/admin/reports/status, I can see the following in “Errors found”:

So, I’m still investigating what exactly is causing it

Thanks for reporting this @emterman !

@joachim @fborgesa @ravineet please note the error message. This kind of error has popped up on other sites as well. This action might be relevant in quite a few cases. But please note that it’s not well-tested and that it can be destructive.

Joachim maybe you understand a bit better what happens when we DELETE FROM config WHERE name = 'field.storage.block_content.field_map' OR data LIKE '%field.storag e.block_content.field_map%'. Can we consider this as “resetting” the configuration, ie something will reset the deleted config to default values? Does this delete configuration of other modules than the one that is failing?