Why does Spam Assassin say autolearn=failed on all my mail?
It doesn't have permission to access its database.
Find which user Spam Assassin is running as and do this as root:
chmod 777 .
chmod 777 .spamassassin
chown spamchk.spamchk .spamassassin
Assuming you are running:
spamc -u spamchk
Perhaps in /usr/local/bin/spamchk
Alternately you can turn off auto learning in the Spam Assassin config file
but its good to have it learn.