OFFLINE-GmbH / oc-mall-plugin

:convenience_store: E-commerce solution for October CMS
https://offline-gmbh.github.io/oc-mall-plugin
MIT License
169 stars 112 forks source link

Paypal sandbox error #405

Closed cssninjaStudio closed 3 years ago

cssninjaStudio commented 4 years ago

I get this when I click on the payment button. My store is still in test mode.

ERROR: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction

OctoberCMS is up to date, Php server version is 7.1

WHat should I do?

tobias-kuendig commented 4 years ago

Please post the complete stack trace of the error.

cssninjaStudio commented 4 years ago

Sorry, since it pops in an alert box, its not possible to copy the text, but here are some screenshots of the error. alert1 alert2 alert3 alert4

tobias-kuendig commented 4 years ago

You should be able to find the whole stacktrace in your storage/logs/system.log file.

cssninjaStudio commented 4 years ago
Next Illuminate\Database\QueryException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction (SQL: insert into `offline_mall_orders` (`session_id`, `currency`, `lang`, `shipping_address_same_as_billing`, `billing_address`, `shipping_address`, `shipping`, `payment`, `taxes`, `discounts`, `ip_address`, `customer_id`, `payment_method_id`, `customer_payment_method_id`, `payment_state`, `order_state_id`, `is_virtual`, `total_shipping_pre_taxes`, `total_shipping_taxes`, `total_shipping_post_taxes`, `total_payment_pre_taxes`, `total_payment_taxes`, `total_payment_post_taxes`, `total_product_pre_taxes`, `total_product_taxes`, `total_product_post_taxes`, `total_pre_payment`, `total_pre_taxes`, `total_taxes`, `total_post_taxes`, `total_weight`, `order_number`, `payment_hash`, `updated_at`, `created_at`) values (XOyRm3kHf4kaPOhOzFnAij7lGZmFJmgJpnf2NuhP, {"id":3,"code":"USD","symbol":"$","rate":1.02,"decimals":2,"format":"{{ currency.symbol }} {{ price|number_format(2, \".\", \"'\") }}","sort_order":3,"is_default":true,"created_at":"2019-12-21 23:28:37","updated_at":"2019-12-21 23:28:37"}, default, 1, {"id":3,"company":"","name":"Driss Chelouati","lines":"55 San Juan Street,\r\nSuit G3, Apt 3","zip":"10100","city":"Rabat","state_id":null,"state":null,"country_id":153,"country":{"id":153,"is_enabled":1,"name":"Morocco","code":"MA","is_pinned":0},"details":null,"customer_id":3,"created_at":{"date":"2019-12-22 03:11:56.000000","timezone_type":3,"timezone":"UTC"},"updated_at":{"date":"2019-12-22 03:11:56.000000","timezone_type":3,"timezone":"UTC"},"deleted_at":null}, {"id":3,"company":"","name":"Driss Chelouati","lines":"55 San Juan Street,\r\nSuit G3, Apt 3","zip":"10100","city":"Rabat","state_id":null,"state":null,"country_id":153,"country":{"id":153,"is_enabled":1,"name":"Morocco","code":"MA","is_pinned":0},"details":null,"customer_id":3,"created_at":{"date":"2019-12-22 03:11:56.000000","timezone_type":3,"timezone":"UTC"},"updated_at":{"date":"2019-12-22 03:11:56.000000","timezone_type":3,"timezone":"UTC"},"deleted_at":null}, {"method":{"name":"No shipping required","description":"The current cart does not require any shipping.","price_formatted":null,"prices":[],"price":[]},"preTaxes":0,"taxes":0,"total":0,"appliedDiscount":null}, {"method":{"id":2,"name":"PayPal","code":"paypal","description":"<p>Use your Paypal account to fullfill and confirm your order <\/p>","instructions":"","payment_provider":"paypal-rest","sort_order":1,"fee_label":"","fee_percentage":4,"pdf_partial":"","taxes":[]},"preTaxes":33,"taxes":0,"total":33}, [], [], 197.247.151.42, 3, 2, , OFFLINE\Mall\Classes\PaymentState\PendingState, 1, 1, 0, 0, 0, 33, 0, 33, 800, 0, 800, 800, 800, 0, 833, 0, 9, nlcdjE558C, 2019-12-22 17:37:16, 2019-12-22 17:37:16)) in /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664
Stack trace:
#0 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(624): Illuminate\Database\Connection->runQueryCallback('insert into `of...', Array, Object(Closure))
#1 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(459): Illuminate\Database\Connection->run('insert into `of...', Array, Object(Closure))
#2 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(411): Illuminate\Database\Connection->statement('insert into `of...', Array)
#3 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert('insert into `of...', Array)
#4 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2159): Illuminate\Database\Query\Processors\Processor->processInsertGetId(Object(October\Rain\Database\QueryBuilder), 'insert into `of...', Array, 'id')
#5 /home/cssninjaua/www/vendor/october/rain/src/Database/QueryBuilder.php(278): Illuminate\Database\Query\Builder->insertGetId(Array, 'id')
#6 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1283): October\Rain\Database\QueryBuilder->insertGetId(Array, 'id')
#7 /home/cssninjaua/www/vendor/october/rain/src/Database/Builder.php(182): Illuminate\Database\Eloquent\Builder->__call('insertGetId', Array)
#8 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(722): October\Rain\Database\Builder->__call('insertGetId', Array)
#9 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(687): Illuminate\Database\Eloquent\Model->insertAndSetId(Object(October\Rain\Database\Builder), Array)
#10 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(550): Illuminate\Database\Eloquent\Model->performInsert(Object(October\Rain\Database\Builder))
#11 /home/cssninjaua/www/vendor/october/rain/src/Database/Model.php(761): Illuminate\Database\Eloquent\Model->save(Array)
#12 /home/cssninjaua/www/vendor/october/rain/src/Database/Model.php(794): October\Rain\Database\Model->saveInternal(Array)
#13 /home/cssninjaua/www/plugins/offline/mall/models/Order.php(193): October\Rain\Database\Model->save()
#14 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(29): OFFLINE\Mall\Models\Order::OFFLINE\Mall\Models\{closure}(Object(October\Rain\Database\Connections\MySqlConnection))
#15 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(327): Illuminate\Database\Connection->transaction(Object(Closure))
#16 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): Illuminate\Database\DatabaseManager->__call('transaction', Array)
#17 /home/cssninjaua/www/plugins/offline/mall/models/Order.php(207): Illuminate\Support\Facades\Facade::__callStatic('transaction', Array)
#18 /home/cssninjaua/www/plugins/offline/mall/components/Checkout.php(230): OFFLINE\Mall\Models\Order::fromCart(Object(OFFLINE\Mall\Models\Cart))
#19 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(29): OFFLINE\Mall\Components\Checkout->OFFLINE\Mall\Components\{closure}(Object(October\Rain\Database\Connections\MySqlConnection))
#20 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(327): Illuminate\Database\Connection->transaction(Object(Closure))
#21 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): Illuminate\Database\DatabaseManager->__call('transaction', Array)
#22 /home/cssninjaua/www/plugins/offline/mall/components/Checkout.php(231): Illuminate\Support\Facades\Facade::__callStatic('transaction', Array)
#23 /home/cssninjaua/www/modules/cms/classes/ComponentBase.php(187): OFFLINE\Mall\Components\Checkout->onCheckout()
#24 /home/cssninjaua/www/modules/cms/classes/Controller.php(847): Cms\Classes\ComponentBase->runAjaxHandler('onCheckout')
#25 /home/cssninjaua/www/modules/cms/classes/Controller.php(738): Cms\Classes\Controller->runAjaxHandler('checkout::onChe...')
#26 /home/cssninjaua/www/modules/cms/classes/Controller.php(371): Cms\Classes\Controller->execAjaxHandlers()
#27 /home/cssninjaua/www/modules/cms/classes/Controller.php(222): Cms\Classes\Controller->runPage(Object(Cms\Classes\Page))
#28 /home/cssninjaua/www/modules/cms/classes/CmsController.php(50): Cms\Classes\Controller->run('checkout/confir...')
#29 [internal function]: Cms\Classes\CmsController->run('checkout/confir...')
#30 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#31 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('run', Array)
#32 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Cms\Classes\CmsController), 'run')
#33 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\Routing\Route->runController()
#34 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\Routing\Route->run()
#35 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#36 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#37 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#38 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#39 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#40 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#41 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#42 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#43 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#44 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#45 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#46 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#47 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#48 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#49 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#50 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#51 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#52 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#53 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#54 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#55 /home/cssninjaua/www/vendor/october/rain/src/Router/CoreRouter.php(20): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#56 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): October\Rain\Router\CoreRouter->dispatch(Object(Illuminate\Http\Request))
#57 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#58 /home/cssninjaua/www/plugins/offline/speedy/classes/middleware/CDNMiddleware.php(40): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#59 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): OFFLINE\Speedy\Classes\Middleware\CDNMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#60 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#61 /home/cssninjaua/www/plugins/offline/speedy/classes/middleware/Http2Middleware.php(38): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#62 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): OFFLINE\Speedy\Classes\Middleware\Http2Middleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#63 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#64 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#65 /home/cssninjaua/www/vendor/october/rain/src/Foundation/Http/Middleware/CheckForMaintenanceMode.php(24): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#66 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): October\Rain\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#67 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#68 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#69 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#70 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#71 /home/cssninjaua/www/index.php(43): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#72 {main}  
[2019-12-23 02:35:01] development.ERROR: ErrorException: unserialize(): Error at offset 14762 of 16374 bytes in /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php:187
Stack trace:
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8, 'unserialize(): ...', '/home/cssninjau...', 187, Array)
#1 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php(187): unserialize('a:1:{s:17:"them...')
#2 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php(49): Illuminate\Cache\FileStore->getPayload('pages-145974577...')
#3 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(86): Illuminate\Cache\FileStore->get('pages-145974577...')
#4 /home/cssninjaua/www/vendor/october/rain/src/Halcyon/MemoryRepository.php(39): Illuminate\Cache\Repository->get('pages-145974577...', NULL)
#5 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(70): October\Rain\Halcyon\MemoryRepository->get('pages-145974577...')
#6 /home/cssninjaua/www/vendor/october/rain/src/Halcyon/Builder.php(638): Illuminate\Cache\Repository->has('pages-145974577...')
#7 /home/cssninjaua/www/vendor/october/rain/src/Halcyon/Builder.php(250): October\Rain\Halcyon\Builder->getCached(Array)
#8 /home/cssninjaua/www/vendor/october/rain/src/Halcyon/Builder.php(238): October\Rain\Halcyon\Builder->get()
#9 /home/cssninjaua/www/vendor/october/rain/src/Halcyon/Builder.php(228): October\Rain\Halcyon\Builder->first()
#10 /home/cssninjaua/www/modules/cms/classes/CmsObject.php(110): October\Rain\Halcyon\Builder->find('themes/bulkit.h...')
#11 /home/cssninjaua/www/modules/cms/classes/CmsObject.php(133): Cms\Classes\CmsObject::loadCached(Object(Cms\Classes\Theme), 'themes/bulkit.h...')
#12 /home/cssninjaua/www/modules/cms/classes/Theme.php(130): Cms\Classes\CmsObject::listInTheme(Object(Cms\Classes\Theme), false)
#13 /home/cssninjaua/www/modules/cms/classes/Router.php(242): Cms\Classes\Theme->listPages()
#14 /home/cssninjaua/www/modules/cms/classes/Router.php(213): Cms\Classes\Router->loadUrlMap()
#15 /home/cssninjaua/www/modules/cms/classes/Router.php(194): Cms\Classes\Router->getUrlMap()
#16 /home/cssninjaua/www/modules/cms/classes/Router.php(114): Cms\Classes\Router->getRouterObject()
#17 /home/cssninjaua/www/modules/cms/classes/Controller.php(152): Cms\Classes\Router->findByUrl('/')
#18 /home/cssninjaua/www/modules/cms/classes/CmsController.php(50): Cms\Classes\Controller->run('/')
#19 [internal function]: Cms\Classes\CmsController->run('/')
#20 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#21 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('run', Array)
#22 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Cms\Classes\CmsController), 'run')
#23 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\Routing\Route->runController()
#24 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\Routing\Route->run()
#25 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#26 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#27 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#28 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#29 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#30 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#31 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#32 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#33 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#34 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#35 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#36 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#37 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#38 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#39 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#40 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#41 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#42 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#43 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#44 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#45 /home/cssninjaua/www/vendor/october/rain/src/Router/CoreRouter.php(20): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#46 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): October\Rain\Router\CoreRouter->dispatch(Object(Illuminate\Http\Request))
#47 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#48 /home/cssninjaua/www/plugins/offline/speedy/classes/middleware/CDNMiddleware.php(40): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#49 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): OFFLINE\Speedy\Classes\Middleware\CDNMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#50 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#51 /home/cssninjaua/www/plugins/offline/speedy/classes/middleware/Http2Middleware.php(38): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#52 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): OFFLINE\Speedy\Classes\Middleware\Http2Middleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#53 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#54 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#55 /home/cssninjaua/www/vendor/october/rain/src/Foundation/Http/Middleware/CheckForMaintenanceMode.php(24): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#56 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): October\Rain\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#57 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#58 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#59 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#60 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#61 /home/cssninjaua/www/index.php(43): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#62 {main}  
cssninjaStudio commented 4 years ago

