I've seen this message often at boot, it appear randomically from zero to more times (seen up to four). Take a look to scripts/init-bottom/udev, to me looks like some udevd die between test -x and readlink (as correctly reported in the comment following readlink). The attached patch just ignore errors from readlink, I'm testing it.
--- ./scripts/init-bottom/udev.orig 2010-03-23 21:12:58.000000000 +0100 +++ ./scripts/init-bottom/udev 2010-03-23 21:13:37.000000000 +0100 @@ -14,7 +14,7 @@ # Stop udevd, we'll miss a few events while we run init, but we catch up for proc in /proc/[0-9]*; do [ -x $proc/exe ] || continue - if [ "$(readlink $proc/exe)" = /sbin/udevd ]; then + if [ "$(readlink $proc/exe 2> /dev/null)" = /sbin/udevd ]; then # errors must be ignored due to a race with udevd child processes # naturally terminating kill ${proc#/proc/} 2> /dev/null || true