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.53k stars 9.31k forks source link

Customer registration multiple form submit #26590

Closed Jens-Bourgeois closed 4 years ago

Jens-Bourgeois commented 4 years ago

Preconditions (*)

  1. Magento v2.3.3

Steps to reproduce (*)

  1. From the Storefront, Create a new account (customer/account/create/ URL)
  2. Fill in all the required fields
  3. Click the "Create an Account" button multiple times really fast create_an_account

Expected result (*)

  1. The submit button should be disabled during the submit request, just like on the addToCart action on the product page

Actual result (*)

  1. The submit button does not get disabled during the submit, throwing an error in the logs

Exception message in var/log system.log:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'XXX' for key 'CUSTOMER_ENTITY_EMAIL_WEBSITE_ID', query was: INSERT INTO customer_entity (website_id, email, group_id, store_id, created_at, updated_at, disable_auto_group_change, created_in, firstname, lastname, password_hash, taxvat, confirmation) VALUES (?, ?, ?, ?, '2020-01-23 12:39:15', '2020-01-23 12:39:15', ?, ?, ?, ?, ?, ?, ?) Trace:

#1 Magento\Framework\DB\Adapter\Pdo\Mysql->query() called at [vendor/magento/zendframework1/library/Zend/Db/Adapter/Abstract.php:576]

2 Zend_Db_Adapter_Abstract->insert() called at [vendor/magento/module-eav/Model/Entity/AbstractEntity.php:1475]

3 Magento\Eav\Model\Entity\AbstractEntity->_processSaveData() called at [vendor/magento/module-eav/Model/Entity/VersionControl/AbstractEntity.php:91]

4 Magento\Eav\Model\Entity\VersionControl\AbstractEntity->save() called at [vendor/magento/framework/Interception/Interceptor.php:58]

5 Magento\Customer\Model\ResourceModel\Customer\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]

6 Magento\Customer\Model\ResourceModel\Customer\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/aheadworks/module-followupemail2/Model/Event/Plugin/Customer.php:68]

7 Aheadworks\Followupemail2\Model\Event\Plugin\Customer->aroundSave() called at [vendor/magento/framework/Interception/Interceptor.php:135]

8 Magento\Customer\Model\ResourceModel\Customer\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/magento/framework/App/Cache/FlushCacheByTags.php:68]

9 Magento\Framework\App\Cache\FlushCacheByTags->aroundSave() called at [vendor/magento/framework/Interception/Interceptor.php:135]

10 Magento\Customer\Model\ResourceModel\Customer\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]

11 Magento\Customer\Model\ResourceModel\Customer\Interceptor->___callPlugins() called at [generated/code/Magento/Customer/Model/ResourceModel/Customer/Interceptor.php:26]

12 Magento\Customer\Model\ResourceModel\Customer\Interceptor->save() called at [vendor/magento/framework/Model/AbstractModel.php:647]

13 Magento\Framework\Model\AbstractModel->save() called at [vendor/magento/framework/Interception/Interceptor.php:58]

14 Magento\Customer\Model\Customer\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]

15 Magento\Customer\Model\Customer\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]

16 Magento\Customer\Model\Customer\Interceptor->___callPlugins() called at [generated/code/Magento/Customer/Model/Customer/Interceptor.php:39]

17 Magento\Customer\Model\Customer\Interceptor->save() called at [vendor/magento/module-customer/Model/ResourceModel/CustomerRepository.php:246]

18 Magento\Customer\Model\ResourceModel\CustomerRepository->save() called at [vendor/magento/framework/Interception/Interceptor.php:58]

19 Magento\Customer\Model\ResourceModel\CustomerRepository\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]

20 Magento\Customer\Model\ResourceModel\CustomerRepository\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/vertex/module-tax/Model/Plugin/CustomerRepositoryPlugin.php:199]

21 Vertex\Tax\Model\Plugin\CustomerRepositoryPlugin->aroundSave() called at [vendor/magento/framework/Interception/Interceptor.php:135]

22 Magento\Customer\Model\ResourceModel\CustomerRepository\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/magento/module-customer/Model/Plugin/CustomerRepository/TransactionWrapper.php:44]

23 Magento\Customer\Model\Plugin\CustomerRepository\TransactionWrapper->aroundSave() called at [vendor/magento/framework/Interception/Interceptor.php:135]

24 Magento\Customer\Model\ResourceModel\CustomerRepository\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]

25 Magento\Customer\Model\ResourceModel\CustomerRepository\Interceptor->___callPlugins() called at [generated/code/Magento/Customer/Model/ResourceModel/CustomerRepository/Interceptor.php:26]

26 Magento\Customer\Model\ResourceModel\CustomerRepository\Interceptor->save() called at [vendor/magento/module-customer/Model/AccountManagement.php:886]

27 Magento\Customer\Model\AccountManagement->createAccountWithPasswordHash() called at [vendor/magento/module-customer/Model/AccountManagement.php:834]

28 Magento\Customer\Model\AccountManagement->createAccount() called at [vendor/magento/module-customer/Controller/Account/CreatePost.php:314]

