Score:2

"A non-existent config entity name returned by FieldStorageConfigInterface::getBundles()" errors in watchdog

jp flag

After migrating from 7 to 9, I'm getting a lot of these errors in watchdog, from views.

A non-existent config entity name returned by FieldStorageConfigInterface::getBundles(): entity type: paragraph, bundle: iframe, field name: field_url

Things I've tried:

  • Checking paragraph bundles(types): there are only two, the iframe one does not exist (I don't need it in the new site).

  • drush cr

  • drush config:export then grepping the files for iframe: it only exists in media.settings.yml as iframe_domain: '' - not relevant

  • grepping the config files for field_url - not found.

  • maybe there's some old content referencing the iframe bundle? select distinct type from paragraphs_item; only shows the new bundle names. Same for paragraphs_item_field_data

  • show tables like "%field_url%"; This does reveal two tables: paragraph__field_url and paragraph_revision__field_url - I would have expected these to be deleted. They are both empty though.

  • show tables like "%iframe%"; - none.

  • I've been through all the views - but these are all the default D9 ones, plus a few I've added myself for the new site, which do not have anything to do with paragraph bundles.

  • I checked the fields-used-in-views report - field_url is not there.

  • I checked the fields list report. field_url is there, and weirdly, it says the entity type is paragraph but then it says:

    Text (plain) (module: core)

  • I tried re-creating a paragraph type called iframe and then deleting it.

  • I tried to add a field called url, but it is forbidden because that machine name already exists.

I'm stumped as to how to get rid of these errors/notices.

Update

I found some config yml files that related to this URL field. I deleted those and did a config import, which seemed to clear the problem for that field, but opened it up for other fields.

It's now complaining about entity type: paragraph, bundle: grid_item_node_list, field name: field_text

However I can't use the same deletion approach for that field as it is in use for new content (on different paragraph bundles).

In exported config, no files contain grid_item_node_list and no files have that in their name. Yet when I grep the database I find :

cache_config.cid contains 2:

  • field.field.paragraph.grid_item_node_list.field_page_ref
  • field.field.paragraph.grid_item_node_list.field_text

And cache_default.data also contains grid_item_node_list as does cache_discovery.data and key_value.value (for name: paragraph).

I don't understand why (a) these config aren't exported, and (b) why the cache-related ones aren't cleared on drush cr.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.