I also have to add that after dismissing the alert, the sandbox payment can be made successfully.

tobias-kuendig commented 4 years ago

Thank you for posting the full log file.

Can you try if this minor fix solves the issue for you?

https://github.com/OFFLINE-GmbH/oc-mall-plugin/pull/407

cssninjaStudio commented 4 years ago

Thanks for the prompt response!

So I tried your fix, and the error is gone, so that's good. However, 1 time out of 2, when I hit the checkout button and while the connexion is being made with Paypal, I get a brief alert which I barely have time to read before being taken to PayPal. It says "There was an error while processing your order, cart is empty. Please add a product to the cart". There is nothing logged in the backend log for this. This happens on the Live PayPal. Iam going to revert back to Sanbox to see if I can fullfill the payment. Also, even with that alert message, the order gets properly created in the system.

tobias-kuendig commented 4 years ago

Thank you for the feedback. I will have to try to re-produce this issue locally.

cssninjaStudio commented 4 years ago

So I tried with the Sandbox enabled in the payment settings, I still see the deadlock issue when on Sandbox. Also, I was again able to complete the payment in sandbox mode. After reverting to Live, I didn't see it, like the first time when I tested your fix. So it seems to work on production but not in sandbox mode. This time, I didn't see that quick alert, so looks like it's pretty random.

