Error validating access token

My site has been using facebook connect for a while now is is going fine except today in my logs I got:

Failed to query facebook user info: Error validating access token: User **************** has not authorized application *************. 190. (logged into facebook as *************).

The stars were actual numbers, just removed for privacy.
After this error the user account is created and the user is logged in but without an email address.

I have made my own module to add email address permission eg.

function fb_custom_fb_required_perms_alter(&$perms) {
$perms[] = 'email';
}

I assumed that if the user did not allow the email address permission that a user account would not be created, but it seems an account is still created, just without an email address. Am I implementing the hook wrong?

Are you testing with this

Are you testing with this account? For example did you authorize once then revoke the authorization?

Because it sounds like modules/fb thinks there's an access token associated with the user, but facebook is giving an error when it tries to use it.

Also those two user IDs that you replaced with ****, are they the same number?

This is not a test account,

This is not a test account, it is on a live site. I have never revoked any authorization. This is happening when someone is trying to join the site.
The user ids are the same.

It has happened a couple of times now. The users are created, just without an email address.