~/.local/share/Trash has a three directories, presumably where things are stored in various states of "trashed-ness". All of them were empty but Dolphin insisted that the trash was full whenever I tried to move something there. Verified in Dolphin and in a terminal window that all the folders were empty. Even deleted them just in case there were any invisible hidden files.
The Trash folder also contained a file called
metadata. Looked like a regular INI style file with just one parameter:
size. In this case, size was set to some freakishly large value with like 20 digits or something (I didn't really count). Having run out of things to do at this point, I decided to delete the file and hope that if it was important, Dolphin would recreate it.
After getting rid of the file, the Trash worked properly again!
Apparently Dolphin uses the
metadata file to store how much stuff is contained in Trash. It seems reasonable to assume that Dolphin checks the value stored in
metadata against the maximum size for the Trash configured in Settings. If the
metadata value exceeds the max size setting for Trash, Dolphin tells you the Trash is full. In my case, a messed up size value got written to
metadata and Dolphin wasn't going to let me send anything to Trash even though it was physically empty.