Skip to content

Customer registration multiple form submit #26590

Closed
@Jens-Bourgeois

Description

@Jens-Bourgeois

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]

Metadata

Metadata

Assignees

Labels

Component: CustomerEvent: mm20inFixed in 2.4.xThe issue has been fixed in 2.4-develop branchIssue: ConfirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedIssue: Format is validGate 1 Passed. Automatic verification of issue format passedIssue: Ready for WorkGate 4. Acknowledged. Issue is added to backlog and ready for developmentReported on 2.3.3Indicates original Magento version for the Issue report.Reproduced on 2.4.xThe issue has been reproduced on latest 2.4-develop branch

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions