cachethq / cachet

🚦 The open-source status page system.
https://cachethq.io
MIT License
13.79k stars 1.55k forks source link

create new issue results in error: DB gone away #4267

Closed astrakid closed 3 years ago

astrakid commented 3 years ago

hi, i can create maintenances, but when creating a new incident i receive an error 500. in laravel.logs i see: `Next Doctrine\DBAL\Driver\PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away in /var/www/Cachet/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:43 Stack trace:

0 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(212): Doctrine\DBAL\Driver\PDOConnection->exec('ROLLBACK TO SAV...')

[...]`

and in mysql-log (mariadb 10.3.25): 2021-04-26 10:01:31 777 [Warning] Aborted connection 777 to db: 'cachet' user: 'homestead' host: 'localhost' (Got timeout reading communication packets)

what is causing this error? the database itself is working fine (up and running)

pavog commented 3 years ago

This does not seem to be an error related to Cachet, but to the MySQL database. The answer to this stackexchange question suggests increasing the max_allowed_packet in your MySQL configuration.

astrakid commented 3 years ago

ok. didn't expect mariadb to be the issue, because it worked for about a year or so. however, i changed max_allowed_packet and max_connectios. incident creation was successful, but on updating the incident i get an erro 500 again.

Next Illuminate\Database\QueryException: Error while sending STMT_PREPARE packet. PID=21793 (SQL: select * fromcomponentswherecomponents.id= 71 andcomponents.deleted_at` is null limit 1) in /v ar/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664 Stack trace:

0 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Connection.php(624): Illuminate\Database\Connection->runQueryCallback('select * from `...', Array, Object(Closure))

1 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Connection.php(333): Illuminate\Database\Connection->run('select * from `...', Array, Object(Closure))

2 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2095): Illuminate\Database\Connection->select('select * from `...', Array, true)

3 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2083): Illuminate\Database\Query\Builder->runSelect()

4 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2569): Illuminate\Database\Query\Builder->Illuminate\Database\Query{closure}()

5 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2084): Illuminate\Database\Query\Builder->onceWithColumns(Array, Object(Closure))

6 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(519): Illuminate\Database\Query\Builder->get(Array)

7 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(503): Illuminate\Database\Eloquent\Builder->getModels(Array)

8 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(77): Illuminate\Database\Eloquent\Builder->get(Array)

9 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsTo.php(82): Illuminate\Database\Eloquent\Builder->first()

10 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(419): Illuminate\Database\Eloquent\Relations\BelongsTo->getResults()

11 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(397): Illuminate\Database\Eloquent\Model->getRelationshipFromMethod('component')

12 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(327): Illuminate\Database\Eloquent\Model->getRelationValue('component')

13 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1515): Illuminate\Database\Eloquent\Model->getAttribute('component')

14 /var/www/Cachet/app/Bus/Handlers/Events/IncidentUpdate/SendIncidentUpdateEmailNotificationHandler.php(73): Illuminate\Database\Eloquent\Model->__get('component')

15 [internal function]: CachetHQ\Cachet\Bus\Handlers\Events\IncidentUpdate\SendIncidentUpdateEmailNotificationHandler->handle(Object(CachetHQ\Cachet\Bus\Events\IncidentUpdate\IncidentUpdateWasReportedEvent

))

16 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(379): call_user_func_array(Array, Array)

17 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php(209): Illuminate\Events\Dispatcher->Illuminate\Events{closure}('CachetHQ\Cachet...', Array)

18 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(482): Illuminate\Events\Dispatcher->dispatch('CachetHQ\Cachet...')

19 /var/www/Cachet/app/Bus/Handlers/Commands/IncidentUpdate/CreateIncidentUpdateCommandHandler.php(81): event(Object(CachetHQ\Cachet\Bus\Events\IncidentUpdate\IncidentUpdateWasReportedEvent))

20 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(90): CachetHQ\Cachet\Bus\Handlers\Commands\IncidentUpdate\CreateIncidentUpdateCommandHandler->handle(Object(CachetHQ\Cachet\Bus

\Commands\IncidentUpdate\CreateIncidentUpdateCommand))

21 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus{closure}(Object(CachetHQ\Cachet\Bus\Commands\IncidentUpdate\CreateIncidentU

pdateCommand))

22 /var/www/Cachet/vendor/alt-three/validator/src/ValidatingMiddleware.php(63): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(CachetHQ\Cachet\Bus\Commands\IncidentUpdate\CreateIncident

UpdateCommand))

23 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): AltThree\Validator\ValidatingMiddleware->handle(Object(CachetHQ\Cachet\Bus\Commands\IncidentUpdate\CreateIncidentUpdat

eCommand), Object(Closure))