tobias-kuendig commented 4 years ago

Were you able to solve this issue on your end?

cssninjaStudio commented 4 years ago

Hello Tobias, I didn't test again on my end. I had to switch to production PayPal, and so far I received some payments and no particular feedback about this from customers. Some processes might find themselves in a race and, based on the network speed, it could lead to an error. But Iam not sure.

cssninjaStudio commented 4 years ago

Just been informed by one of my customers that he cannot complete his order as this is happening to him too when trying to checkout with paypal. I have the latest version of OC-mall and php 7.2.

EDIT: checked the plugin code, and looks like the fix you suggested was overwritten by updates. Are you planning to include that fix along with a future update? Are we also sure that addresses the problem properly? Maybe there should be a proper retry logic implementation for deadlock exceptions.

tobias-kuendig commented 4 years ago

https://github.com/OFFLINE-GmbH/oc-mall-plugin/pull/407/files

This fix should use Laravel's baked in retry logic in case of deadlocks. IIRC this lead to other problems with normal checkouts, that's why it was removed again. We could take a naive route and just all the fromCart method again if a dead lock occurs?

For the record: The culprit of this issue seems to be the order numer generation: https://github.com/OFFLINE-GmbH/oc-mall-plugin/blob/develop/models/Order.php#L252

It locks the table to make sure no two orders get the same order number even if they are created at the same time.

