Description of the need
Found this PHP error in watchdog on a site, resulting from a cron run:
EntityStorageException: The username and email are both addresses that do not match. in EntityDatabaseStorageController->save() (line 789 of /.../core/modules/entity/entity.controller.inc).
Yes, OK, but which entity of the several thousand users are we talking about here? And what's the mismatch?
Proposed solution
It would be nice to add to the error message the actual username and email to make it easier to track down what's wrong. (In this case, one was capitalized, the other wasn't.)
The message is generated at line 368 of user.entity.inc, currently:
throw new EntityMalformedException'The username and email are both addresses that do not match.');
I propose we change this to
throw new EntityMalformedException(format_string('The username @name and email @mail are both addresses that do not match.', array('@name' => $entity->name, '@mail' => $entity->mail)));
This isn't technically a bug, but it seems simple enough that it could go into a bugfix release.
Recent comments
@yorkshirepudding, In the end I fixed it by deleting the config/active folder contents, copying the config/staging/ files into config/active, importing the database again and clearing the caches...
Importing the staged config throws an error: another field with the same name already exists
Thanks, I have to go out now, I will try later on and report back
Importing the staged config throws an error: another field with the same name already exists
Hi Francis. Yes, what config do you have in staging for it? You might have configs like: field.field.field_video_embed field.instance.node.page....
Importing the staged config throws an error: another field with the same name already exists