Looking over the code, it seems there is only one way to get out of this function without an error trace to the syslog, which is that Lock() must be failing. This is extremely strange and should never occur; we should hit some panic asserts in mutex code before that happens; or we have been woken up spuriously with an error condition, which would be strange but I guess is possible.
Can you please upgrade to the latest nightly and re-test this, and see if it still happens, and upload a new syslog if it does?
If it does, can you please show the output of "listimage 1"?