Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
The recaptcha_mailhide module is no longer part of the 7.x version of the reCAPTCHA module, and it seems to have been removed without any cleanup of itself being added. This error gets shown on the site after updating to reCAPTCHA 7.x-2.1 now. Thanks in advance.
User warning: The following module is missing from the file system: recaptcha_mailhide. In order to fix this, put the module back in its original location. For more information, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1128 of /var/www/mysite.com/includes/bootstrap.inc).
Comments
Comment #2
Ramdas Gaikar CreditAttribution: Ramdas Gaikar at Intelliswift commentedHello,
Please refer this link to resolve this issue
Comment #3
hass CreditAttribution: hass commentedI'm moving this to core and shortly explain what happened here. I think this is a broken update module mechanismn, but I'm not sure.
1. You installed ReCaptach 1.x and enabled MailHide submodule.
2. Than you upgrade to ReCaptcha 2.x.
3. ReCaptcha 2.x has no MailHide submodule any longer.
The issue is - You will get the error BEFORE we can run update.php. This means I could fix the issue for your in an update hook, but the error will popup earlier. I do not think this is correct and core itself need to handle this.
What can always happen is that a module may remove a submodule. In such a case every one is stuck with this issue. Automatic update via webinterface will always run into this issue as is downloads a newer recommended module version and will replace the files before the upgrade hook has run. In this case the error always bubbles up.
I could nevertheless solve this somehow in an upgrade hook, but I'm not sure if this is my job. At least it was not in past and I cannot prevent the error from getting shown if you go through the update.php steps.
Comment #4
hass CreditAttribution: hass commentedComment #5
vinmassaro CreditAttribution: vinmassaro commented@hass: It seems like the module should clean up after itself if possible, even if this shows some warnings before update.php is run, no? Best practice is to always run update.php after a module update, so the warning would not be seen for long.
I never noticed that recaptcha_mailhide was removed from 7.x-2.x, so when we updated from 7.x-1.x long ago, it was never apparent until Drupal 7.50. I'd be happy to write a patch for reCAPTCHA 7.x-2.x that implements #3 here: https://www.drupal.org/node/2487215
Comment #6
hass CreditAttribution: hass commentedAh, now I see. Ok, let's integrate this into update
recaptcha_update_7200()
. It will not help You, but others upgrading in future.Comment #7
vinmassaro CreditAttribution: vinmassaro commentedWhat about putting it outside the upgrade hook so it catches both cases?
Comment #8
hass CreditAttribution: hass commented? This requies an upgrade hook.
Comment #10
hass CreditAttribution: hass commentedPlease give DEV a try and report back.
Comment #11
vinmassaro CreditAttribution: vinmassaro commented7.x-2.x-dev works great, thanks for the fix.
Comment #13
morybel CreditAttribution: morybel commentedThanks for Dev version, worked wonders to get rid of notice for recaptcha_mailhide missing.