24 /var/www/Cachet/app/Bus/Middleware/UseDatabaseTransactions.php(35): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(CachetHQ\Cachet\Bus\Commands\IncidentUpdate\CreateIncidentUpdateCom

mand))

25 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(29): CachetHQ\Cachet\Bus\Middleware\UseDatabaseTransactions->CachetHQ\Cachet\Bus\Middleware{closure}(Ob

ject(Illuminate\Database\MySqlConnection))

26 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(327): Illuminate\Database\Connection->transaction(Object(Closure))

27 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(237): Illuminate\Database\DatabaseManager->__call('transaction', Array)

28 /var/www/Cachet/app/Bus/Middleware/UseDatabaseTransactions.php(36): Illuminate\Support\Facades\Facade::__callStatic('transaction', Array)

29 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): CachetHQ\Cachet\Bus\Middleware\UseDatabaseTransactions->handle(Object(CachetHQ\Cachet\Bus\Commands\IncidentUpdate\Crea

teIncidentUpdateCommand), Object(Closure))

30 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(CachetHQ\Cachet\Bus\Commands\IncidentUpdate\CreateI

ncidentUpdateCommand))

31 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(98): Illuminate\Pipeline\Pipeline->then(Object(Closure))

32 /var/www/Cachet/app/helpers.php(194): Illuminate\Bus\Dispatcher->dispatchNow(Object(CachetHQ\Cachet\Bus\Commands\IncidentUpdate\CreateIncidentUpdateCommand))

33 /var/www/Cachet/app/Http/Controllers/Dashboard/IncidentUpdateController.php(112): execute(Object(CachetHQ\Cachet\Bus\Commands\IncidentUpdate\CreateIncidentUpdateCommand))

34 [internal function]: CachetHQ\Cachet\Http\Controllers\Dashboard\IncidentUpdateController->createIncidentUpdateAction(Object(CachetHQ\Cachet\Models\Incident))

35 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)

36 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('createIncidentU...', Array)

37 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(CachetHQ\Cachet\Http\Controller

s\Dashboard\IncidentUpdateController), 'createIncidentU...')

38 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\Routing\Route->runController()

39 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Router.php(682): Illuminate\Routing\Route->run()

40 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

41 /var/www/Cachet/app/Http/Middleware/Authenticate.php(61): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

42 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): CachetHQ\Cachet\Http\Middleware\Authenticate->handle(Object(Illuminate\Http\Request), Object(Closure))

43 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

44 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

45 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))

46 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

47 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(75): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

48 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))

49 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

50 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

51 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))

52 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

53 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

54 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))

55 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

56 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

57 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))

58 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

59 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

60 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))

61 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

62 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

63 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Router.php(684): Illuminate\Pipeline\Pipeline->then(Object(Closure))

64 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Router.php(659): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))

65 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Router.php(625): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))

66 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Router.php(614): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))

67 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))

68 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}(Object(Illuminate\Http\Request))

69 /var/www/Cachet/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(58): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

70 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Barryvdh\Debugbar\Middleware\InjectDebugbar->handle(Object(Illuminate\Http\Request), Object(Closure))

71 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

72 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

73 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))

74 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

75 /var/www/Cachet/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

76 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))

77 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

78 /var/www/Cachet/vendor/barryvdh/laravel-cors/src/HandlePreflight.php(29): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

79 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Barryvdh\Cors\HandlePreflight->handle(Object(Illuminate\Http\Request), Object(Closure))

80 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

81 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

82 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))

83 /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))

84 /var/www/Cachet/public/index.php(54): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))

85 {main} {"identification":{"id":"73517823-7a39-4964-805b-3378256044e6"},"exception":"[object] (Illuminate\Database\QueryException(code: 0): Error while sending STMT_PREPARE packet. PID=21793 (SQL: select * from components where components.id = 71 and components.deleted_at is null limit 1) at /var/www/Cachet/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664, ErrorException(code: 0): Error while sending STMT_PREPARE packet. PID=21793 at /var/www/Cachet/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:61)

`

any idea?

pavog commented 3 years ago

Mh this also seems to be an issue related to MariaDB. It sounds like the connection is being closed or something. Can you check your wait_timeout and try to increase it?

astrakid commented 3 years ago

increased it from 30 to 60. that seems to do the trick. i am wondering why 30s are not enough? but thanks anyway for thehelpful hints!

pavog commented 3 years ago

I don't know. This seems to be a problem with either PDO or Doctrine / DBAL or Laravel, but not with Cachet. If you are interested, feel free to do some research and to let me / us know your findings ;-)

astrakid commented 3 years ago

unfortunately i have no knowledge of Laravel etc. but if i find something i will let the community know. thx a lot.