Closed
Description
- Laravel Version: 5.4.19
- PHP Version: 5.6.30
- Database Driver & Version: Mysql 5.6
Description:
Closed issue #19005 is not fixed.
exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2006 MySQL server has gone away' in /var/www/project1/vendor/laravel/framework/src/Illuminate/Database/Connection.php:319
Stack trace:
#0 /var/www/project1/vendor/laravel/framework/src/Illuminate/Database/Connection.php(319): PDO->prepare('select * from `...')
#1 /var/www/project1/vendor/laravel/framework/src/Illuminate/Database/Connection.php(640): Illuminate\Database\Connection->Illuminate\Database\{closure}('select * from `...', Array)
#2 /var/www/project1/vendor/laravel/framework/src/Illuminate/Database/Connection.php(607): Illuminate\Database\Connection->runQueryCallback('select * from `...', Array, Object(Closure))
#3 /var/www/project1/vendor/laravel/framework/src/Illuminate/Database/Connection.php(326): Illuminate\Database\Connection->run('select * from `...', Array, Object(Closure))
#4 /var/www/project1/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(1710): Illuminate\Database\Connection->select('select * from `...', Array, false)
#5 /var/www/project1/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(1694): Illuminate\Database\Query\Builder->runSelect()
#6 /var/www/project1/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(452): Illuminate\Database\Query\Builder->get(Array)
#7 /var/www/project1/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(436): Illuminate\Database\Eloquent\Builder->getModels(Array)
#8 /var/www/project1/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(71): Illuminate\Database\Eloquent\Builder->get(Array)
#9 /var/www/project1/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(262): Illuminate\Database\Eloquent\Builder->first(Array)
#10 /var/www/project1/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(292): Illuminate\Database\Eloquent\Builder->find(1507, Array)
#11 /var/www/project1/vendor/laravel/framework/src/Illuminate/Queue/SerializesAndRestoresModelIdentifiers.php(46): Illuminate\Database\Eloquent\Builder->findOrFail(1507)
#12 /var/www/project1/vendor/laravel/framework/src/Illuminate/Queue/SerializesModels.php(42): App\Jobs\UpdatePage->getRestoredPropertyValue(Object(Illuminate\Contracts\Database\ModelIdentifier))
#13 [internal function]: App\Jobs\UpdatePage->__wakeup()
#14 /var/www/project1/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(38): unserialize('O:19:"App\\Jobs\\...')
#15 /var/www/project1/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(69): Illuminate\Queue\CallQueuedHandler->call(Object(Illuminate\Queue\Jobs\RedisJob), Array)
#16 /var/www/project1/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(291): Illuminate\Queue\Jobs\Job->fire()
#17 /var/www/project1/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(258): Illuminate\Queue\Worker->process('redis', Object(Illuminate\Queue\Jobs\RedisJob), Object(Illuminate\Queue\WorkerOptions))
#18 /var/www/project1/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(110): Illuminate\Queue\Worker->runJob(Object(Illuminate\Queue\Jobs\RedisJob), 'redis', Object(Illuminate\Queue\WorkerOptions))
#19 /var/www/project1/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(102): Illuminate\Queue\Worker->daemon('redis', 'updatePage', Object(Illuminate\Queue\WorkerOptions))
In Illuminate/Database/Connection.php line 608, run() seems to don't catch all exceptions.
In this example, the PDOException is not catched by the catch (QueryException $e)
so handleQueryException()
is not executed.
Steps To Reproduce:
- Start a Queue Worker using command php artisan queue:work
- Force or wait the connection be dropped (restart mysql server is a way to do it)
- You will see errors being thrown every second, and the queue worker will not work again.
Metadata
Metadata
Assignees
Labels
No labels