Error 500 Internal Server Error

GET https://admin.atelier-des-prompts.fr/api/products?shop=19

Forwarded to MainController (223c91)

Exceptions

ApiPlatform\Hydra\Serializer\PartialCollectionViewNormalizer::populateDataWithCursorBasedPagination(): Argument #3 ($object) must be of type Traversable, array given, called in /home/u416871480/domains/atelier-des-prompts.fr/public_html/admin/vendor/api-platform/hydra/Serializer/PartialCollectionViewNormalizer.php on line 100

Exception

TypeError

  1.         }
  2.         return $paginationFilters;
  3.     }
  4.     private function populateDataWithCursorBasedPagination(array $data, array $parsed\Traversable $object, ?array $cursorPaginationAttribute, ?int $urlGenerationStrategystring $hydraPrefix): array
  5.     {
  6.         $objects iterator_to_array($object);
  7.         $firstObject current($objects);
  8.         $lastObject end($objects);
in vendor/api-platform/hydra/Serializer/PartialCollectionViewNormalizer.php -> populateDataWithCursorBasedPagination (line 100)
  1.         $hydraPrefix $this->getHydraPrefix($context $this->defaultContext);
  2.         $data[$hydraPrefix.'view'] = ['@id' => null'@type' => $hydraPrefix.'PartialCollectionView'];
  3.         if ($isPaginatedWithCursor) {
  4.             return $this->populateDataWithCursorBasedPagination($data$parsed$object$cursorPaginationAttribute$operation?->getUrlGenerationStrategy() ?? $this->urlGenerationStrategy$hydraPrefix);
  5.         }
  6.         $data[$hydraPrefix.'view']['@id'] = IriHelper::createIri($parsed['parts'], $parsed['parameters'], $this->pageParameterName$paginated $currentPage null$operation?->getUrlGenerationStrategy() ?? $this->urlGenerationStrategy);
  7.         if ($paginated) {
  1.     {
  2.         if (($context[AbstractObjectNormalizer::PRESERVE_EMPTY_OBJECTS] ?? false) && $object instanceof \ArrayObject && !\count($object)) {
  3.             return $object;
  4.         }
  5.         $data $this->collectionNormalizer->normalize($object$format$context);
  6.         if (!isset($context['resource_class']) || isset($context['api_sub_level'])) {
  7.             return $data;
  8.         }
  9.         if (!\is_array($data)) {
  1.         if (!$this->normalizer instanceof NormalizerInterface) {
  2.             throw new \BadMethodCallException(\sprintf('The "%s()" method cannot be called as nested normalizer doesn\'t implements "%s".'__METHOD__NormalizerInterface::class));
  3.         }
  4.         $startTime microtime(true);
  5.         $normalized $this->normalizer->normalize($data$format$context);
  6.         $time microtime(true) - $startTime;
  7.         if ($traceId = ($context[TraceableSerializer::DEBUG_TRACE_ID] ?? null)) {
  8.             $this->dataCollector->collectNormalization($traceId$this->normalizer::class, $time$this->serializerName);
  9.         }
  1.     public function normalize(mixed $data, ?string $format null, array $context = []): array|string|int|float|bool|\ArrayObject|null
  2.     {
  3.         // If a normalizer supports the given data, use it
  4.         if ($normalizer $this->getNormalizer($data$format$context)) {
  5.             return $normalizer->normalize($data$format$context);
  6.         }
  7.         if (null === $data || \is_scalar($data)) {
  8.             return $data;
  9.         }
  1.         if (!$this->supportsEncoding($format$context)) {
  2.             throw new UnsupportedFormatException(\sprintf('Serialization for the format "%s" is not supported.'$format));
  3.         }
  4.         if ($this->encoder->needsNormalization($format$context)) {
  5.             $data $this->normalize($data$format$context);
  6.         }
  7.         return $this->encode($data$format$context);
  8.     }
  1.     public function serialize(mixed $datastring $format, array $context = []): string
  2.     {
  3.         $context[self::DEBUG_TRACE_ID] = $traceId bin2hex(random_bytes(4));
  4.         $startTime microtime(true);
  5.         $result $this->serializer->serialize($data$format$context);
  6.         $time microtime(true) - $startTime;
  7.         $caller $this->getCaller(__FUNCTION__SerializerInterface::class);
  8.         $this->dataCollector->collectSerialize($traceId$data$format$context$time$caller$this->serializerName);
  1.         $resourcesToPush = new ResourceList();
  2.         $serializerContext['resources_to_push'] = &$resourcesToPush;
  3.         $serializerContext[AbstractObjectNormalizer::EXCLUDE_FROM_CACHE_KEY][] = 'resources_to_push';
  4.         $serialized $this->serializer->serialize($data$request->getRequestFormat(), $serializerContext);
  5.         $request->attributes->set('_resources'$request->attributes->get('_resources', []) + (array) $resources);
  6.         if (\count($resourcesToPush)) {
  7.             $linkProvider $request->attributes->get('_api_platform_links', new GenericLinkProvider());
  8.             foreach ($resourcesToPush as $resourceToPush) {
  9.                 $linkProvider $linkProvider->withLink((new Link('preload'$resourceToPush))->withAttribute('as''fetch'));
  1.         if (
  2.             $data instanceof Response
  3.             || !($operation->canWrite() ?? true)
  4.             || !$operation->getProcessor()
  5.         ) {
  6.             return $this->processor $this->processor->process($data$operation$uriVariables$context) : $data;
  7.         }
  8.         $data $this->callableProcessor->process($data$operation$uriVariables$context);
  9.         return $this->processor $this->processor->process($data$operation$uriVariables$context) : $data;
  1.         if (null === $operation->canSerialize()) {
  2.             $operation $operation->withSerialize(true);
  3.         }
  4.         return $this->processor->process($body$operation$uriVariables$context);
  5.     }
  6. }
  1.         $this->dispatcher->dispatch($eventKernelEvents::CONTROLLER_ARGUMENTS);
  2.         $controller $event->getController();
  3.         $arguments $event->getArguments();
  4.         // call controller
  5.         $response $controller(...$arguments);
  6.         // view
  7.         if (!$response instanceof Response) {
  8.             $event = new ViewEvent($this$request$type$response$event);
  9.             $this->dispatcher->dispatch($eventKernelEvents::VIEW);
  1.         $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2.         $this->requestStack->push($request);
  3.         $response null;
  4.         try {
  5.             return $response $this->handleRaw($request$type);
  6.         } catch (\Throwable $e) {
  7.             if ($e instanceof \Error && !$this->handleAllThrowables) {
  8.                 throw $e;
  9.             }
  1.         $this->boot();
  2.         ++$this->requestStackSize;
  3.         $this->resetServices true;
  4.         try {
  5.             return $this->getHttpKernel()->handle($request$type$catch);
  6.         } finally {
  7.             --$this->requestStackSize;
  8.         }
  9.     }
  1.     ) {
  2.     }
  3.     public function run(): int
  4.     {
  5.         $response $this->kernel->handle($this->request);
  6.         if (Kernel::VERSION_ID >= 60400) {
  7.             $response->send(false);
  8.             if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 29)
  1. $app $app(...$args);
  2. exit(
  3.     $runtime
  4.         ->getRunner($app)
  5.         ->run()
  6. );
require_once('/home/u416871480/domains/atelier-des-prompts.fr/public_html/admin/vendor/autoload_runtime.php') in public/index.php (line 11)
  1. $opensslConf dirname(__DIR__) . '/openssl.cnf';
  2. if (file_exists($opensslConf)) {
  3.     putenv('OPENSSL_CONF=' $opensslConf);
  4. }
  5. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  6. return function (array $context) {
  7.     return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  8. };

Logs

Level Channel Message
INFO 21:15:53 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "12335b"
    },
    "request_uri": "https://admin.atelier-des-prompts.fr/_profiler/12335b",
    "method": "GET"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Symfony\UX\Turbo\Request\RequestListener::__invoke".
{
    "event": "kernel.request",
    "listener": "Symfony\\UX\\Turbo\\Request\\RequestListener::__invoke"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Nelmio\CorsBundle\EventListener\CorsListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Nelmio\\CorsBundle\\EventListener\\CorsListener::onKernelRequest"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelRequest"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "EasyCorp\Bundle\EasyAdminBundle\EventListener\AdminRouterSubscriber::onKernelRequestPrettyUrls".
{
    "event": "kernel.request",
    "listener": "EasyCorp\\Bundle\\EasyAdminBundle\\EventListener\\AdminRouterSubscriber::onKernelRequestPrettyUrls"
}
DEBUG 21:15:53 event Notified event "kernel.request" to listener "EasyCorp\Bundle\EasyAdminBundle\EventListener\AdminRouterSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "EasyCorp\\Bundle\\EasyAdminBundle\\EventListener\\AdminRouterSubscriber::onKernelRequest"
}
DEBUG 21:15:53 event Notified event "kernel.controller" to listener "EasyCorp\Bundle\EasyAdminBundle\EventListener\AdminRouterSubscriber::onKernelController".
{
    "event": "kernel.controller",
    "listener": "EasyCorp\\Bundle\\EasyAdminBundle\\EventListener\\AdminRouterSubscriber::onKernelController"
}
DEBUG 21:15:53 event Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
DEBUG 21:15:53 event Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
DEBUG 21:15:53 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
}
DEBUG 21:15:53 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments"
}
DEBUG 21:15:53 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments"
}
DEBUG 21:15:53 event Notified event "kernel.controller_arguments" to listener "ContainerXY4IfoF\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "ContainerXY4IfoF\\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
}
DEBUG 21:15:53 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments"
}

