This thread has a good Google position for the "System ist für den Rechner singulär: reziproke Konditionszahl" error using factanal ("systemin English: "system is computationally singular: reciprocal condition number") - therefore I shall add a comment:
When the correlation matrix is calculated a priori (e.g., to pairwisely delete missing values), make sure that factanal() does not think that the matrix is the data to analze (https://stat.ethz.ch/pipermail/r-help/2007-October/142567.html).
PREVIOUS: matrix = cor(data, use="pairwise.complete.obs") # For example
WRONG: factanal(matrix, 3, rotation="varimax")
RIGHT: factanal(covmat=matrix, factors=3, rotation="varimax")
BurninLeo