Skip to content

Problem reading session file #3572

Closed
Closed
@sengaigibon

Description

@sengaigibon

I'm getting a weird behavior using Magento 2.0.2, it's described here as steps:

  1. On 'Sign in' front page, as customer if I type a wrong username/password I get redirected to the same page (normal) but Magento doesn't display any error message (abnormal), I was expecting "Invalid login or password" from LoginPost.php . Taking a look to the proper session file in var/session/sess_###, the error is stored there...
  2. I login again with the correct password and get redirected to my dashboard (normal) but the customer's name doesn't appear in the top menu bar, as a part of the welcome message (abnormal). Also, if the customer had in his car items from a previuos session, the orange square to the right of the cart icon doesn't show any amount.
  3. Then, if I add any item to the cart I get the message 'You added xxx to your shopping cart' (normal) but not only this but also I get the previous 'Invalid login' message (abnormal).
  4. After this, if I click on the cart icon and 'Go to Checkout' button, I get the login popup (abnormal) instead of going to the onepage checkout (normal).
  5. Finally, if at this point I go back to 'My Account', I get the proper customer name in the top bar, with the proper amount of items in the cart and I can go to checkout as if nothing had happened.

I'm working on customize Magento for specific needs, I added a field to customer_entity table, 'mobile' field which has the same attributes as 'email' field. I disabled email as requiered field in the database. I added three custom fields stored in customer_entity_varchar. I had preferences of many files of Magento/Customer module. Even if I disable all my modules, rollback all my commits, clearing cache, var/generation, var/session and puc/static/frontend/*, I'm still getting this behavior. I have two instances, one running in production mode and one as developer, both has the same behavior.
I'm using Opera, Firefox and Chrome for the tests, clearing the browser history and cache makes no difference.

Also, I get this messages in the system.log file:

[2016-02-29 07:05:45] main.INFO: Cache file with merged layout: LAYOUT_frontend_STORE1_2c7461af04bb11fe209659d7147d2c579: Please correct the XML data and try again. [] []
[2016-02-29 07:05:45] main.INFO: Cache file with merged layout: LAYOUT_frontend_STORE1_20a98983867a1770682b48d9a0ad63441: Please correct the XML data and try again. [] []
[2016-02-29 07:05:45] main.CRITICAL: Broken reference: the 'catalog.compare.sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2016-02-29 07:05:45] main.CRITICAL: Broken reference: the 'sale.reorder.sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2016-02-29 07:05:45] main.CRITICAL: Broken reference: the 'wishlist_sidebar' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2016-02-29 07:05:45] main.CRITICAL: Broken reference: the 'paypal.partner.right.logo' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2016-02-29 07:05:45] main.CRITICAL: Broken reference: the 'bml.right.logo' element cannot be added as child to 'sidebar.additional', because the latter doesn't exist [] []
[2016-02-29 07:05:45] main.CRITICAL: Broken reference: the 'store.settings.currency' tries to reorder itself towards 'store_language', but their parents are different: 'store.settings' and 'header.panel' respectively. [] []
[2016-02-29 07:05:45] main.INFO: Cache file with merged layout: LAYOUT_frontend_STORE1_26f1b068ec7ccf4878f9284dd1137afd1: Please correct the XML data and try again. [] []

Sometimes, for an unknown reason the error disappear and the users can login and go to checkout normally. But this error is getting more persistent since 5 days ago.

Any advice to fix it? Thank you so much!

EDIT:
I must add something I read from a different issue: I also see the red/orange square next to the cart icon but empty, before and after login, only shows an amount after add something to the cart and adds this new item to those added in previous sessions.

UPDATE:

  • For the error messages, on 'Sign in' frontpage, I realize that the object 'messages' inside "Magento/Theme/view/frontend/web/js/view/messages.js" is not getting populated.
  • For the step (3) after adding a product, there is a call to "http://my.magento2.server/index.php/customer/section/load/?sections=compare-products%2Ccustomer%2Cwishlist%2Clast-ordered-items&update_section_id=false" which renders back the products in the cart and also the messages stored in the session file. I think is because it triggers the event listener "$(document).on('ajaxComplete', function (event, xhr, settings) " inside "Magento/Customer/view/frontend/web/js/customer-data.js" which update the content of the sections with the result of previous call to "section/load/?..." .
  • For step (5), customer data comes from a call to "$(document).on('ajaxComplete', function (event, xhr, settings)". I saw this function is called on every section, but don't understand why on 'Sign in' page and after login it retrieves empty objects.

After step (5) take place, every access to magento site (e.g. in the browser, if I close the tab and reopen it from index.php or any other section of the store) is rendering correctly the customer name on top bar and items in the cart.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions