When fixing T222529, Linker::userLink was changed to warn when called with an empty user name (change Id65bdf). Since then, the log has recorded numerous such warnings from several code paths (see graphana). CodeSearch turns up over 80 usages that potentially have this problem.
The logs and callers need to be surveyed and any problematic calls fixed. From the logs, it seems to following two are the most problematic:
- Linker::revUserTools calls $rev->getUserText( Revision::FOR_THIS_USER ) which will return an empty string if the user name is suppressed.
- LogFormatter::makeUserLink seems to frequently get bogus User from getPerformerElement(), coming from LogEntry::getPerformer. (see also related T224811: Special:Log/block inaccessible on several wikis with fatal ParameterAssertionException "Bad value for parameter $dbkey: should not be empty").