Here is the problem.
As with many things, there are two sides to it.
First. GoDaddy (and other hosts, probably) set a PHP script’s max_execution_time to 30 seconds.
Second. Some of GoDaddy’s servers are slower than others. Even when they’re supposed to be much faster.
Third, in class-wp-upgrader.php, there are three routines that have to be done: download_package(), unpack_package, and install_package. WordPress uses set_time_limit() to increase max_execution_time temporarily to five minutes. But ONLY for installation. It does not do this for downloading or unpacking.
The combination of slow server with short max_execution_time means that large updates, or updates with large numbers of files, will probably timeout while downloading or updating. The timeout is silent (i.e. no error is displayed) so the end result is that the process has appeared to hang.
So, there are two paths you can go by… (hmm. there’s a song there…)
1. you can go to your host and get them to increase PHP’s max_execution_time (or if you have access to php.ini, you can do it there).
2. you can annoy your host to speed up the servers.
3. you can annoy the WordPress coders to add ‘set_time_limit(300);’ to the appropriate routines in class_wp_upgrader.php.
4. you could add the lines yourself, but you’ll lose them first time you update WordPress, which sorta defeats the purpose, and anyway, is against the WordPress Way.
Roy