magento / magento2

Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.
http://www.magento.com
Open Software License 3.0
11.5k stars 9.3k forks source link

Exception on /persistent/index/unsetCookie/ if quote has shipping address #6450

Closed janepoltoratskaya closed 6 years ago

janepoltoratskaya commented 8 years ago

Preconditions

  1. Magento 2.1
  2. Persistne shopping cart is enabled

    Steps to reproduce

  3. As a guest add a product to Shopping cart
  4. Go to checkout
  5. Enter email (not in the system), shipping address
  6. select shipping method
  7. Go to Payment step
  8. Go to Home page
  9. go to /persistent/index/unsetCookie/ page
  10. Observe exception: 'Shipping address is not set'

    Expected result

  1. A customer should be redirected to login page

    Actual result

  1. http://screencast.com/t/SksJBgRb2a

`1 exception(s): Exception #0 (Magento\Framework\Exception\StateException): Shipping address is not set

Exception #0 (Magento\Framework\Exception\StateException): Shipping address is not set

0 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-quote/Model/Quote/ShippingAssignment/ShippingProcessor.php(72): Magento\Quote\Model\ShippingMethodManagement->apply('341', 'freeshipping', 'freeshipping')

1 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-quote/Model/Quote/ShippingAssignment/ShippingAssignmentProcessor.php(76): Magento\Quote\Model\Quote\ShippingAssignment\ShippingProcessor->save(Object(Magento\Quote\Model\Shipping), Object(Magento\Quote\Model\Quote\Interceptor))

2 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-quote/Model/Quote/ShippingAssignment/ShippingAssignmentPersister.php(34): Magento\Quote\Model\Quote\ShippingAssignment\ShippingAssignmentProcessor->save(Object(Magento\Quote\Model\Quote\Interceptor), Object(Magento\Quote\Model\ShippingAssignment))

3 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-quote/Model/QuoteRepository/SaveHandler.php(100): Magento\Quote\Model\Quote\ShippingAssignment\ShippingAssignmentPersister->save(Object(Magento\Quote\Model\Quote\Interceptor), Object(Magento\Quote\Model\ShippingAssignment))

4 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-quote/Model/QuoteRepository/SaveHandler.php(80): Magento\Quote\Model\QuoteRepository\SaveHandler->processShippingAssignment(Object(Magento\Quote\Model\Quote\Interceptor))

5 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-quote/Model/QuoteRepository.php(161): Magento\Quote\Model\QuoteRepository\SaveHandler->save(Object(Magento\Quote\Model\Quote\Interceptor))

6 /var/www/ergobaby.com/shared/var/generation/Magento/Quote/Model/QuoteRepository/Interceptor.php(76): Magento\Quote\Model\QuoteRepository->save(Object(Magento\Quote\Model\Quote\Interceptor))

7 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-persistent/Model/QuoteManager.php(95): Magento\Quote\Model\QuoteRepository\Interceptor->save(Object(Magento\Quote\Model\Quote\Interceptor))

8 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-persistent/Observer/MakePersistentQuoteGuestObserver.php(71): Magento\Persistent\Model\QuoteManager->setGuest(true)

9 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Event/Invoker/InvokerDefault.php(73): Magento\Persistent\Observer\MakePersistentQuoteGuestObserver->execute(Object(Magento\Framework\Event\Observer))

10 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Event/Invoker/InvokerDefault.php(61): Magento\Framework\Event\Invoker\InvokerDefault->_callObserverMethod(Object(Magento\Persistent\Observer\MakePersistentQuoteGuestObserver), Object(Magento\Framework\Event\Observer))

11 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Event/Manager.php(66): Magento\Framework\Event\Invoker\InvokerDefault->dispatch(Array, Object(Magento\Framework\Event\Observer))

12 /var/www/ergobaby.com/shared/var/generation/Magento/Framework/Event/Manager/Proxy.php(95): Magento\Framework\Event\Manager->dispatch('controller_acti...', Array)

13 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/App/Action/Action.php(108): Magento\Framework\Event\Manager\Proxy->dispatch('controller_acti...', Array)

14 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http))

15 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Persistent\Controller\Index\UnsetCookie\Interceptor->___callParent('dispatch', Array)

16 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Persist...', 'dispatch', Object(Magento\Persistent\Controller\Index\UnsetCookie\Interceptor), Array, 'contextPlugin')

17 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-store/App/Action/Plugin/Context.php(106): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))

18 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Store\App\Action\Plugin\Context->aroundDispatch(Object(Magento\Persistent\Controller\Index\UnsetCookie\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

19 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Persist...', 'dispatch', Object(Magento\Persistent\Controller\Index\UnsetCookie\Interceptor), Array, 'storeCheck')

20 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-store/App/Action/Plugin/StoreCheck.php(44): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))

21 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Store\App\Action\Plugin\StoreCheck->aroundDispatch(Object(Magento\Persistent\Controller\Index\UnsetCookie\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

22 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Persist...', 'dispatch', Object(Magento\Persistent\Controller\Index\UnsetCookie\Interceptor), Array, 'customer-app-ac...')

23 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-customer/Model/App/Action/ContextPlugin.php(61): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))

24 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Customer\Model\App\Action\ContextPlugin->aroundDispatch(Object(Magento\Persistent\Controller\Index\UnsetCookie\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

25 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Persist...', 'dispatch', Object(Magento\Persistent\Controller\Index\UnsetCookie\Interceptor), Array, 'tax-app-action-...')

26 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-tax/Model/App/Action/ContextPlugin.php(91): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))

27 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Tax\Model\App\Action\ContextPlugin->aroundDispatch(Object(Magento\Persistent\Controller\Index\UnsetCookie\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

28 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Persist...', 'dispatch', Object(Magento\Persistent\Controller\Index\UnsetCookie\Interceptor), Array, 'weee-app-action...')

29 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-weee/Model/App/Action/ContextPlugin.php(112): Magento\Persistent\Controller\Index\UnsetCookie\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))

30 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Interceptor.php(142): Magento\Weee\Model\App\Action\ContextPlugin->aroundDispatch(Object(Magento\Persistent\Controller\Index\UnsetCookie\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

31 /var/www/ergobaby.com/shared/var/generation/Magento/Persistent/Controller/Index/UnsetCookie/Interceptor.php(52): Magento\Persistent\Controller\Index\UnsetCookie\Interceptor->___callPlugins('dispatch', Array, Array)

32 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/App/FrontController.php(55): Magento\Persistent\Controller\Index\UnsetCookie\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))

33 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Interceptor.php(74): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http))

34 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array)

35 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'requestPreproce...')

36 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php(94): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))

37 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

38 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'install')

39 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Module/Plugin/DbStatusValidator.php(69): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))

40 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Framework\Module\Plugin\DbStatusValidator->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

41 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'front-controlle...')

42 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php(68): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain{closure}(Object(Magento\Framework\App\Request\Http))

43 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

44 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'front-controlle...')

45 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/module-page-cache/Model/App/FrontController/VarnishPlugin.php(55): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http))

46 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Interceptor.php(142): Magento\PageCache\Model\App\FrontController\VarnishPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))

47 /var/www/ergobaby.com/shared/var/generation/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array)

48 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))

49 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\App\Http->launch()

50 /var/www/ergobaby.com/shared/var/generation/Magento/Framework/App/Http/Interceptor.php(26): Magento\Framework\App\Http\Interceptor->___callPlugins('launch', Array, Array)

51 /var/www/ergobaby.com/releases/20160831232144/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http\Interceptor->launch()

52 /var/www/ergobaby.com/releases/20160831232144/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor))

53 {main}

`

I've tried on 2 installetions, the second one was without custom extension. In both cases I was able to reproduce that issue.

sevos1984 commented 8 years ago

Thanks for reporting, internal ticket MAGETWO-57996

parththummar commented 7 years ago

Any update on this? I am facing a similar issue with persistent on 2.1.4

magento-engcom-team commented 7 years ago

@janepoltoratskaya, thank you for your report. We've created internal ticket(s) MAGETWO-57996 to track progress on the issue.

magento-engcom-team commented 6 years ago

@janepoltoratskaya, thank you for your report.

Unfortunately, we are archiving this ticket now as it did not get much attention from both Magento Community and Core developers for an extended period. This is done in an effort to create a quality, community-driven backlog which will allow us to allocate the required attention more easily.

You may learn more about this initiative following this link.

Please feel free to comment or reopen the ticket if you think it should be reviewed once more. Thank you for collaboration.