Коли ви видаляєте модуль, його потрібно спочатку вимкнути в адміністраторі модуля Drupal. Потім слід видалити його на вкладці "Видалити" там.
Те саме стосується тем, спочатку вимкніть їх у адміністраторі тем.
Якщо ви, наприклад, видалите папку модуля у файловій системі, не вимикаючи модуль, Drupal продовжить пошук модуля у файловій системі, що може призвести, серед інших помилок, до проблеми, з якою ви стикаєтесь.
Дивіться також: Уникайте повторного сканування каталогу модулів, коли декілька модулів відсутні
Відповідаючи на коментар MPD, вам потрібно буде зробити щось на кшталт
SELECT name, filename FROM system WHERE status = 1;
і перехресне посилання на модулі вашої файлової системи. Усі включені модулі та теми також повинні бути присутніми.
Тут також розміщена функція (трохи адаптована) Martin_Dresden:
https://drupal.org/node/1080330#comment-6520842
function MYMODULE_init() {
$startingtime = microtime(true);
$o = '<p>Checking for dead modules ...</p>';
$result = db_select('system')
->fields('system', array('filename'))
->condition('status', '1', '=')
->execute();
$n = 1;
$m = 0;
foreach ($result as $row) {
$path = DRUPAL_ROOT.'/'.$row->filename;
If (!file_exists($path)) {
$o .= "#$n $path<br>";
$m++;
}
$n++;
}
$timedif = round(microtime(true) - $startingtime,3);
$o .= "Total of $n active modules registered in database. $m dead entries found.<br>";
$o .= 'Query Time: '.$timedif.' seconds';
drupal_set_message($o);
}
Це може допомогти налагоджувати.