cssninjaStudio commented 4 years ago

Hello Tobias,

left this open for a moment to see how it actually behaves. Iam receiving a lot of feedback from customers telling me that their checkout is failing because of this issue. Even with the retry count, this is still happening. What can we do? We don't want to lose more sales. Best!

tobias-kuendig commented 4 years ago

For the time being, you can try to remove the sharedLock() call: https://github.com/OFFLINE-GmbH/oc-mall-plugin/blob/develop/models/Order.php#L262

If two orders are created at the same time this may lead to them having the same number. For the plugin this is no problem at all, it might just cause some inconvenience for your administrating staff.

Another solution would be to completely change the order number creation logic. You could for example build an order number like $date-$time-$userID to get a unique value.

We'll have to look into a solution for this problem that does not rely on two queries (select next number + insert) for the order creation that works accross all supported database types.

If someone has a good idea on how to achieve this please comment!

Just to get an idea on your setup: How many products, customers and orders per day do you approximately have?

cssninjaStudio commented 4 years ago

That seems like a good temporary solution to me as it is very unlikely that we have 2 simultaneous orders, at least for now since we launched our shop in january, thanks to your plugin. If you want my opinion on this, I'd say that it's probably a good idea to concatenate the user ID to the order, maybe after or before a hyphen. The date and time solution could also be a working path.

