3

I have magento 2 running on live project and our clients are seeing some weird issue on Firefox browser and Chrome as well. I was able to reproduce it only once and after refreshing the page everything is working as expected. I will be happy if someone have/had similar issue and have some information how to debug/fix it.

Preconditions

  1. Magento CE 2.1.0
  2. Production mode & Varnish
  3. Firefox latest version & Chrome latest versions

Steps to reproduce

  1. Add product to basket
  2. Navigate to checkout page
  3. Enter billing address and select shipping method
  4. Click Next button to open payment section

Expected result:

Display loader icon, load payment section and cart summary, hide loader icon

Actual results:

Display loader icon, load payment section and cart summary, loader icon doesn't hide and stay.

No JS errors on console or network tab in FF (ajax request to getting payment section). After refresh with #payment in URL everything is working fine. Even if open /checkout without #payment (start from 1st step) it's opening 2nd step smoothly.

I raised issue in github: https://github.com/magento/magento2/issues/7186

4
  • Can you please try to disable your Payment & Shipping Method & Use the basic Bank Transfer & Free Shipping. Let me know if any progress
    – Jackson
    Oct 26, 2016 at 1:26
  • It's not related with the payment or shipping method. We had this issue on staging environment with flat rate and check/ money order. See the link to the github issue. Others are having similar issue not only on FF but in Chrome and Safari too. Oct 27, 2016 at 7:52
  • Noted @Miroslav. Eyes on Github Now
    – Jackson
    Oct 27, 2016 at 8:25
  • My thinking goes to Varnish. It's Caching Issue i think. Can u disable cache & Check with Magento Default Cache
    – Jackson
    Oct 27, 2016 at 9:34

1 Answer 1

3

This issue is still not fixed but there is a workaround from @dcabrejasazagra here

Workaround:

Override vendor/magento/module-checkout/view/frontend/web/js/model/shipping-save-processor/default.js into your theme

magento/app/design/frontend/Vendor/Theme/Magento_Checkout/web/js/model/shipping-save-processor/default.js

Inside this file you will find fullScreenLoader.stopLoader(); called on done and fail methods

So you need to replace them with fullScreenLoader.stopLoader(true); which will force stop the loader and resolve the issue.

stopLoader() method is defined in vendor/magento/module-checkout/view/frontend/web/js/model/full-screen-loader.js

Edit: I assume that some component fails on the checkout and trigger .fail() method but the error processor is not handling errors correctly and display errors and hides the loader.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.