While upgrading to SP2 I was tripped by the fact that it took a really long time to complete the upgrade process. I checked with the upgrade.log file from C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS folder found the following line was written:
[SPManager] [DEBUG] [4/19/2008 10:51:53 AM]: SyncUpgradeTimerJob: sleeping for 10 seconds
We noticed that in our from dev and stage farms this message was only logged for a minute or two before the upgrade process proceeded. We simply stopped sptimerv3 for a few minutes then re-started it. Within 5 minutes the upgrade had proceeded passed the sleeping phase and was upgrading databases. It completed successfully.
For solving this you may also need to restart the SPTimer job, but didn't succeed to eliminate the the logging of the 'sleeping for 10 seconds' event. What I did next was to restart the SPAdmin service and after that restart the patch process happily continued and the environment was upgraded to SP2
Other alternatives are
On the machine where psconfig failed to start the SPAdmin service run:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\psconfig -cmd upgrade -inplace b2b -wait -force
Modify the service timeout values in the Registry:
HKLM\SYSTEM\CurrentControlSet\Control add/modify DWORD value ServicesPipeTimeout to 60000 (60 seconds)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control add/modify STRING value WaitToKillServiceTimeout to 120000 (120 seconds)