cancel
Showing results for 
Search instead for 
Did you mean: 

INFURIATING: Customers Can't Login.

INFURIATING: Customers Can't Login.

This is costing us about $500/day - for the past week or so, since we upgraded from 2.1.0 to 2.1.6.  The only way customers can place an order is by creating a new account.

Existing customers try to login and get this message:

"An unspecified error occurred. Please contact us for assistance." ForgotPassword-LoginCapture2.JPG

 

There doesn't seem to be any way to get a more detailed error, nothing shows up in the server logs.  Today, we staged the site on a separate domain & upgraded it to 2.1.7 - same freaking problem.  No idea how to fix it short of reverting back to 2.1.0.  But that was such a bloody nightmare to upgrade - we hate to go there over what seems like a simple fix.

 

If we could only get a stack trace on this thing - idk.  

Please help.

3 REPLIES 3

Re: INFURIATING: Customers Can't Login.

Fixed.problem:

Missing Columns in customer_entity table: 'failures_num' & 'first_failure'

 

How? Figured it out by changing the error message returned in [/vendor/magento/module-customer/Controller/Account/LoginPost.php] from "__('An unspecified error occurred. Please contact us for assistance.')" to "$this->messageManager->addError($message);" which finally gave us a descriptive error:

===================

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'failures_num' in 'field list', query was: UPDATE `mg_customer_entity` SET `failures_num` = ?, `first_failure` = ?, `lock_expires` = ? WHERE (entity_id = '1747')

===================

 

WHY these columns weren't created during migration from 1.9x > 2.1.0 > 2.1.6 > 2.1.7 > idfk.  But there it is - hope this helps someone keep hair on their headSmiley Wink

 

 

Re: INFURIATING: Customers Can't Login.

Did anyone ever have this issue again? We do have the two Tables failures_num and first_failure in the Database, so this can't be the issue...

I change error log in LoginPost.php to

$this->messageManager->addError($e->getMessage());

as 

$this->messageManager->addError($message); would throw an exception because variable $message was not defined.

I then get an error message when login in with a migratet account:

regionId is a required field.

 

any suggestions?

thank you!

Re: INFURIATING: Customers Can't Login.

Couldn't agree more! The code says push out a nonsense message for fear of exposing passwords, but surely something could be written to the exception log file to give a clue as to why this is happening.

 

Correctly it should be "$this->messageManager->addError($e->getMessage());" to see what's occurring.