From xscreensaver-5.06/driver/xscreensaver.c (Line 1298)
Code:
spasswd = getpwuid(getuid());
if (!spasswd)
{
fprintf(stderr, "Could not figure out who the current user is!\n");
return 1;
}
so either
getuid(2) or
getpwuid(2) is failing ... I suspect there is something wrong in you passwd file? What does this say:
% id -P