Im using 12.1 fully patched and fish works here. However, looks like this is a common problem for some folks:
Just some more jabs in the dark:
1. Exit KDE/X and delete all ~/.DCOPserver* files.
2. Empty ~/.ICEauthority and ~.Xauthority (cat /dev/null > .ICEauthority)
3. While not in KDE/X, delete the cache files: ~/.kde/cache-$HOSTNAME/ksycoca
4. Temporarily rename ~/.kde to ~/.kde-old and then start KDE. This should expose whether the problem is related to your KDE settings.
One person suggested a work-around of setting the environment variable KDE_FORK_SLAVES=true.