To answer your question about our shop metrics:

Given those stats, I think it's safe to say that temporarily removing the sharedLock() won't affect our store given that we still have a very low amount of orders.

Beside that specific problem (which can probably be solved with a fair amount of work), we are very happy with the plugin and the way it works.

cssninjaStudio commented 3 years ago

Hey Tobias,

current setup in my order.php file:

Still I have those issues that poison my customers experience. The error shown is now a bit different. Iam not a DB nor a laravel specialist, but from what I've understood, it could be because it doesn't set the order number properly and finds a duplicate. Maybe there's a quick fix for this? Here is the screenshot sent by the customer and the logs related to that error (Just an occurence as there are many and keep repeating): cfhkmibgfaplfdmi

[2020-10-19 15:28:25] development.ERROR: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '189' for key 'offline_mall_orders_order_number_unique' in /home/cssninjaua/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:105
Stack trace:
#0 /home/cssninjaua/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(105): PDOStatement->execute(NULL)
#1 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(458): Doctrine\DBAL\Driver\PDOStatement->execute()
#2 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(657): Illuminate\Database\Connection->Illuminate\Database\{closure}('insert into `of...', Array)
#3 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(624): Illuminate\Database\Connection->runQueryCallback('insert into `of...', Array, Object(Closure))
#4 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(459): Illuminate\Database\Connection->run('insert into `of...', Array, Object(Closure))
#5 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(411): Illuminate\Database\Connection->statement('insert into `of...', Array)
#6 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\Database\Connection->insert('insert into `of...', Array)
#7 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2159): Illuminate\Database\Query\Processors\Processor->processInsertGetId(Object(October\Rain\Database\QueryBuilder), 'insert into `of...', Array, 'id')
#8 /home/cssninjaua/www/vendor/october/rain/src/Database/QueryBuilder.php(278): Illuminate\Database\Query\Builder->insertGetId(Array, 'id')
#9 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1283): October\Rain\Database\QueryBuilder->insertGetId(Array, 'id')
#10 /home/cssninjaua/www/vendor/october/rain/src/Database/Builder.php(200): Illuminate\Database\Eloquent\Builder->__call('insertGetId', Array)
#11 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(722): October\Rain\Database\Builder->__call('insertGetId', Array)
#12 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(687): Illuminate\Database\Eloquent\Model->insertAndSetId(Object(October\Rain\Database\Builder), Array)
#13 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(550): Illuminate\Database\Eloquent\Model->performInsert(Object(October\Rain\Database\Builder))
#14 /home/cssninjaua/www/vendor/october/rain/src/Database/Model.php(761): Illuminate\Database\Eloquent\Model->save(Array)
#15 /home/cssninjaua/www/vendor/october/rain/src/Database/Model.php(794): October\Rain\Database\Model->saveInternal(Array)
#16 /home/cssninjaua/www/plugins/offline/mall/models/Order.php(193): October\Rain\Database\Model->save()
#17 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(29): OFFLINE\Mall\Models\Order::OFFLINE\Mall\Models\{closure}(Object(October\Rain\Database\Connections\MySqlConnection))
#18 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(327): Illuminate\Database\Connection->transaction(Object(Closure), 5)
#19 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): Illuminate\Database\DatabaseManager->__call('transaction', Array)
#20 /home/cssninjaua/www/plugins/offline/mall/models/Order.php(209): Illuminate\Support\Facades\Facade::__callStatic('transaction', Array)
#21 /home/cssninjaua/www/plugins/offline/mall/components/Checkout.php(230): OFFLINE\Mall\Models\Order::fromCart(Object(OFFLINE\Mall\Models\Cart))
#22 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(29): OFFLINE\Mall\Components\Checkout->OFFLINE\Mall\Components\{closure}(Object(October\Rain\Database\Connections\MySqlConnection))
#23 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(327): Illuminate\Database\Connection->transaction(Object(Closure))
#24 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): Illuminate\Database\DatabaseManager->__call('transaction', Array)
#25 /home/cssninjaua/www/plugins/offline/mall/components/Checkout.php(231): Illuminate\Support\Facades\Facade::__callStatic('transaction', Array)
#26 /home/cssninjaua/www/modules/cms/classes/ComponentBase.php(187): OFFLINE\Mall\Components\Checkout->onCheckout()
#27 /home/cssninjaua/www/modules/cms/classes/Controller.php(851): Cms\Classes\ComponentBase->runAjaxHandler('onCheckout')
#28 /home/cssninjaua/www/modules/cms/classes/Controller.php(742): Cms\Classes\Controller->runAjaxHandler('checkout::onChe...')
#29 /home/cssninjaua/www/modules/cms/classes/Controller.php(374): Cms\Classes\Controller->execAjaxHandlers()
#30 /home/cssninjaua/www/modules/cms/classes/Controller.php(225): Cms\Classes\Controller->runPage(Object(Cms\Classes\Page))
#31 /home/cssninjaua/www/modules/cms/classes/CmsController.php(50): Cms\Classes\Controller->run('checkout/confir...')
#32 [internal function]: Cms\Classes\CmsController->run('checkout/confir...')
#33 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#34 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('run', Array)
#35 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Cms\Classes\CmsController), 'run')
#36 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\Routing\Route->runController()
#37 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\Routing\Route->run()
#38 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#39 /home/cssninjaua/www/plugins/rainlab/translate/classes/LocaleMiddleware.php(29): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#40 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): RainLab\Translate\Classes\LocaleMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#41 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#42 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#43 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#44 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#45 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#46 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#47 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#48 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#49 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#50 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#51 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#52 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#53 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#54 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(68): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#55 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#56 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#57 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#58 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#59 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#60 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#61 /home/cssninjaua/www/vendor/october/rain/src/Router/CoreRouter.php(20): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#62 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): October\Rain\Router\CoreRouter->dispatch(Object(Illuminate\Http\Request))
#63 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#64 /home/cssninjaua/www/plugins/offline/speedy/classes/middleware/CDNMiddleware.php(40): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#65 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): OFFLINE\Speedy\Classes\Middleware\CDNMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#66 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#67 /home/cssninjaua/www/plugins/offline/speedy/classes/middleware/Http2Middleware.php(38): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#68 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): OFFLINE\Speedy\Classes\Middleware\Http2Middleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#69 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#70 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#71 /home/cssninjaua/www/vendor/october/rain/src/Foundation/Http/Middleware/CheckForMaintenanceMode.php(25): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#72 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): October\Rain\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#73 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#74 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#75 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#76 /home/cssninjaua/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#77 /home/cssninjaua/www/index.php(43): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#78 {main}
tobias-kuendig commented 3 years ago

How many orders do you process and how often does this happen? I'm a bit confused since this is a major problem but somehow no one has reported this (and I haven't seen this problem come up even when I hit the "order" button simultaniously in two different browser windows). So I wonder if this has to do with your setup.

What DB are you using?

cssninjaStudio commented 3 years ago

The one thing that is sure is that there are never simultaneous orders. We have lik 3-4 orders a day, so that shouldn't be a big deal. The DB is MYSQL v.5.6 on an OVH server. Hope you can help us figure that out.

In the Plugin settings, we initially left the Index Driver untouched ("file system"), since it says only for MySQL 5.7 and MariaDB 10.2.

In OC mall documentation: "For best performance use MySQL 5.7+ or MariaDB 10.2+". Could that be related?

Unfortunately, in my server configuration panel, MySQL 5.7 is not available. There is only 5.6.

EDIT: I was wondering, I commented out //sharedLock() and I have this code active as well:

    return $order;
}, 5);

Isn't it trying to insert the same order number multiple times in the DB? Should I just remove that part ( , 5) if sharedLock() is disabled?

tobias-kuendig commented 3 years ago

I'm closing this issue due to inactivity. If you need any further assistance feel free to reply.