I'm having an issue similar http://drupal.org/node/1881624 today.
I updated 3 different drupal installations, and two fo them are fine.
The third, I only updated 1 module (meta-tags),
and this happened. All my modules and themes were suddenly lost.
They are all still in sites/all/{modules,themes}, but no longer appearing in the admin interface, period.
I tried to install some of them (had to manually remove the existing files), and the uploader uploads them and tells me that they've been installed "successfully", but they do not appear in appearanced or modules interface to be enabled.
They are being uploaded with incorrect permissions (d------r-x). When I do chmod -R 755 to give them the proper permissions (drwxr-xr-x as is the case on my other, still functional sites), still no joy.
The themes/modules to not appear in the system table in the DB.
I then applied the update from 7.21 to 7.22 for drupal core, hoping maybe this would help.
Still, no joy.
All of the modules and themes are still "physically" in their proper location in sites/all/, but the admin interface shows none of them. If I manually remove them and re-install through the interface, they upload, but, still, do not appear in the admin interface. None of them are showing in the DB.
I found THIS particular thread, because the only error I find is similar:
Warning: fileperms(): stat failed for /var/www/newhaven/sites/all/modules/addtoany in Updater->makeWorldReadable() (line 356 of /var/www/newhaven/includes/updater.inc).
Same line of includes/updater.inc
The question I have at this juncture is (regardless of how they were lost, but so I can reinstall them now), why are they uploaded with improper permissions, and why are they not included in the DB in the system table when "installed" now.
I assume the answer to these two questions would allow me to resolve the issue.
Line 356 of includes/update.inc is
$new_perms = substr(sprintf('%o', fileperms($path)), -4, -1) . "5";
part of this function:
public function makeWorldReadable(&$filetransfer, $path, $recursive = TRUE) {
if (!is_executable($path)) {
// Set it to read + execute.
$new_perms = substr(sprintf('%o', fileperms($path)), -4, -1) . "5";
$filetransfer->chmod($path, intval($new_perms, 8), $recursive);
}
}
The installation is on a Debian/Stable server with MySQL. Site in question is www.new-haven.info
There is another drupal on the same server (www.myownsite.me) for which I updated several plugins, including the meta-tags plugin, without issue.
I have a debian stable server in my office with two drupals which I also updated today without issue (only with MariaDB, not MySQL).
The site with the problem hung for a good while on db updates after updating the meta-tags module.
I imagine that is significant.
I hope I've explained the problem, the environment, and my steps at attempted resolution adequately.
If further data is required to assist me, of course, I will gladly provide it on request.