Stack Trace

TypeError
TypeError:
ApiPlatform\Hydra\Serializer\PartialCollectionViewNormalizer::populateDataWithCursorBasedPagination(): Argument #3 ($object) must be of type Traversable, array given, called in /home/u416871480/domains/atelier-des-prompts.fr/public_html/admin/vendor/api-platform/hydra/Serializer/PartialCollectionViewNormalizer.php on line 100

  at vendor/api-platform/hydra/Serializer/PartialCollectionViewNormalizer.php:153
  at ApiPlatform\Hydra\Serializer\PartialCollectionViewNormalizer->populateDataWithCursorBasedPagination()
     (vendor/api-platform/hydra/Serializer/PartialCollectionViewNormalizer.php:100)
  at ApiPlatform\Hydra\Serializer\PartialCollectionViewNormalizer->normalize()
     (vendor/api-platform/hydra/Serializer/CollectionFiltersNormalizer.php:76)
  at ApiPlatform\Hydra\Serializer\CollectionFiltersNormalizer->normalize()
     (vendor/symfony/serializer/Debug/TraceableNormalizer.php:50)
  at Symfony\Component\Serializer\Debug\TraceableNormalizer->normalize()
     (vendor/symfony/serializer/Serializer.php:152)
  at Symfony\Component\Serializer\Serializer->normalize()
     (vendor/symfony/serializer/Serializer.php:131)
  at Symfony\Component\Serializer\Serializer->serialize()
     (vendor/symfony/serializer/Debug/TraceableSerializer.php:44)
  at Symfony\Component\Serializer\Debug\TraceableSerializer->serialize()
     (vendor/api-platform/state/Processor/SerializeProcessor.php:74)
  at ApiPlatform\State\Processor\SerializeProcessor->process()
     (vendor/api-platform/state/Processor/WriteProcessor.php:51)
  at ApiPlatform\State\Processor\WriteProcessor->process()
     (vendor/api-platform/symfony/Controller/MainController.php:112)
  at ApiPlatform\Symfony\Controller\MainController->__invoke()
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (vendor/symfony/http-kernel/Kernel.php:182)
  at Symfony\Component\HttpKernel\Kernel->handle()
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:29)
  at require_once('/home/u416871480/domains/atelier-des-prompts.fr/public_html/admin/vendor/autoload_runtime.php')
     (public/index.php:11)