29 Magento\Customer\Controller\Account\CreatePost->execute() called at [vendor/magento/framework/App/Action/Action.php:107]

30 Magento\Framework\App\Action\Action->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]

31 Magento\Customer\Controller\Account\CreatePost\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]

32 Magento\Customer\Controller\Account\CreatePost\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/anowave/ec/Plugin/App/Action/Context.php:148]

33 Anowave\Ec\Plugin\App\Action\Context->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]

34 Magento\Customer\Controller\Account\CreatePost\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]

35 Magento\Customer\Controller\Account\CreatePost\Interceptor->___callPlugins() called at [generated/code/Magento/Customer/Controller/Account/CreatePost/Interceptor.php:26]

36 Magento\Customer\Controller\Account\CreatePost\Interceptor->dispatch() called at [vendor/magento/framework/App/FrontController.php:55]

37 Magento\Framework\App\FrontController->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]

38 Magento\Framework\App\FrontController\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]

39 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php:94]

40 Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]

41 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/mirasvit/module-cache-warmer/src/CacheWarmer/Plugin/Debug/OnHitPlugin.php:115]

42 Mirasvit\CacheWarmer\Plugin\Debug\OnHitPlugin->aroundAroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]

43 Magento\PageCache\Model\App\FrontController\BuiltinPlugin\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]

44 Magento\PageCache\Model\App\FrontController\BuiltinPlugin\Interceptor->___callPlugins() called at [generated/code/Magento/PageCache/Model/App/FrontController/BuiltinPlugin/Interceptor.php:26]

45 Magento\PageCache\Model\App\FrontController\BuiltinPlugin\Interceptor->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]

46 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]

47 Magento\Framework\App\FrontController\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/App/FrontController/Interceptor.php:26]

48 Magento\Framework\App\FrontController\Interceptor->dispatch() called at [vendor/magento/framework/App/Http.php:136]

49 Magento\Framework\App\Http->launch() called at [vendor/magento/framework/App/Bootstrap.php:257]

50 Magento\Framework\App\Bootstrap->run() called at [pub/index.php:37]

magento-deployment-service[bot] commented 4 years ago

Thanks for opening this issue!

m2-assistant[bot] commented 4 years ago

Hi @Jens-Bourgeois. Thank you for your report. To help us process this issue please make sure that you provided the following information:

Please make sure that the issue is reproducible on the vanilla Magento instance following Steps to reproduce. To deploy vanilla Magento instance on our environment, please, add a comment to the issue:

@magento give me 2.4-develop instance - upcoming 2.4.x release

For more details, please, review the Magento Contributor Assistant documentation.

@Jens-Bourgeois do you confirm that you were able to reproduce the issue on vanilla Magento instance following steps to reproduce?


magento-deployment-service[bot] commented 4 years ago

Thanks for opening this issue!

magento-deployment-service[bot] commented 4 years ago

Thanks for opening this issue!

m2-assistant[bot] commented 4 years ago

Hi @engcom-Bravo. Thank you for working on this issue. In order to make sure that issue has enough information and ready for development, please read and check the following instruction: :point_down:

magento-deployment-service[bot] commented 4 years ago

Thanks for opening this issue!

magento-engcom-team commented 4 years ago

:white_check_mark: Confirmed by @engcom-Bravo Thank you for verifying the issue. Based on the provided information internal tickets MC-30969 were created

Issue Available: @engcom-Bravo, You will be automatically unassigned. Contributors/Maintainers can claim this issue to continue. To reclaim and continue work, reassign the ticket to yourself.

gaurav-473 commented 4 years ago

@magento give me 2.4-develop instance

magento-engcom-team commented 4 years ago

Hi @gauravagarwal1001. Thank you for your request. I'm working on Magento 2.4-develop instance for you

magento-engcom-team commented 4 years ago

Hi @gauravagarwal1001, here is your Magento instance. Admin access: https://i-26590-2-4-develop.instances.magento-community.engineering/admin_b812 Login: 564fb5ee Password: 89924c4d4a88 Instance will be terminated in up to 3 hours.

shikhamis11 commented 4 years ago

I am working on this issue at #MM20IN

vignesvaran commented 4 years ago

mm20in

magento-engcom-team commented 4 years ago

@vignesvaran thank you for joining. Please accept team invitation here and self-assign the issue.

m2-assistant[bot] commented 4 years ago

Hi @vignesvaran. Thank you for working on this issue. Looks like this issue is already verified and confirmed. But if you want to validate it one more time, please, go though the following instruction:


m2-assistant[bot] commented 4 years ago

Hi @shikhamis11. Thank you for working on this issue. Looks like this issue is already verified and confirmed. But if you want to validate it one more time, please, go though the following instruction:


princeantil90 commented 4 years ago

@Jens-Bourgeois This has been fixed and pull request has been created https://github.com/magento/magento2/pull/26642

Jens-Bourgeois commented 4 years ago

Great thx!

magento-engcom-team commented 4 years ago

Hi @Jens-Bourgeois. Thank you for your report. The issue has been fixed in magento/magento2#26642 by @princecb in 2.4-develop branch Related commit(s):

The fix will be available with the upcoming 2.4.0 release.