I had three builds running at the same time, and two of them finished during the same second. This lead to the following message on one of them:
ln -s builds/2011-12-01_21-35-22 /var/lib/jenkins/jobs/my_job/builds/../lastSuccessful failed: 17 File exists
The job still succeeded, so it's not a big deal.
This seems like a race condition between rm-ing the old symlink and creating the new one. Maybe ln -sf would work better? I assume it does its operations atomically.