Exceptions
Exceptions 3
Doctrine\DBAL\Exception\ ReadOnlyException
Show exception properties
Doctrine\DBAL\Exception\ReadOnlyException {#753 -query: Doctrine\DBAL\Query {#752 -sql: "UPDATE user SET last_login_at = ?, updated_at = ? WHERE username = ?" -params: array:3 [ 0 => 1788473211 1 => DateTimeImmutable @1788473211 {#810 : 2026-09-04 00:06:51.090299 Europe/Paris (+02:00) } 2 => "osimonian" ] -types: array:3 [ 0 => "integer" 1 => "datetime_immutable" 2 => "string" ] } }
if (str_contains($exception->getMessage(), 'syntax error')) {return new SyntaxErrorException($exception, $query);}if (str_contains($exception->getMessage(), 'attempt to write a readonly database')) {return new ReadOnlyException($exception, $query);}if (str_contains($exception->getMessage(), 'unable to open database file')) {return new ConnectionException($exception, $query);}
in
vendor/doctrine/dbal/src/Connection.php
->
convert
(line 1460)
private function handleDriverException(Driver\Exception $driverException,?Query $query,): DriverException {$this->exceptionConverter ??= $this->driver->getExceptionConverter();$exception = $this->exceptionConverter->convert($driverException, $query);if ($exception instanceof ConnectionLost) {$this->close();}
in
vendor/doctrine/dbal/src/Connection.php
->
handleDriverException
(line 1396)
Driver\Exception $e,string $sql,array $params = [],array $types = [],): DriverException {return $this->handleDriverException($e, new Query($sql, $params, $types));}/** @internal */final public function convertException(Driver\Exception $e): DriverException{
in
vendor/doctrine/dbal/src/Connection.php
->
convertExceptionDuringQuery
(line 911)
->rowCount();}return $connection->exec($sql);} catch (Driver\Exception $e) {throw $this->convertExceptionDuringQuery($e, $sql, $params, $types);}}/*** Returns the current transaction nesting level.
in
vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php
->
executeStatement
(line 494)
$sql = 'UPDATE ' . $quotedTableName. ' SET ' . implode(', ', $set). ' WHERE ' . implode(' = ? AND ', $where) . ' = ?';$result = $this->conn->executeStatement($sql, $params, $types);if ($versioned && ! $result) {throw OptimisticLockException::lockFailed($entity);}}
in
vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php
->
updateTable
(line 378)
}$isVersioned = $this->class->isVersioned;$quotedTableName = $this->quoteStrategy->getTableName($this->class, $this->platform);$this->updateTable($entity, $quotedTableName, $data, $isVersioned);if ($this->class->requiresFetchAfterChange) {$id = $this->class->getIdentifierValues($entity);$this->assignDefaultVersionAndUpsertableValues($entity, $id);
in
vendor/doctrine/orm/src/UnitOfWork.php
->
update
(line 1141)
$this->recomputeSingleEntityChangeSet($class, $entity);}if (! empty($this->entityChangeSets[$oid])) {$persister->update($entity);}unset($this->entityUpdates[$oid]);if ($postUpdateInvoke !== ListenersInvoker::INVOKE_NONE) {
in
vendor/doctrine/orm/src/UnitOfWork.php
->
executeUpdates
(line 409)
$this->executeInserts();}if ($this->entityUpdates) {// Updates do not need to follow a particular order$this->executeUpdates();}// Extra updates that were requested by persisters.// This may include foreign keys that could not be set when an entity was inserted,// which may happen in the case of circular foreign key relationships.
in
vendor/doctrine/orm/src/EntityManager.php
->
commit
(line 268)
* @throws ORMException*/public function flush(): void{$this->errorIfClosed();$this->unitOfWork->commit();}/*** {@inheritDoc}*/
// Persist to DB as an audit / last-seen timestamp (not used for max_age, which reads session auth_time)$user = $token->getUser();if ($user instanceof User) {$user->setLastLoginAt($now);$this->entityManager->flush();}}}
AuthTimePersister->persist(object(Request), object(PostAuthenticationToken))
in
src/Security/LoginAuthenticator.php
(line 68)
);}public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $firewallName): ?Response{$this->authTimePersister->persist($request, $token);$userIdentifier = $token->getUserIdentifier();$this->logger->info(__METHOD__.' - Successfully authenticated user {username}', ['username' => $userIdentifier,'ip' => $request->getClientIp(),
in
vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticator.php
->
onAuthenticationSuccess
(line 89)
public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $firewallName): ?Response{$this->authenticated = true;return $this->authenticator->onAuthenticationSuccess($request, $token, $firewallName);}public function onAuthenticationFailure(Request $request, AuthenticationException $exception): ?Response{$this->authenticated = false;
in
vendor/symfony/security-http/Authentication/AuthenticatorManager.php
->
onAuthenticationSuccess
(line 233)
private function handleAuthenticationSuccess(TokenInterface $authenticatedToken, Passport $passport, Request $request, AuthenticatorInterface $authenticator, ?TokenInterface $previousToken): ?Response{$this->tokenStorage->setToken($authenticatedToken);$response = $authenticator->onAuthenticationSuccess($request, $authenticatedToken, $this->firewallName);if ($authenticator instanceof InteractiveAuthenticatorInterface && $authenticator->isInteractive()) {$loginEvent = new InteractiveLoginEvent($request, $authenticatedToken);$this->eventDispatcher->dispatch($loginEvent, SecurityEvents::INTERACTIVE_LOGIN);}
in
vendor/symfony/security-http/Authentication/AuthenticatorManager.php
->
handleAuthenticationSuccess
(line 219)
return null;}// success! (sets the token on the token storage, etc)$response = $this->handleAuthenticationSuccess($authenticatedToken, $passport, $request, $authenticator, $previousToken);if ($response instanceof Response) {return $response;}$this->logger?->debug('Authenticator set no success response: request continues.', ['authenticator' => ($authenticator instanceof TraceableAuthenticator ? $authenticator->getAuthenticator() : $authenticator)::class]);
in
vendor/symfony/security-http/Authentication/AuthenticatorManager.php
->
executeAuthenticator
(line 160)
$this->logger?->debug('Skipping the "{authenticator}" authenticator as it did not support the request.', ['authenticator' => ($authenticator instanceof TraceableAuthenticator ? $authenticator->getAuthenticator() : $authenticator)::class]);continue;}$response = $this->executeAuthenticator($authenticator, $request);if (null !== $response) {$this->logger?->debug('The "{authenticator}" authenticator set the response. Any later authenticator will not be called', ['authenticator' => ($authenticator instanceof TraceableAuthenticator ? $authenticator->getAuthenticator() : $authenticator)::class]);return $response;}
in
vendor/symfony/security-http/Authentication/AuthenticatorManager.php
->
executeAuthenticators
(line 142)
if (!$authenticators) {return null;}return $this->executeAuthenticators($authenticators, $request);}/*** @param AuthenticatorInterface[] $authenticators*/
in
vendor/symfony/security-http/Firewall/AuthenticatorManagerListener.php
->
authenticateRequest
(line 38)
}public function authenticate(RequestEvent $event): void{$request = $event->getRequest();$response = $this->authenticatorManager->authenticateRequest($request);if (null === $response) {return;}$event->setResponse($response);
in
vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticatorManagerListener.php
->
authenticate
(line 58)
return $supports;}public function authenticate(RequestEvent $event): void{$this->authenticationManagerListener->authenticate($event);}public function getAuthenticatorManagerListener(): AuthenticatorManagerListener{return $this->authenticationManagerListener;
in
vendor/symfony/security-bundle/Debug/WrappedLazyListener.php
->
authenticate
(line 52)
public function authenticate(RequestEvent $event): void{$startTime = microtime(true);try {$this->listener->authenticate($event);} catch (LazyResponseException $e) {$this->response = $e->getResponse();throw $e;} finally {
in
vendor/symfony/security-bundle/Security/LazyFirewallContext.php
->
authenticate
(line 64)
}}if (!$lazy) {foreach ($listeners as $listener) {$listener->authenticate($event);if ($event->hasResponse()) {return;}}
in
vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php
->
authenticate
(line 88)
foreach ($requestListeners as $listener) {if (false === $listener->supports($event->getRequest())) {continue;}$listener->authenticate($event);if ($event->hasResponse()) {break;}}
in
vendor/symfony/security-http/Firewall.php
->
callListeners
(line 86)
if (null !== $logoutListener) {yield $logoutListener;}};$this->callListeners($event, $authenticationListeners());}public function onKernelFinishRequest(FinishRequestEvent $event): void{$request = $event->getRequest();
in
vendor/symfony/event-dispatcher/Debug/WrappedListener.php
->
onKernelRequest
(line 115)
$this->priority ??= $dispatcher->getListenerPriority($eventName, $this->listener);$e = $this->stopwatch->start($this->name, 'event_listener');try {($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);} finally {if ($e->isStarted()) {$e->stop();}}
in
vendor/symfony/event-dispatcher/EventDispatcher.php
->
__invoke
(line 206)
foreach ($listeners as $listener) {if ($stoppable && $event->isPropagationStopped()) {break;}$listener($event, $eventName, $this);}}/*** Sorts the internal list of listeners for the given event by priority.
in
vendor/symfony/event-dispatcher/EventDispatcher.php
->
callListeners
(line 56)
} else {$listeners = $this->getListeners($eventName);}if ($listeners) {$this->callListeners($listeners, $eventName, $event);}return $event;}
in
vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php
->
dispatch
(line 129)
try {$this->beforeDispatch($eventName, $event);try {$e = $this->stopwatch->start($eventName, 'section');try {$this->dispatcher->dispatch($event, $eventName);} finally {if ($e->isStarted()) {$e->stop();}}
in
vendor/symfony/http-kernel/HttpKernel.php
->
dispatch
(line 162)
*/private function handleRaw(Request $request, int $type = self::MAIN_REQUEST, ?ControllerMetadata &$controllerMetadata = null): Response{// request$event = new RequestEvent($this, $request, $type);$this->dispatcher->dispatch($event, KernelEvents::REQUEST);if ($event->hasResponse()) {return $this->filterResponse($event->getResponse(), $request, $type);}
in
vendor/symfony/http-kernel/HttpKernel.php
->
handleRaw
(line 79)
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());$this->requestStack->push($request);$response = null;try {return $response = $this->handleRaw($request, $type, $controllerMetadata);} catch (\Throwable $e) {if ($e instanceof \Error && !$this->handleAllThrowables) {throw $e;}
in
vendor/symfony/http-kernel/Kernel.php
->
handle
(line 143)
if (!$this->handlingHttpCache) {$this->resetServices = true;}try {return $this->getHttpKernel()->handle($request, $type, $catch);} finally {--$this->requestStackSize;}}
in
vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php
->
handle
(line 34)
) {}public function run(): int{$response = $this->kernel->handle($this->request);$response->send(false);if (\function_exists('fastcgi_finish_request') && !$this->debug) {fastcgi_finish_request();
in
vendor/autoload_runtime.php
->
run
(line 32)
$app = $app(...$args);exit($runtime->getRunner($app)->run());
require_once('/rootfs/data/users/osimonian/shared/tb-auth/vendor/autoload_runtime.php')
in
public/index.php
(line 5)
<?phpuse App\Kernel;require_once dirname(__DIR__).'/vendor/autoload_runtime.php';return static function (array $context) {return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);};
Doctrine\DBAL\Driver\PDO\ Exception
in
vendor/doctrine/dbal/src/Driver/PDO/Exception.php
(line 24)
} else {$code = $exception->getCode();$sqlState = null;}return new self($exception->getMessage(), $sqlState, $code, $exception);}}
in
vendor/doctrine/dbal/src/Driver/PDO/Statement.php
::
new
(line 57)
public function execute(): Result{try {$this->stmt->execute();} catch (PDOException $exception) {throw Exception::new($exception);}return new Result($this->stmt);}
in
vendor/doctrine/dbal/src/Driver/Middleware/AbstractStatementMiddleware.php
->
execute
(line 24)
$this->wrappedStatement->bindValue($param, $value, $type);}public function execute(): Result{return $this->wrappedStatement->execute();}}
in
vendor/doctrine/dbal/src/Logging/Statement.php
->
execute
(line 46)
'sql' => $this->sql,'params' => $this->params,'types' => $this->types,]);return parent::execute();}}
in
vendor/doctrine/dbal/src/Driver/Middleware/AbstractStatementMiddleware.php
->
execute
(line 24)
$this->wrappedStatement->bindValue($param, $value, $type);}public function execute(): Result{return $this->wrappedStatement->execute();}}
in
vendor/symfony/doctrine-bridge/Middleware/Debug/Statement.php
->
execute
(line 58)
$this->stopwatch?->start('doctrine', 'doctrine');$query->start();try {return parent::execute();} finally {$query->stop();$this->stopwatch?->stop('doctrine');}}
in
vendor/doctrine/dbal/src/Connection.php
->
execute
(line 905)
$stmt = $connection->prepare($sql);$this->bindParameters($stmt, $params, $types);return $stmt->execute()->rowCount();}return $connection->exec($sql);} catch (Driver\Exception $e) {
in
vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php
->
executeStatement
(line 494)
$sql = 'UPDATE ' . $quotedTableName. ' SET ' . implode(', ', $set). ' WHERE ' . implode(' = ? AND ', $where) . ' = ?';$result = $this->conn->executeStatement($sql, $params, $types);if ($versioned && ! $result) {throw OptimisticLockException::lockFailed($entity);}}
in
vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php
->
updateTable
(line 378)
}$isVersioned = $this->class->isVersioned;$quotedTableName = $this->quoteStrategy->getTableName($this->class, $this->platform);$this->updateTable($entity, $quotedTableName, $data, $isVersioned);if ($this->class->requiresFetchAfterChange) {$id = $this->class->getIdentifierValues($entity);$this->assignDefaultVersionAndUpsertableValues($entity, $id);
in
vendor/doctrine/orm/src/UnitOfWork.php
->
update
(line 1141)
$this->recomputeSingleEntityChangeSet($class, $entity);}if (! empty($this->entityChangeSets[$oid])) {$persister->update($entity);}unset($this->entityUpdates[$oid]);if ($postUpdateInvoke !== ListenersInvoker::INVOKE_NONE) {
in
vendor/doctrine/orm/src/UnitOfWork.php
->
executeUpdates
(line 409)
$this->executeInserts();}if ($this->entityUpdates) {// Updates do not need to follow a particular order$this->executeUpdates();}// Extra updates that were requested by persisters.// This may include foreign keys that could not be set when an entity was inserted,// which may happen in the case of circular foreign key relationships.
in
vendor/doctrine/orm/src/EntityManager.php
->
commit
(line 268)
* @throws ORMException*/public function flush(): void{$this->errorIfClosed();$this->unitOfWork->commit();}/*** {@inheritDoc}*/
// Persist to DB as an audit / last-seen timestamp (not used for max_age, which reads session auth_time)$user = $token->getUser();if ($user instanceof User) {$user->setLastLoginAt($now);$this->entityManager->flush();}}}
AuthTimePersister->persist(object(Request), object(PostAuthenticationToken))
in
src/Security/LoginAuthenticator.php
(line 68)
);}public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $firewallName): ?Response{$this->authTimePersister->persist($request, $token);$userIdentifier = $token->getUserIdentifier();$this->logger->info(__METHOD__.' - Successfully authenticated user {username}', ['username' => $userIdentifier,'ip' => $request->getClientIp(),
in
vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticator.php
->
onAuthenticationSuccess
(line 89)
public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $firewallName): ?Response{$this->authenticated = true;return $this->authenticator->onAuthenticationSuccess($request, $token, $firewallName);}public function onAuthenticationFailure(Request $request, AuthenticationException $exception): ?Response{$this->authenticated = false;
in
vendor/symfony/security-http/Authentication/AuthenticatorManager.php
->
onAuthenticationSuccess
(line 233)
private function handleAuthenticationSuccess(TokenInterface $authenticatedToken, Passport $passport, Request $request, AuthenticatorInterface $authenticator, ?TokenInterface $previousToken): ?Response{$this->tokenStorage->setToken($authenticatedToken);$response = $authenticator->onAuthenticationSuccess($request, $authenticatedToken, $this->firewallName);if ($authenticator instanceof InteractiveAuthenticatorInterface && $authenticator->isInteractive()) {$loginEvent = new InteractiveLoginEvent($request, $authenticatedToken);$this->eventDispatcher->dispatch($loginEvent, SecurityEvents::INTERACTIVE_LOGIN);}
in
vendor/symfony/security-http/Authentication/AuthenticatorManager.php
->
handleAuthenticationSuccess
(line 219)
return null;}// success! (sets the token on the token storage, etc)$response = $this->handleAuthenticationSuccess($authenticatedToken, $passport, $request, $authenticator, $previousToken);if ($response instanceof Response) {return $response;}$this->logger?->debug('Authenticator set no success response: request continues.', ['authenticator' => ($authenticator instanceof TraceableAuthenticator ? $authenticator->getAuthenticator() : $authenticator)::class]);
in
vendor/symfony/security-http/Authentication/AuthenticatorManager.php
->
executeAuthenticator
(line 160)
$this->logger?->debug('Skipping the "{authenticator}" authenticator as it did not support the request.', ['authenticator' => ($authenticator instanceof TraceableAuthenticator ? $authenticator->getAuthenticator() : $authenticator)::class]);continue;}$response = $this->executeAuthenticator($authenticator, $request);if (null !== $response) {$this->logger?->debug('The "{authenticator}" authenticator set the response. Any later authenticator will not be called', ['authenticator' => ($authenticator instanceof TraceableAuthenticator ? $authenticator->getAuthenticator() : $authenticator)::class]);return $response;}
in
vendor/symfony/security-http/Authentication/AuthenticatorManager.php
->
executeAuthenticators
(line 142)
if (!$authenticators) {return null;}return $this->executeAuthenticators($authenticators, $request);}/*** @param AuthenticatorInterface[] $authenticators*/
in
vendor/symfony/security-http/Firewall/AuthenticatorManagerListener.php
->
authenticateRequest
(line 38)
}public function authenticate(RequestEvent $event): void{$request = $event->getRequest();$response = $this->authenticatorManager->authenticateRequest($request);if (null === $response) {return;}$event->setResponse($response);
in
vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticatorManagerListener.php
->
authenticate
(line 58)
return $supports;}public function authenticate(RequestEvent $event): void{$this->authenticationManagerListener->authenticate($event);}public function getAuthenticatorManagerListener(): AuthenticatorManagerListener{return $this->authenticationManagerListener;
in
vendor/symfony/security-bundle/Debug/WrappedLazyListener.php
->
authenticate
(line 52)
public function authenticate(RequestEvent $event): void{$startTime = microtime(true);try {$this->listener->authenticate($event);} catch (LazyResponseException $e) {$this->response = $e->getResponse();throw $e;} finally {
in
vendor/symfony/security-bundle/Security/LazyFirewallContext.php
->
authenticate
(line 64)
}}if (!$lazy) {foreach ($listeners as $listener) {$listener->authenticate($event);if ($event->hasResponse()) {return;}}
in
vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php
->
authenticate
(line 88)
foreach ($requestListeners as $listener) {if (false === $listener->supports($event->getRequest())) {continue;}$listener->authenticate($event);if ($event->hasResponse()) {break;}}
in
vendor/symfony/security-http/Firewall.php
->
callListeners
(line 86)
if (null !== $logoutListener) {yield $logoutListener;}};$this->callListeners($event, $authenticationListeners());}public function onKernelFinishRequest(FinishRequestEvent $event): void{$request = $event->getRequest();
in
vendor/symfony/event-dispatcher/Debug/WrappedListener.php
->
onKernelRequest
(line 115)
$this->priority ??= $dispatcher->getListenerPriority($eventName, $this->listener);$e = $this->stopwatch->start($this->name, 'event_listener');try {($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);} finally {if ($e->isStarted()) {$e->stop();}}
in
vendor/symfony/event-dispatcher/EventDispatcher.php
->
__invoke
(line 206)
foreach ($listeners as $listener) {if ($stoppable && $event->isPropagationStopped()) {break;}$listener($event, $eventName, $this);}}/*** Sorts the internal list of listeners for the given event by priority.
in
vendor/symfony/event-dispatcher/EventDispatcher.php
->
callListeners
(line 56)
} else {$listeners = $this->getListeners($eventName);}if ($listeners) {$this->callListeners($listeners, $eventName, $event);}return $event;}
in
vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php
->
dispatch
(line 129)
try {$this->beforeDispatch($eventName, $event);try {$e = $this->stopwatch->start($eventName, 'section');try {$this->dispatcher->dispatch($event, $eventName);} finally {if ($e->isStarted()) {$e->stop();}}
in
vendor/symfony/http-kernel/HttpKernel.php
->
dispatch
(line 162)
*/private function handleRaw(Request $request, int $type = self::MAIN_REQUEST, ?ControllerMetadata &$controllerMetadata = null): Response{// request$event = new RequestEvent($this, $request, $type);$this->dispatcher->dispatch($event, KernelEvents::REQUEST);if ($event->hasResponse()) {return $this->filterResponse($event->getResponse(), $request, $type);}
in
vendor/symfony/http-kernel/HttpKernel.php
->
handleRaw
(line 79)
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());$this->requestStack->push($request);$response = null;try {return $response = $this->handleRaw($request, $type, $controllerMetadata);} catch (\Throwable $e) {if ($e instanceof \Error && !$this->handleAllThrowables) {throw $e;}
in
vendor/symfony/http-kernel/Kernel.php
->
handle
(line 143)
if (!$this->handlingHttpCache) {$this->resetServices = true;}try {return $this->getHttpKernel()->handle($request, $type, $catch);} finally {--$this->requestStackSize;}}
in
vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php
->
handle
(line 34)
) {}public function run(): int{$response = $this->kernel->handle($this->request);$response->send(false);if (\function_exists('fastcgi_finish_request') && !$this->debug) {fastcgi_finish_request();
in
vendor/autoload_runtime.php
->
run
(line 32)
$app = $app(...$args);exit($runtime->getRunner($app)->run());
require_once('/rootfs/data/users/osimonian/shared/tb-auth/vendor/autoload_runtime.php')
in
public/index.php
(line 5)
<?phpuse App\Kernel;require_once dirname(__DIR__).'/vendor/autoload_runtime.php';return static function (array $context) {return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);};
PDOException
in
vendor/doctrine/dbal/src/Driver/PDO/Statement.php
(line 55)
}public function execute(): Result{try {$this->stmt->execute();} catch (PDOException $exception) {throw Exception::new($exception);}return new Result($this->stmt);
in
vendor/doctrine/dbal/src/Driver/PDO/Statement.php
->
execute
(line 55)
}public function execute(): Result{try {$this->stmt->execute();} catch (PDOException $exception) {throw Exception::new($exception);}return new Result($this->stmt);
in
vendor/doctrine/dbal/src/Driver/Middleware/AbstractStatementMiddleware.php
->
execute
(line 24)
$this->wrappedStatement->bindValue($param, $value, $type);}public function execute(): Result{return $this->wrappedStatement->execute();}}
in
vendor/doctrine/dbal/src/Logging/Statement.php
->
execute
(line 46)
'sql' => $this->sql,'params' => $this->params,'types' => $this->types,]);return parent::execute();}}
in
vendor/doctrine/dbal/src/Driver/Middleware/AbstractStatementMiddleware.php
->
execute
(line 24)
$this->wrappedStatement->bindValue($param, $value, $type);}public function execute(): Result{return $this->wrappedStatement->execute();}}
in
vendor/symfony/doctrine-bridge/Middleware/Debug/Statement.php
->
execute
(line 58)
$this->stopwatch?->start('doctrine', 'doctrine');$query->start();try {return parent::execute();} finally {$query->stop();$this->stopwatch?->stop('doctrine');}}
in
vendor/doctrine/dbal/src/Connection.php
->
execute
(line 905)
$stmt = $connection->prepare($sql);$this->bindParameters($stmt, $params, $types);return $stmt->execute()->rowCount();}return $connection->exec($sql);} catch (Driver\Exception $e) {
in
vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php
->
executeStatement
(line 494)
$sql = 'UPDATE ' . $quotedTableName. ' SET ' . implode(', ', $set). ' WHERE ' . implode(' = ? AND ', $where) . ' = ?';$result = $this->conn->executeStatement($sql, $params, $types);if ($versioned && ! $result) {throw OptimisticLockException::lockFailed($entity);}}
in
vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php
->
updateTable
(line 378)
}$isVersioned = $this->class->isVersioned;$quotedTableName = $this->quoteStrategy->getTableName($this->class, $this->platform);$this->updateTable($entity, $quotedTableName, $data, $isVersioned);if ($this->class->requiresFetchAfterChange) {$id = $this->class->getIdentifierValues($entity);$this->assignDefaultVersionAndUpsertableValues($entity, $id);
in
vendor/doctrine/orm/src/UnitOfWork.php
->
update
(line 1141)
$this->recomputeSingleEntityChangeSet($class, $entity);}if (! empty($this->entityChangeSets[$oid])) {$persister->update($entity);}unset($this->entityUpdates[$oid]);if ($postUpdateInvoke !== ListenersInvoker::INVOKE_NONE) {
in
vendor/doctrine/orm/src/UnitOfWork.php
->
executeUpdates
(line 409)
$this->executeInserts();}if ($this->entityUpdates) {// Updates do not need to follow a particular order$this->executeUpdates();}// Extra updates that were requested by persisters.// This may include foreign keys that could not be set when an entity was inserted,// which may happen in the case of circular foreign key relationships.
in
vendor/doctrine/orm/src/EntityManager.php
->
commit
(line 268)
* @throws ORMException*/public function flush(): void{$this->errorIfClosed();$this->unitOfWork->commit();}/*** {@inheritDoc}*/
// Persist to DB as an audit / last-seen timestamp (not used for max_age, which reads session auth_time)$user = $token->getUser();if ($user instanceof User) {$user->setLastLoginAt($now);$this->entityManager->flush();}}}
AuthTimePersister->persist(object(Request), object(PostAuthenticationToken))
in
src/Security/LoginAuthenticator.php
(line 68)
);}public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $firewallName): ?Response{$this->authTimePersister->persist($request, $token);$userIdentifier = $token->getUserIdentifier();$this->logger->info(__METHOD__.' - Successfully authenticated user {username}', ['username' => $userIdentifier,'ip' => $request->getClientIp(),
in
vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticator.php
->
onAuthenticationSuccess
(line 89)
public function onAuthenticationSuccess(Request $request, TokenInterface $token, string $firewallName): ?Response{$this->authenticated = true;return $this->authenticator->onAuthenticationSuccess($request, $token, $firewallName);}public function onAuthenticationFailure(Request $request, AuthenticationException $exception): ?Response{$this->authenticated = false;
in
vendor/symfony/security-http/Authentication/AuthenticatorManager.php
->
onAuthenticationSuccess
(line 233)
private function handleAuthenticationSuccess(TokenInterface $authenticatedToken, Passport $passport, Request $request, AuthenticatorInterface $authenticator, ?TokenInterface $previousToken): ?Response{$this->tokenStorage->setToken($authenticatedToken);$response = $authenticator->onAuthenticationSuccess($request, $authenticatedToken, $this->firewallName);if ($authenticator instanceof InteractiveAuthenticatorInterface && $authenticator->isInteractive()) {$loginEvent = new InteractiveLoginEvent($request, $authenticatedToken);$this->eventDispatcher->dispatch($loginEvent, SecurityEvents::INTERACTIVE_LOGIN);}
in
vendor/symfony/security-http/Authentication/AuthenticatorManager.php
->
handleAuthenticationSuccess
(line 219)
return null;}// success! (sets the token on the token storage, etc)$response = $this->handleAuthenticationSuccess($authenticatedToken, $passport, $request, $authenticator, $previousToken);if ($response instanceof Response) {return $response;}$this->logger?->debug('Authenticator set no success response: request continues.', ['authenticator' => ($authenticator instanceof TraceableAuthenticator ? $authenticator->getAuthenticator() : $authenticator)::class]);
in
vendor/symfony/security-http/Authentication/AuthenticatorManager.php
->
executeAuthenticator
(line 160)
$this->logger?->debug('Skipping the "{authenticator}" authenticator as it did not support the request.', ['authenticator' => ($authenticator instanceof TraceableAuthenticator ? $authenticator->getAuthenticator() : $authenticator)::class]);continue;}$response = $this->executeAuthenticator($authenticator, $request);if (null !== $response) {$this->logger?->debug('The "{authenticator}" authenticator set the response. Any later authenticator will not be called', ['authenticator' => ($authenticator instanceof TraceableAuthenticator ? $authenticator->getAuthenticator() : $authenticator)::class]);return $response;}
in
vendor/symfony/security-http/Authentication/AuthenticatorManager.php
->
executeAuthenticators
(line 142)
if (!$authenticators) {return null;}return $this->executeAuthenticators($authenticators, $request);}/*** @param AuthenticatorInterface[] $authenticators*/
in
vendor/symfony/security-http/Firewall/AuthenticatorManagerListener.php
->
authenticateRequest
(line 38)
}public function authenticate(RequestEvent $event): void{$request = $event->getRequest();$response = $this->authenticatorManager->authenticateRequest($request);if (null === $response) {return;}$event->setResponse($response);
in
vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticatorManagerListener.php
->
authenticate
(line 58)
return $supports;}public function authenticate(RequestEvent $event): void{$this->authenticationManagerListener->authenticate($event);}public function getAuthenticatorManagerListener(): AuthenticatorManagerListener{return $this->authenticationManagerListener;
in
vendor/symfony/security-bundle/Debug/WrappedLazyListener.php
->
authenticate
(line 52)
public function authenticate(RequestEvent $event): void{$startTime = microtime(true);try {$this->listener->authenticate($event);} catch (LazyResponseException $e) {$this->response = $e->getResponse();throw $e;} finally {
in
vendor/symfony/security-bundle/Security/LazyFirewallContext.php
->
authenticate
(line 64)
}}if (!$lazy) {foreach ($listeners as $listener) {$listener->authenticate($event);if ($event->hasResponse()) {return;}}
in
vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php
->
authenticate
(line 88)
foreach ($requestListeners as $listener) {if (false === $listener->supports($event->getRequest())) {continue;}$listener->authenticate($event);if ($event->hasResponse()) {break;}}
in
vendor/symfony/security-http/Firewall.php
->
callListeners
(line 86)
if (null !== $logoutListener) {yield $logoutListener;}};$this->callListeners($event, $authenticationListeners());}public function onKernelFinishRequest(FinishRequestEvent $event): void{$request = $event->getRequest();
in
vendor/symfony/event-dispatcher/Debug/WrappedListener.php
->
onKernelRequest
(line 115)
$this->priority ??= $dispatcher->getListenerPriority($eventName, $this->listener);$e = $this->stopwatch->start($this->name, 'event_listener');try {($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);} finally {if ($e->isStarted()) {$e->stop();}}
in
vendor/symfony/event-dispatcher/EventDispatcher.php
->
__invoke
(line 206)
foreach ($listeners as $listener) {if ($stoppable && $event->isPropagationStopped()) {break;}$listener($event, $eventName, $this);}}/*** Sorts the internal list of listeners for the given event by priority.
in
vendor/symfony/event-dispatcher/EventDispatcher.php
->
callListeners
(line 56)
} else {$listeners = $this->getListeners($eventName);}if ($listeners) {$this->callListeners($listeners, $eventName, $event);}return $event;}
in
vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php
->
dispatch
(line 129)
try {$this->beforeDispatch($eventName, $event);try {$e = $this->stopwatch->start($eventName, 'section');try {$this->dispatcher->dispatch($event, $eventName);} finally {if ($e->isStarted()) {$e->stop();}}
in
vendor/symfony/http-kernel/HttpKernel.php
->
dispatch
(line 162)
*/private function handleRaw(Request $request, int $type = self::MAIN_REQUEST, ?ControllerMetadata &$controllerMetadata = null): Response{// request$event = new RequestEvent($this, $request, $type);$this->dispatcher->dispatch($event, KernelEvents::REQUEST);if ($event->hasResponse()) {return $this->filterResponse($event->getResponse(), $request, $type);}
in
vendor/symfony/http-kernel/HttpKernel.php
->
handleRaw
(line 79)
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());$this->requestStack->push($request);$response = null;try {return $response = $this->handleRaw($request, $type, $controllerMetadata);} catch (\Throwable $e) {if ($e instanceof \Error && !$this->handleAllThrowables) {throw $e;}
in
vendor/symfony/http-kernel/Kernel.php
->
handle
(line 143)
if (!$this->handlingHttpCache) {$this->resetServices = true;}try {return $this->getHttpKernel()->handle($request, $type, $catch);} finally {--$this->requestStackSize;}}
in
vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php
->
handle
(line 34)
) {}public function run(): int{$response = $this->kernel->handle($this->request);$response->send(false);if (\function_exists('fastcgi_finish_request') && !$this->debug) {fastcgi_finish_request();
in
vendor/autoload_runtime.php
->
run
(line 32)
$app = $app(...$args);exit($runtime->getRunner($app)->run());
require_once('/rootfs/data/users/osimonian/shared/tb-auth/vendor/autoload_runtime.php')
in
public/index.php
(line 5)
<?phpuse App\Kernel;require_once dirname(__DIR__).'/vendor/autoload_runtime.php';return static function (array $context) {return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);};
Logs
| Level | Channel | Message |
|---|---|---|
| INFO 02:43:41 | request |
Matched route "_profiler". {
"route": "_profiler",
"route_parameters": {
"_route": "_profiler",
"_controller": "web_profiler.controller.profiler::panelAction",
"token": "e61a85"
},
"request_uri": "https://devovsep.clients.teambox.fr/oauth/_profiler/e61a85",
"method": "GET"
}
|
Stack Traces 3
|
[3/3]
ReadOnlyException
|
|---|
Doctrine\DBAL\Exception\ReadOnlyException:
An exception occurred while executing a query: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
at vendor/doctrine/dbal/src/Driver/API/SQLite/ExceptionConverter.php:72
at Doctrine\DBAL\Driver\API\SQLite\ExceptionConverter->convert(object(Exception), object(Query))
(vendor/doctrine/dbal/src/Connection.php:1460)
at Doctrine\DBAL\Connection->handleDriverException(object(Exception), object(Query))
(vendor/doctrine/dbal/src/Connection.php:1396)
at Doctrine\DBAL\Connection->convertExceptionDuringQuery(object(Exception), 'UPDATE user SET last_login_at = ?, updated_at = ? WHERE username = ?', array(1788473211, object(DateTimeImmutable), 'osimonian'), array('integer', 'datetime_immutable', 'string'))
(vendor/doctrine/dbal/src/Connection.php:911)
at Doctrine\DBAL\Connection->executeStatement('UPDATE user SET last_login_at = ?, updated_at = ? WHERE username = ?', array(1788473211, object(DateTimeImmutable), 'osimonian'), array('integer', 'datetime_immutable', 'string'))
(vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:494)
at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->updateTable(object(User), 'user', array('last_login_at' => 1788473211, 'updated_at' => object(DateTimeImmutable)), false)
(vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:378)
at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->update(object(User))
(vendor/doctrine/orm/src/UnitOfWork.php:1141)
at Doctrine\ORM\UnitOfWork->executeUpdates()
(vendor/doctrine/orm/src/UnitOfWork.php:409)
at Doctrine\ORM\UnitOfWork->commit()
(vendor/doctrine/orm/src/EntityManager.php:268)
at Doctrine\ORM\EntityManager->flush()
(src/Security/AuthTimePersister.php:46)
at App\Security\AuthTimePersister->persist(object(Request), object(PostAuthenticationToken))
(src/Security/LoginAuthenticator.php:68)
at App\Security\LoginAuthenticator->onAuthenticationSuccess(object(Request), object(PostAuthenticationToken), 'main')
(vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticator.php:89)
at Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator->onAuthenticationSuccess(object(Request), object(PostAuthenticationToken), 'main')
(vendor/symfony/security-http/Authentication/AuthenticatorManager.php:233)
at Symfony\Component\Security\Http\Authentication\AuthenticatorManager->handleAuthenticationSuccess(object(PostAuthenticationToken), object(Passport), object(Request), object(TraceableAuthenticator), null)
(vendor/symfony/security-http/Authentication/AuthenticatorManager.php:219)
at Symfony\Component\Security\Http\Authentication\AuthenticatorManager->executeAuthenticator(object(TraceableAuthenticator), object(Request))
(vendor/symfony/security-http/Authentication/AuthenticatorManager.php:160)
at Symfony\Component\Security\Http\Authentication\AuthenticatorManager->executeAuthenticators(array(object(TraceableAuthenticator)), object(Request))
(vendor/symfony/security-http/Authentication/AuthenticatorManager.php:142)
at Symfony\Component\Security\Http\Authentication\AuthenticatorManager->authenticateRequest(object(Request))
(vendor/symfony/security-http/Firewall/AuthenticatorManagerListener.php:38)
at Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener->authenticate(object(RequestEvent))
(vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticatorManagerListener.php:58)
at Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticatorManagerListener->authenticate(object(RequestEvent))
(vendor/symfony/security-bundle/Debug/WrappedLazyListener.php:52)
at Symfony\Bundle\SecurityBundle\Debug\WrappedLazyListener->authenticate(object(RequestEvent))
(vendor/symfony/security-bundle/Security/LazyFirewallContext.php:64)
at Symfony\Bundle\SecurityBundle\Security\LazyFirewallContext->authenticate(object(RequestEvent))
(vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php:88)
at Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener->callListeners(object(RequestEvent), object(Generator))
(vendor/symfony/security-http/Firewall.php:86)
at Symfony\Component\Security\Http\Firewall->onKernelRequest(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
(vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115)
at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
(vendor/symfony/event-dispatcher/EventDispatcher.php:206)
at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(RequestEvent))
(vendor/symfony/event-dispatcher/EventDispatcher.php:56)
at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
(vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:129)
at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
(vendor/symfony/http-kernel/HttpKernel.php:162)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1, null)
(vendor/symfony/http-kernel/HttpKernel.php:79)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/http-kernel/Kernel.php:143)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:34)
at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
(vendor/autoload_runtime.php:32)
at require_once('/rootfs/data/users/osimonian/shared/tb-auth/vendor/autoload_runtime.php')
(public/index.php:5)
|
|
[2/3]
Exception
|
|---|
Doctrine\DBAL\Driver\PDO\Exception:
SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
at vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24
at Doctrine\DBAL\Driver\PDO\Exception::new(object(PDOException))
(vendor/doctrine/dbal/src/Driver/PDO/Statement.php:57)
at Doctrine\DBAL\Driver\PDO\Statement->execute()
(vendor/doctrine/dbal/src/Driver/Middleware/AbstractStatementMiddleware.php:24)
at Doctrine\DBAL\Driver\Middleware\AbstractStatementMiddleware->execute()
(vendor/doctrine/dbal/src/Logging/Statement.php:46)
at Doctrine\DBAL\Logging\Statement->execute()
(vendor/doctrine/dbal/src/Driver/Middleware/AbstractStatementMiddleware.php:24)
at Doctrine\DBAL\Driver\Middleware\AbstractStatementMiddleware->execute()
(vendor/symfony/doctrine-bridge/Middleware/Debug/Statement.php:58)
at Symfony\Bridge\Doctrine\Middleware\Debug\Statement->execute()
(vendor/doctrine/dbal/src/Connection.php:905)
at Doctrine\DBAL\Connection->executeStatement('UPDATE user SET last_login_at = ?, updated_at = ? WHERE username = ?', array(1788473211, object(DateTimeImmutable), 'osimonian'), array('integer', 'datetime_immutable', 'string'))
(vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:494)
at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->updateTable(object(User), 'user', array('last_login_at' => 1788473211, 'updated_at' => object(DateTimeImmutable)), false)
(vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:378)
at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->update(object(User))
(vendor/doctrine/orm/src/UnitOfWork.php:1141)
at Doctrine\ORM\UnitOfWork->executeUpdates()
(vendor/doctrine/orm/src/UnitOfWork.php:409)
at Doctrine\ORM\UnitOfWork->commit()
(vendor/doctrine/orm/src/EntityManager.php:268)
at Doctrine\ORM\EntityManager->flush()
(src/Security/AuthTimePersister.php:46)
at App\Security\AuthTimePersister->persist(object(Request), object(PostAuthenticationToken))
(src/Security/LoginAuthenticator.php:68)
at App\Security\LoginAuthenticator->onAuthenticationSuccess(object(Request), object(PostAuthenticationToken), 'main')
(vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticator.php:89)
at Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator->onAuthenticationSuccess(object(Request), object(PostAuthenticationToken), 'main')
(vendor/symfony/security-http/Authentication/AuthenticatorManager.php:233)
at Symfony\Component\Security\Http\Authentication\AuthenticatorManager->handleAuthenticationSuccess(object(PostAuthenticationToken), object(Passport), object(Request), object(TraceableAuthenticator), null)
(vendor/symfony/security-http/Authentication/AuthenticatorManager.php:219)
at Symfony\Component\Security\Http\Authentication\AuthenticatorManager->executeAuthenticator(object(TraceableAuthenticator), object(Request))
(vendor/symfony/security-http/Authentication/AuthenticatorManager.php:160)
at Symfony\Component\Security\Http\Authentication\AuthenticatorManager->executeAuthenticators(array(object(TraceableAuthenticator)), object(Request))
(vendor/symfony/security-http/Authentication/AuthenticatorManager.php:142)
at Symfony\Component\Security\Http\Authentication\AuthenticatorManager->authenticateRequest(object(Request))
(vendor/symfony/security-http/Firewall/AuthenticatorManagerListener.php:38)
at Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener->authenticate(object(RequestEvent))
(vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticatorManagerListener.php:58)
at Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticatorManagerListener->authenticate(object(RequestEvent))
(vendor/symfony/security-bundle/Debug/WrappedLazyListener.php:52)
at Symfony\Bundle\SecurityBundle\Debug\WrappedLazyListener->authenticate(object(RequestEvent))
(vendor/symfony/security-bundle/Security/LazyFirewallContext.php:64)
at Symfony\Bundle\SecurityBundle\Security\LazyFirewallContext->authenticate(object(RequestEvent))
(vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php:88)
at Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener->callListeners(object(RequestEvent), object(Generator))
(vendor/symfony/security-http/Firewall.php:86)
at Symfony\Component\Security\Http\Firewall->onKernelRequest(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
(vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115)
at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
(vendor/symfony/event-dispatcher/EventDispatcher.php:206)
at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(RequestEvent))
(vendor/symfony/event-dispatcher/EventDispatcher.php:56)
at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
(vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:129)
at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
(vendor/symfony/http-kernel/HttpKernel.php:162)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1, null)
(vendor/symfony/http-kernel/HttpKernel.php:79)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/http-kernel/Kernel.php:143)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:34)
at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
(vendor/autoload_runtime.php:32)
at require_once('/rootfs/data/users/osimonian/shared/tb-auth/vendor/autoload_runtime.php')
(public/index.php:5)
|
|
[1/3]
PDOException
|
|---|
PDOException:
SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
at vendor/doctrine/dbal/src/Driver/PDO/Statement.php:55
at PDOStatement->execute()
(vendor/doctrine/dbal/src/Driver/PDO/Statement.php:55)
at Doctrine\DBAL\Driver\PDO\Statement->execute()
(vendor/doctrine/dbal/src/Driver/Middleware/AbstractStatementMiddleware.php:24)
at Doctrine\DBAL\Driver\Middleware\AbstractStatementMiddleware->execute()
(vendor/doctrine/dbal/src/Logging/Statement.php:46)
at Doctrine\DBAL\Logging\Statement->execute()
(vendor/doctrine/dbal/src/Driver/Middleware/AbstractStatementMiddleware.php:24)
at Doctrine\DBAL\Driver\Middleware\AbstractStatementMiddleware->execute()
(vendor/symfony/doctrine-bridge/Middleware/Debug/Statement.php:58)
at Symfony\Bridge\Doctrine\Middleware\Debug\Statement->execute()
(vendor/doctrine/dbal/src/Connection.php:905)
at Doctrine\DBAL\Connection->executeStatement('UPDATE user SET last_login_at = ?, updated_at = ? WHERE username = ?', array(1788473211, object(DateTimeImmutable), 'osimonian'), array('integer', 'datetime_immutable', 'string'))
(vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:494)
at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->updateTable(object(User), 'user', array('last_login_at' => 1788473211, 'updated_at' => object(DateTimeImmutable)), false)
(vendor/doctrine/orm/src/Persisters/Entity/BasicEntityPersister.php:378)
at Doctrine\ORM\Persisters\Entity\BasicEntityPersister->update(object(User))
(vendor/doctrine/orm/src/UnitOfWork.php:1141)
at Doctrine\ORM\UnitOfWork->executeUpdates()
(vendor/doctrine/orm/src/UnitOfWork.php:409)
at Doctrine\ORM\UnitOfWork->commit()
(vendor/doctrine/orm/src/EntityManager.php:268)
at Doctrine\ORM\EntityManager->flush()
(src/Security/AuthTimePersister.php:46)
at App\Security\AuthTimePersister->persist(object(Request), object(PostAuthenticationToken))
(src/Security/LoginAuthenticator.php:68)
at App\Security\LoginAuthenticator->onAuthenticationSuccess(object(Request), object(PostAuthenticationToken), 'main')
(vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticator.php:89)
at Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticator->onAuthenticationSuccess(object(Request), object(PostAuthenticationToken), 'main')
(vendor/symfony/security-http/Authentication/AuthenticatorManager.php:233)
at Symfony\Component\Security\Http\Authentication\AuthenticatorManager->handleAuthenticationSuccess(object(PostAuthenticationToken), object(Passport), object(Request), object(TraceableAuthenticator), null)
(vendor/symfony/security-http/Authentication/AuthenticatorManager.php:219)
at Symfony\Component\Security\Http\Authentication\AuthenticatorManager->executeAuthenticator(object(TraceableAuthenticator), object(Request))
(vendor/symfony/security-http/Authentication/AuthenticatorManager.php:160)
at Symfony\Component\Security\Http\Authentication\AuthenticatorManager->executeAuthenticators(array(object(TraceableAuthenticator)), object(Request))
(vendor/symfony/security-http/Authentication/AuthenticatorManager.php:142)
at Symfony\Component\Security\Http\Authentication\AuthenticatorManager->authenticateRequest(object(Request))
(vendor/symfony/security-http/Firewall/AuthenticatorManagerListener.php:38)
at Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener->authenticate(object(RequestEvent))
(vendor/symfony/security-http/Authenticator/Debug/TraceableAuthenticatorManagerListener.php:58)
at Symfony\Component\Security\Http\Authenticator\Debug\TraceableAuthenticatorManagerListener->authenticate(object(RequestEvent))
(vendor/symfony/security-bundle/Debug/WrappedLazyListener.php:52)
at Symfony\Bundle\SecurityBundle\Debug\WrappedLazyListener->authenticate(object(RequestEvent))
(vendor/symfony/security-bundle/Security/LazyFirewallContext.php:64)
at Symfony\Bundle\SecurityBundle\Security\LazyFirewallContext->authenticate(object(RequestEvent))
(vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php:88)
at Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener->callListeners(object(RequestEvent), object(Generator))
(vendor/symfony/security-http/Firewall.php:86)
at Symfony\Component\Security\Http\Firewall->onKernelRequest(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
(vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115)
at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
(vendor/symfony/event-dispatcher/EventDispatcher.php:206)
at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(RequestEvent))
(vendor/symfony/event-dispatcher/EventDispatcher.php:56)
at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
(vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:129)
at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
(vendor/symfony/http-kernel/HttpKernel.php:162)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1, null)
(vendor/symfony/http-kernel/HttpKernel.php:79)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/http-kernel/Kernel.php:143)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:34)
at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
(vendor/autoload_runtime.php:32)
at require_once('/rootfs/data/users/osimonian/shared/tb-auth/vendor/autoload_runtime.php')
(public/index.php:5)
|