Error 500 Internal Server Error

GET https://www.mywherewindsmeet.fr/reset-password

Forwarded to ErrorController (a04357)

Exceptions

Unexpected "endif" tag (expecting closing tag for the "for" tag defined near line 21) in reset_password/request.html.twig at line 24.

Exception

Twig\Error\ SyntaxError

Show exception properties
Twig\Error\SyntaxError {#1541
  -lineno: 24
  -columnno: null
  -rawMessage: "Unexpected "endif" tag (expecting closing tag for the "for" tag defined near line 21)."
  -source: Twig\Source {#954
    -code: """
      {% extends 'base.html.twig' %}\n
      \n
      {% block title %}{{ 'reset.request.title'|trans }} - MyWhereWindsMeet{% endblock %}\n
      \n
      {% block body %}\n
      <div class="min-h-[80vh] flex items-center justify-center px-4 py-12">\n
        <div class="max-w-md w-full bg-slate-900 border border-slate-800 rounded-2xl p-8 shadow-2xl relative">\n
          <div class="absolute inset-0 bg-gradient-to-tr from-amber-500/10 via-transparent to-transparent rounded-2xl pointer-events-none"></div>\n
      \n
          <div class="text-center mb-8 relative z-10">\n
            <div class="w-12 h-12 rounded-xl bg-gradient-to-br from-amber-400 to-amber-700 flex items-center justify-center text-slate-950 font-bold font-serif text-2xl mx-auto shadow-lg mb-3">\n
              🔑\n
            </div>\n
            <h2 class="text-2xl font-bold font-serif text-slate-100">{{ 'reset.request.title'|trans }}</h2>\n
            <p class="text-slate-400 text-sm mt-2 leading-relaxed">\n
              {{ 'reset.request.text'|trans }}\n
            </p>\n
          </div>\n
      \n
          {% for flash_error in app.flashes('reset_password_error') %}\n
            <div class="bg-red-900/40 border border-red-500/40 text-red-200 text-sm rounded-lg p-4 mb-6">\n
              {{ flash_error }}\n
            </div>\n
          {% endif %}\n
      \n
          {{ form_start(requestForm, {'attr': {'class': 'space-y-6 relative z-10'}}) }}\n
            <div>\n
              {{ form_label(requestForm.email, 'reset.request.email'|trans) }}\n
              {{ form_widget(requestForm.email) }}\n
              {{ form_errors(requestForm.email, {'attr': {'class': 'text-red-400 text-xs mt-1'}}) }}\n
            </div>\n
      \n
            <button type="submit" class="w-full bg-gradient-to-r from-amber-500 to-amber-600 hover:from-amber-400 hover:to-amber-500 text-slate-950 font-bold py-3 rounded-lg transition duration-200 shadow-md">\n
              {{ 'reset.request.button'|trans }}\n
            </button>\n
          {{ form_end(requestForm) }}\n
      \n
          <div class="mt-8 pt-6 border-t border-slate-800/80 text-center text-sm relative z-10">\n
            <a href="{{ path('app_login') }}" class="text-amber-400 hover:text-amber-300 font-semibold transition flex items-center justify-center gap-1.5 mx-auto">\n
              &larr; {{ 'reset.request.back'|trans }}\n
            </a>\n
          </div>\n
      \n
        </div>\n
      </div>\n
      {% endblock %}\n
      """
    -name: "reset_password/request.html.twig"
    -path: "/home/clients/941d8cbb3f8a645bdfda55385403127e/sites/mywherewindsmeet/templates/reset_password/request.html.twig"
  }
  -phpFile: "/home/clients/941d8cbb3f8a645bdfda55385403127e/sites/mywherewindsmeet/vendor/twig/twig/src/Parser.php"
  -phpLine: 211
}
  1. {% for flash_error in app.flashes('reset_password_error') %}
  2. <div class="bg-red-900/40 border border-red-500/40 text-red-200 text-sm rounded-lg p-4 mb-6">
  3. {{ flash_error }}
  4. </div>
  5. {% endif %}
  6. {{ form_start(requestForm, {'attr': {'class': 'space-y-6 relative z-10'}}) }}
  7. <div>
  8. {{ form_label(requestForm.email, 'reset.request.email'|trans) }}
  9. {{ form_widget(requestForm.email) }}
  1. $targets = $this->parseAssignmentExpression();
  2. $stream->expect(Token::OPERATOR_TYPE, 'in');
  3. $seq = $this->parser->parseExpression();
  4. $stream->expect(Token::BLOCK_END_TYPE);
  5. $body = $this->parser->subparse([$this, 'decideForFork']);
  6. if ('else' == $stream->next()->getValue()) {
  7. $elseLineno = $stream->getCurrent()->getLine();
  8. $stream->expect(Token::BLOCK_END_TYPE);
  9. $else = new ForElseNode($this->parser->subparse([$this, 'decideForEnd'], true), $elseLineno);
  10. } else {
in vendor/twig/twig/src/Parser.php -> parse (line 228)
  1. }
  2. $this->stream->next();
  3. $subparser->setParser($this);
  4. $node = $subparser->parse($token);
  5. if (!$node) {
  6. trigger_deprecation('twig/twig', '3.12', 'Returning "null" from "%s" is deprecated and forbidden by "TokenParserInterface".', $subparser::class);
  7. } else {
  8. $node->setNodeTag($subparser->getTag());
  9. $rv[] = $node;
  1. $this->parser->setBlock($name, $block = new BlockNode($name, new EmptyNode(), $lineno));
  2. $this->parser->pushLocalScope();
  3. $this->parser->pushBlockStack($name);
  4. if ($stream->nextIf(Token::BLOCK_END_TYPE)) {
  5. $body = $this->parser->subparse([$this, 'decideBlockEnd'], true);
  6. if ($token = $stream->nextIf(Token::NAME_TYPE)) {
  7. $value = $token->getValue();
  8. if ($value != $name) {
  9. throw new SyntaxError(\sprintf('Expected endblock for block "%s" (but "%s" given).', $name, $value), $stream->getCurrent()->getLine(), $stream->getSourceContext());
in vendor/twig/twig/src/Parser.php -> parse (line 228)
  1. }
  2. $this->stream->next();
  3. $subparser->setParser($this);
  4. $node = $subparser->parse($token);
  5. if (!$node) {
  6. trigger_deprecation('twig/twig', '3.12', 'Returning "null" from "%s" is deprecated and forbidden by "TokenParserInterface".', $subparser::class);
  7. } else {
  8. $node->setNodeTag($subparser->getTag());
  9. $rv[] = $node;
in vendor/twig/twig/src/Parser.php -> subparse (line 108)
  1. $this->importedSymbols = [[]];
  2. $this->embeddedTemplates = [];
  3. $this->expressionRefs = new \WeakMap();
  4. try {
  5. $body = $this->subparse($test, $dropNeedle);
  6. } catch (SyntaxError $e) {
  7. if (!$e->getSourceContext()) {
  8. $e->setSourceContext($this->stream->getSourceContext());
  9. }
  1. {
  2. if (null === $this->parser) {
  3. $this->parser = new Parser($this);
  4. }
  5. return $this->parser->parse($stream);
  6. }
  7. /**
  8. * @return void
  9. */
  1. * @throws SyntaxError When there was an error during tokenizing, parsing or compiling
  2. */
  3. public function compileSource(Source $source): string
  4. {
  5. try {
  6. return $this->compile($this->parse($this->tokenize($source)));
  7. } catch (Error $e) {
  8. $e->setSourceContext($source);
  9. throw $e;
  10. } catch (\Exception $e) {
  11. throw new SyntaxError(\sprintf('An exception has been thrown during the compilation of a template ("%s").', $e->getMessage()), -1, $source, $e);
in vendor/twig/twig/src/Environment.php -> compileSource (line 408)
  1. $this->cache->load($key);
  2. }
  3. if (!class_exists($cls, false)) {
  4. $source = $this->getLoader()->getSourceContext($name);
  5. $content = $this->compileSource($source);
  6. if (!isset($this->hotCache[$name])) {
  7. $this->cache->write($key, $content);
  8. $this->cache->load($key);
  9. }
in vendor/twig/twig/src/Environment.php -> loadTemplate (line 370)
  1. trigger_deprecation('twig/twig', '3.9', 'Passing a "%s" instance to "%s" is deprecated.', self::class, __METHOD__);
  2. return $name;
  3. }
  4. return new TemplateWrapper($this, $this->loadTemplate($this->getTemplateClass($name), $name));
  5. }
  6. /**
  7. * Loads a template internal representation.
  8. *
  1. * @throws SyntaxError When an error occurred during compilation
  2. * @throws RuntimeError When an error occurred during rendering
  3. */
  4. public function render($name, array $context = []): string
  5. {
  6. return $this->load($name)->render($context);
  7. }
  8. /**
  9. * Displays a template.
  10. *
  1. if (null !== $block) {
  2. return $this->container->get('twig')->load($view)->renderBlock($block, $parameters);
  3. }
  4. return $this->container->get('twig')->render($view, $parameters);
  5. }
  6. private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
  7. {
  8. $content = $this->doRenderView($view, $block, $parameters, $method);
  1. return $this->container->get('twig')->render($view, $parameters);
  2. }
  3. private function doRender(string $view, ?string $block, array $parameters, ?Response $response, string $method): Response
  4. {
  5. $content = $this->doRenderView($view, $block, $parameters, $method);
  6. $response ??= new Response();
  7. if (200 === $response->getStatusCode()) {
  8. foreach ($parameters as $v) {
  9. if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
  1. * If an invalid form is found in the list of parameters, a 422 status code is returned.
  2. * Forms found in parameters are auto-cast to form views.
  3. */
  4. protected function render(string $view, array $parameters = [], ?Response $response = null): Response
  5. {
  6. return $this->doRender($view, null, $parameters, $response, __FUNCTION__);
  7. }
  8. /**
  9. * Renders a block in a view.
  10. *
AbstractController->render('reset_password/request.html.twig', array('requestForm' => object(FormView))) in src/Controller/ResetPasswordController.php (line 49)
  1. /** @var string $email */
  2. $email = $form->get('email')->getData();
  3. return $this->processSendingToken($email, $mailer, $translator);
  4. }
  5. return $this->render('reset_password/request.html.twig', [
  6. 'requestForm' => $form->createView(),
  7. ]);
  8. }
  9. /**
  1. $this->dispatcher->dispatch($event, KernelEvents::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($event, KernelEvents::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. if (!$this->handlingHttpCache) {
  2. $this->resetServices = true;
  3. }
  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. $response->send(false);
  7. if (\function_exists('fastcgi_finish_request') && !$this->debug) {
  8. fastcgi_finish_request();
in vendor/autoload_runtime.php -> run (line 32)
  1. $app = $app(...$args);
  2. exit(
  3. $runtime
  4. ->getRunner($app)
  5. ->run()
  6. );
require_once('/home/clients/941d8cbb3f8a645bdfda55385403127e/sites/mywherewindsmeet/vendor/autoload_runtime.php') in public/index.php (line 5)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return static function (array $context) {
  5. return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Logs

Level Channel Message
INFO 23:04:57 deprecation User Deprecated: The "App\Security\UserChecker::checkPostAuth()" method will require a new "?TokenInterface $token" argument in the next major version of its interface "Symfony\Component\Security\Core\User\UserCheckerInterface", not defining it is deprecated.
{
    "exception": {}
}
INFO 23:04:57 deprecation User Deprecated: The Liip\ImagineBundle\Templating\FilterTrait trait is deprecated since version 2.7 and will be removed in 3.0; use Twig instead.
{
    "exception": {}
}
INFO 23:04:57 deprecation User Deprecated: The Liip\ImagineBundle\Templating\FilterExtension class is deprecated since version 2.7 and will be removed in 3.0; configure "liip_imagine.twig.mode" to "lazy" instead.
{
    "exception": {}
}
INFO 23:04:57 deprecation User Deprecated: Class "Doctrine\ORM\Proxy\Autoloader" is deprecated. Use native lazy objects instead. (Autoloader.php:74 called by DoctrineBundle.php:136, https://github.com/doctrine/orm/pull/12005, package doctrine/orm)
{
    "exception": {}
}
INFO 23:04:57 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "2e4f5b"
    },
    "request_uri": "https://www.mywherewindsmeet.fr/_profiler/2e4f5b",
    "method": "GET"
}

Stack Trace

SyntaxError
Twig\Error\SyntaxError:
Unexpected "endif" tag (expecting closing tag for the "for" tag defined near line 21) in "reset_password/request.html.twig" at line 24.

  at templates/reset_password/request.html.twig:24
  at Twig\Parser->subparse(array(object(ForTokenParser), 'decideForFork'))
     (vendor/twig/twig/src/TokenParser/ForTokenParser.php:43)
  at Twig\TokenParser\ForTokenParser->parse(object(Token))
     (vendor/twig/twig/src/Parser.php:228)
  at Twig\Parser->subparse(array(object(BlockTokenParser), 'decideBlockEnd'), true)
     (vendor/twig/twig/src/TokenParser/BlockTokenParser.php:46)
  at Twig\TokenParser\BlockTokenParser->parse(object(Token))
     (vendor/twig/twig/src/Parser.php:228)
  at Twig\Parser->subparse(null, false)
     (vendor/twig/twig/src/Parser.php:108)
  at Twig\Parser->parse(object(TokenStream))
     (vendor/twig/twig/src/Environment.php:558)
  at Twig\Environment->parse(object(TokenStream))
     (vendor/twig/twig/src/Environment.php:589)
  at Twig\Environment->compileSource(object(Source))
     (vendor/twig/twig/src/Environment.php:408)
  at Twig\Environment->loadTemplate('__TwigTemplate_61ba379eb38342782ab16e31eb408b3b', 'reset_password/request.html.twig')
     (vendor/twig/twig/src/Environment.php:370)
  at Twig\Environment->load('reset_password/request.html.twig')
     (vendor/twig/twig/src/Environment.php:333)
  at Twig\Environment->render('reset_password/request.html.twig', array('requestForm' => object(FormView)))
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:467)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView('reset_password/request.html.twig', null, array('requestForm' => object(FormView)), 'render')
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:472)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender('reset_password/request.html.twig', null, array('requestForm' => object(FormView)), null, 'render')
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:284)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render('reset_password/request.html.twig', array('requestForm' => object(FormView)))
     (src/Controller/ResetPasswordController.php:49)
  at App\Controller\ResetPasswordController->request(object(Request), object(Mailer), object(DataCollectorTranslator))
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/http-kernel/Kernel.php:193)
  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('/home/clients/941d8cbb3f8a645bdfda55385403127e/sites/mywherewindsmeet/vendor/autoload_runtime.php')
     (public/index.php:5)