dreamfactorysoftware / dreamfactory

DreamFactory API Management Platform
https://www.dreamfactory.com
Apache License 2.0
1.55k stars 314 forks source link

Invalid datetime value when midnight #163

Open luizzz opened 6 years ago

luizzz commented 6 years ago

i found a weird bug when i try to login in dreamfactory at midnight...

full error below: {"error":{"code":"22007","message":"SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2017-10-15 00:55:02' for column 'last_modified_date' at row 1 (SQL: updateusersetlast_login_date= 2017-10-15 00:55:02,last_modified_date= 2017-10-15 00:55:02 whereid= 2)","trace":["0 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Database/Connection.php(607): Illuminate\\Database\\Connection->runQueryCallback('updateusers...', Array, Object(Closure))","1 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Database/Connection.php(477): Illuminate\\Database\\Connection->run('updateusers...', Array, Object(Closure))","2 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Database/Connection.php(416): Illuminate\\Database\\Connection->affectingStatement('updateusers...', Array)","3 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2152): Illuminate\\Database\\Connection->update('updateusers...', Array)","4 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(759): Illuminate\\Database\\Query\\Builder->update(Array)","5 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(591): Illuminate\\Database\\Eloquent\\Builder->update(Array)","6 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(511): Illuminate\\Database\\Eloquent\\Model->performUpdate(Object(DreamFactory\\Core\\Components\\Builder))","7 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Models/BaseModel.php(46): Illuminate\\Database\\Eloquent\\Model->save(Array)","8 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Models/User.php(639): DreamFactory\\Core\\Models\\BaseModel->save(Array)","9 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Utility/Session.php(595): DreamFactory\\Core\\Models\\User->save()","10 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Resources/UserSessionResource.php(419): DreamFactory\\Core\\Utility\\Session::authenticate(Array, false, true, NULL)","11 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Resources/UserSessionResource.php(64): DreamFactory\\Core\\Resources\\UserSessionResource->handleLogin(Array, false)","12 [internal function]: DreamFactory\\Core\\Resources\\UserSessionResource->handlePOST()","13 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Components/RestHandler.php(330): call_user_func(Array)","14 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Components/RestHandler.php(191): DreamFactory\\Core\\Components\\RestHandler->processRequest()","15 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Components/RestHandler.php(249): DreamFactory\\Core\\Components\\RestHandler->handleRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), '')","16 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Components/RestHandler.php(166): DreamFactory\\Core\\Components\\RestHandler->handleResource(Array)","17 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Services/BaseRestService.php(110): DreamFactory\\Core\\Components\\RestHandler->handleRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), 'session')","18 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Http/Controllers/RestController.php(218): DreamFactory\\Core\\Services\\BaseRestService->handleRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), 'session')","19 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Http/Controllers/RestController.php(133): DreamFactory\\Core\\Http\\Controllers\\RestController->handleService('v2', 'user', 'session')","20 [internal function]: DreamFactory\\Core\\Http\\Controllers\\RestController->handlePOST('v2', 'user', 'session')","21 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(55): call_user_func_array(Array, Array)","22 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(44): Illuminate\\Routing\\Controller->callAction('handlePOST', Array)","23 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Route.php(203): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(DreamFactory\\Core\\Http\\Controllers\\RestController), 'handlePOST')","24 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Route.php(160): Illuminate\\Routing\\Route->runController()","25 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Router.php(574): Illuminate\\Routing\\Route->run()","26 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))","27 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Http/Middleware/AccessCheck.php(89): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))","28 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): DreamFactory\\Core\\Http\\Middleware\\AccessCheck->handle(Object(Illuminate\\Http\\Request), Object(Closure))","29 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))","30 /opt/dreamfactory/vendor/dreamfactory/df-core/src/Http/Middleware/AuthCheck.php(234): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))","31 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): DreamFactory\\Core\\Http\\Middleware\\AuthCheck->handle(Object(Illuminate\\Http\\Request), Object(Closure))","32 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))","33 /opt/dreamfactory/vendor/barryvdh/laravel-cors/src/HandleCors.php(42): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))","34 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Barryvdh\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))","35 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))","36 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))","37 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Router.php(576): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))","38 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Router.php(535): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))","39 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Router.php(513): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))","40 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(174): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))","41 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))","42 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))","43 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))","44 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))","45 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))","46 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))","47 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))","48 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))","49 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(149): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))","50 /opt/dreamfactory/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))","51 /opt/dreamfactory/public/index.php(53): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))","52 {main}"]}}

jacotri77 commented 6 years ago

Which SQL Database are you using and which version of DreamFactory?

Thanks!

luizzz commented 6 years ago

mysql Ver 14.14 Distrib 5.6.37, for Linux (x86_64) dreamfactory 2.11.0

ps: don't know if dreamfactory have an auto update feature or mysql version has been updated after this bug because this thread has been opened 5 or 6 months ago ;)

jacotri77 commented 6 years ago

Hi @luizzz,

Thanks for the response, let me try and dig into this a bit. Regarding the auto update on the DF side, it is a manual process and you are only one release behind (we are on 2.12.0 at the moment).

Thanks!!

jacotri77 commented 6 years ago

one other thing, can you please let me know your date format in your sql table?

luizzz commented 6 years ago

Hello @jacotri77 it's related to the dreamfactory's user table, as you can see on the error message.

Actually, the column information is:

Field: Type: Collation: Null: Default: last_modified_date timestamp (NULL) NO CURRENT_TIMESTAMP

jacotri77 commented 6 years ago

Thanks @luizzz . I think I misunderstood your original post Are you saying when you try to login to DF at midnight, you got the weird error?

luizzz commented 6 years ago

Yep. Weird isn't? Look at the time: 00:55. When i tried to login at 1am, all good, no errors.

jacotri77 commented 6 years ago

Yes, that is strange. I will forward this to our engineers to take a look at. Thanks for bringing up the bug!!