There are two ways to resolve this issue: the hard way, and the real hard way.
The hard way is to do a full-system restore from the last Time Machine snapshot before the problem started. You’ll lose all changes to your documents made since that snapshot was taken. You’ll then have to restore those changes from a more recent snapshot, making sure you don’t restore the problem. As long as you only restore documents, not settings, you’ll be safe.
If you can’t do that, or don’t want to, proceed as below.
Back up all data if you haven’t already done so. There are ways to back up, even if you can’t log in. Before proceeding, you must be sure you can restore everything to the state it’s in now. If you’re not absolutely sure you can do that, STOP.
Briefly, you need to delete a preference file in the home folder of the problem account. That file is:
~/Library/Preferences/com.apple.recentitems.plist
If you’re an advanced user and you already know how to do that, you can skip the rest of this message. Do it, and try again to log in. Otherwise, read the whole message before continuing.
Step 1
Boot in single-user mode by holding down the key combination command-S at the startup chime. If you’re using an external USB keyboard, it must be plugged directly into a built-in port on the Mac, not into a hub. Release the keys when you see a black screen with scrolling white text.
When the text stops scrolling, and you see a line ending in a pound sign (“#”), type the following command, with the short user name of the problem account substituted for the word “fubar”:
rm /Users/fubar/Library/Preferences/com.apple.recentitems.plist
To be clear, you won’t actually type “fubar” (unless that just happens to be the user name.) You’ll type the short login name of the user. That’s a single word with no spaces.
You must type the command exactly as given, apart from the name substitution, with no mistakes. If you don’t feel able to do that, STOP.
Press the return key. You’ll get an error message about a “read-only filesystem” below what you entered. There must be no other error message. If there is, try again until you get it right. You’ll continue to get the read-only error.
Step 2
Once you’ve entered the command correctly, and received the expected error message, enter the following command:
mount -uw /
Again, you must get it exactly right. This time, there should be no output at all. If there is, you mistyped the command, or something else is wrong.
Step 3
When you’ve done step 2 with no error message, press the up-arrow key until the command from step 1 (rm …) reappears. If you got everything right on the first try, you’ll need to press the key only twice. Make sure the command is correct, then press return again. There should be no output. If there is any, make a note of it and post a reply.
Step 4
Enter the command:
exit
Press return. The text will start scrolling again, and then the system will reboot. Try again to log in.