In an another case, it broke completely and didn't let other user to login using Facebook. The steps I took that create the error
Logged in using Bob Smith from Facebook.
Edited my profile and remove the Facebook ID association
Try login in (Bob Smith is still has authentication session with Facebook) and got following error
my Facebook account
* user warning: Duplicate entry 'Bob Smith' for key 2 query: INSERT INTO users (name, pass, init, status, created) VALUES (Bob Smith, '13221e49b9d0c20e1a8875c2d226af3c', 'Bob Smith', 1, 1231308971) in /home1/****/public_html/modules/user/user.module on line 325.
* warning: array_fill() [function.array-fill]: Number of elements must be positive in /home1/******/public_html/includes/database.inc on line 241.
* warning: implode() [function.implode]: Invalid arguments passed in /home1/******/public_html/includes/database.inc on line 241.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home1/******/public_html/modules/user/user.module on line 500.
* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 query: SELECT p.perm FROM role r INNER JOIN permission p ON p.rid = r.rid WHERE r.rid IN () in /home1/******/public_html/modules/user/user.module on line 500.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home1/******/public_html/modules/block/block.module on line 406.
* warning: array_fill() [function.array-fill]: Number of elements must be positive in /home1/******/public_html/includes/database.inc on line 241.
* warning: implode() [function.implode]: Invalid arguments passed in /home1/******/public_html/includes/database.inc on line 241.
* warning: array_merge() [function.array-merge]: Argument #2 is not an array in /home1/******/public_html/modules/block/block.module on line 407.
* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') OR r.rid IS NULL) ORDER BY b.region, b.weight, b.module' at line 1 query: SELECT DISTINCT b.* FROM blocks b LEFT JOIN blocks_roles r ON b.module = r.module AND b.delta = r.delta WHERE b.theme = '' AND b.status = 1 AND (r.rid IN () OR r.rid IS NULL) ORDER BY b.region, b.weight, b.module in /home1/******/public_html/modules/block/block.module on line 407.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home1/******/public_html/sites/all/modules/views/views.module on line 440.
After getting the error, I was not able to login using any other Facebook ID even after clearing cache and from different browser. I had to restore site from backup.
Thanks,
=gk
Comments
Comment #1
halkeye commentedI dealt with this in the drupal 5 version, but i ported the module before fixing it, Essentially in the 5 version I solved it by passing the entire registration system though the user register form filling out as much details as possible.
This would make make #346971: New Drupal account missing email a lot easier to fail if the permission was not allowed.
I'll be willing to take a patch, or I'll fix this as soon as I have time.