<p dir="auto"><strong>Symfony version(s) affected</strong>: 4.2.1</p>
<p dir="auto"><strong>Description</strong><br>
I wrote a simple test to check whether user authorization is working. After entering "php bin / phpunit" gets the error: Filter 'softdeleteable' does not exist.<br>
My custom doctrine filters working in dev/prod mode.<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/16528176/50682324-c3148800-100e-11e9-8f1a-74a73487ce4e.png"><img src="https://user-images.githubusercontent.com/16528176/50682324-c3148800-100e-11e9-8f1a-74a73487ce4e.png" alt="image" style="max-width: 100%;"></a><br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/16528176/50682341-d1fb3a80-100e-11e9-8a68-73bd9f788751.png"><img src="https://user-images.githubusercontent.com/16528176/50682341-d1fb3a80-100e-11e9-8a68-73bd9f788751.png" alt="image" style="max-width: 100%;"></a></p>
<p dir="auto">Exception:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" Symfony\Component\Security\Core\Exception\AuthenticationServiceException {#521
  -token: Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken {#309
    -credentials: &quot;123456789&quot;
    -providerKey: &quot;login&quot;
    -user: &quot;user.1@project.test&quot;
    -roles: []
    -authenticated: false
    -attributes: []
  }
  #message: &quot;Filter 'softdeleteable' does not exist.&quot;
  #code: 0
  #file: &quot;./vendor/symfony/security-core/Authentication/Provider/DaoAuthenticationProvider.php&quot;
  #line: 85
  -previous: InvalidArgumentException {#490
    #message: &quot;Filter 'softdeleteable' does not exist.&quot;
    #code: 0
    #file: &quot;./vendor/doctrine/orm/lib/Doctrine/ORM/Query/FilterCollection.php&quot;
    #line: 107
    trace: {
      ./vendor/doctrine/orm/lib/Doctrine/ORM/Query/FilterCollection.php:107 { …}
      ./vendor/doctrine/doctrine-bundle/ManagerConfigurator.php:48 { …}
      ./vendor/doctrine/doctrine-bundle/ManagerConfigurator.php:34 { …}
      ./var/cache/test/ContainerSdbfk4U/srcApp_KernelTestDebugContainer.php:677 {
        ›
        › ($this-&gt;privates['doctrine.orm.default_manager_configurator'] ?? ($this-&gt;privates['doctrine.orm.default_manager_configurator'] = new \Doctrine\Bundle\DoctrineBundle\ManagerConfigurator(array(0 =&gt; 'softdeleteable', 1 =&gt; 'creditexpiration'), array())))-
&gt;configure($instance);
        ›
        arguments: {
          $entityManager: Doctrine\ORM\EntityManager {#577 …}
        }
      }
      ./var/cache/test/ContainerSdbfk4U/srcApp_KernelTestDebugContainer.php:3059 { …}
      ./var/cache/test/ContainerSdbfk4U/srcApp_KernelTestDebugContainer.php:654 { …}
      ./var/cache/test/ContainerSdbfk4U/srcApp_KernelTestDebugContainer.php:1947 { …}
      ./var/cache/test/ContainerSdbfk4U/srcApp_KernelTestDebugContainer.php:669 { …}
      ./vendor/symfony/dependency-injection/Container.php:245 { …}
      ./vendor/symfony/dependency-injection/Container.php:225 { …}
      ./vendor/symfony/doctrine-bridge/ManagerRegistry.php:35 { …}
      ./vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php:152 { …}
      ./vendor/symfony/doctrine-bridge/Security/User/EntityUserProvider.php:112 { …}
      ./vendor/symfony/doctrine-bridge/Security/User/EntityUserProvider.php:117 { …}
      ./vendor/symfony/doctrine-bridge/Security/User/EntityUserProvider.php:49 { …}
      ./vendor/symfony/security-core/Authentication/Provider/DaoAuthenticationProvider.php:74 { …}
      ./vendor/symfony/security-core/Authentication/Provider/UserAuthenticationProvider.php:64 { …}
      ./vendor/symfony/security-core/Authentication/AuthenticationProviderManager.php:76 { …}
      ./vendor/symfony/security-http/Firewall/UsernamePasswordJsonAuthenticationListener.php:121 { …}
      ./vendor/symfony/security-bundle/Debug/WrappedListener.php:46 { …}
      ./vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php:35 { …}
      ./vendor/symfony/security-http/Firewall.php:90 { …}
      ./vendor/symfony/security-bundle/EventListener/FirewallListener.php:48 { …}
      ./vendor/symfony/event-dispatcher/Debug/WrappedListener.php:111 { …}
      ./vendor/symfony/event-dispatcher/EventDispatcher.php:212 { …}
      ./vendor/symfony/event-dispatcher/EventDispatcher.php:44 { …}
      ./vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:142 { …}
      ./vendor/symfony/http-kernel/HttpKernel.php:126 { …}
      ./vendor/symfony/http-kernel/HttpKernel.php:67 { …}
      ./vendor/symfony/http-kernel/Kernel.php:198 { …}
      ./vendor/symfony/http-kernel/Client.php:68 { …}
      ./vendor/symfony/framework-bundle/Client.php:131 { …}
      ./vendor/symfony/browser-kit/Client.php:405 { …}
      ./tests/Controller/ApiControllerTest.php:167 { …}
      ./tests/Controller/ApiControllerTest.php:72 { …}
      ./tests/Controller/User/MyselfControllerTest.php:12 { …}
      App\Tests\Controller\User\MyselfControllerTest-&gt;testShow() {}
      ./bin/.phpunit/phpunit-6.5/src/Framework/TestCase.php:1071 { …}
      ./bin/.phpunit/phpunit-6.5/src/Framework/TestCase.php:939 { …}
      ./bin/.phpunit/phpunit-6.5/src/Framework/TestResult.php:698 { …}
      ./bin/.phpunit/phpunit-6.5/src/Framework/TestCase.php:894 { …}
      ./bin/.phpunit/phpunit-6.5/src/Framework/TestSuite.php:755 { …}
      ./bin/.phpunit/phpunit-6.5/src/Framework/TestSuite.php:755 { …}
      ./bin/.phpunit/phpunit-6.5/src/TextUI/TestRunner.php:545 { …}
      ./bin/.phpunit/phpunit-6.5/src/TextUI/Command.php:195 { …}
      ./bin/.phpunit/phpunit-6.5/src/TextUI/Command.php:148 { …}
      ./bin/.phpunit/phpunit-6.5/phpunit:17 { …}
      ./vendor/symfony/phpunit-bridge/bin/simple-phpunit:242 { …}
      ./bin/phpunit:18 { …}
    }
  }
  trace: {
    ./vendor/symfony/security-core/Authentication/Provider/DaoAuthenticationProvider.php:85 { …}
    ./vendor/symfony/security-core/Authentication/Provider/UserAuthenticationProvider.php:64 { …}
    ./vendor/symfony/security-core/Authentication/AuthenticationProviderManager.php:76 { …}
    ./vendor/symfony/security-http/Firewall/UsernamePasswordJsonAuthenticationListener.php:121 { …}
    ./vendor/symfony/security-bundle/Debug/WrappedListener.php:46 { …}
    ./vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php:35 { …}
    ./vendor/symfony/security-http/Firewall.php:90 { …}
    ./vendor/symfony/security-bundle/EventListener/FirewallListener.php:48 { …}
    ./vendor/symfony/event-dispatcher/Debug/WrappedListener.php:111 { …}
    ./vendor/symfony/event-dispatcher/EventDispatcher.php:212 { …}
    ./vendor/symfony/event-dispatcher/EventDispatcher.php:44 { …}
    ./vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:142 { …}
    ./vendor/symfony/http-kernel/HttpKernel.php:126 { …}
    ./vendor/symfony/http-kernel/HttpKernel.php:67 { …}
    ./vendor/symfony/http-kernel/Kernel.php:198 { …}
    ./vendor/symfony/http-kernel/Client.php:68 { …}
    ./vendor/symfony/framework-bundle/Client.php:131 { …}
    ./vendor/symfony/browser-kit/Client.php:405 { …}
    ./tests/Controller/ApiControllerTest.php:167 {
      ›     ],\r
      ›     json_encode($body)\r
      › );\r
      arguments: {
        $method: &quot;POST&quot;
        $uri: &quot;http://localhost/auth/login&quot;
        $parameters: []
        $files: []
        $server: array:4 [ …4]
        $content: &quot;{&quot;email&quot;:&quot;user.1@project.test&quot;,&quot;password&quot;:&quot;123456789&quot;}&quot;
      }
    }
    ./tests/Controller/ApiControllerTest.php:72 { …}
    ./tests/Controller/User/MyselfControllerTest.php:12 { …}
    App\Tests\Controller\User\MyselfControllerTest-&gt;testShow() {}
    ./bin/.phpunit/phpunit-6.5/src/Framework/TestCase.php:1071 { …}
    ./bin/.phpunit/phpunit-6.5/src/Framework/TestCase.php:939 { …}
    ./bin/.phpunit/phpunit-6.5/src/Framework/TestResult.php:698 { …}
    ./bin/.phpunit/phpunit-6.5/src/Framework/TestCase.php:894 { …}
    ./bin/.phpunit/phpunit-6.5/src/Framework/TestSuite.php:755 { …}
    ./bin/.phpunit/phpunit-6.5/src/Framework/TestSuite.php:755 { …}
    ./bin/.phpunit/phpunit-6.5/src/TextUI/TestRunner.php:545 { …}
    ./bin/.phpunit/phpunit-6.5/src/TextUI/Command.php:195 { …}
    ./bin/.phpunit/phpunit-6.5/src/TextUI/Command.php:148 { …}
    ./bin/.phpunit/phpunit-6.5/phpunit:17 { …}
    ./vendor/symfony/phpunit-bridge/bin/simple-phpunit:242 { …}
    ./bin/phpunit:18 { …}
  }"><pre class="notranslate"><code class="notranslate"> Symfony\Component\Security\Core\Exception\AuthenticationServiceException {#521
  -token: Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken {#309
    -credentials: "123456789"
    -providerKey: "login"
    -user: "user.1@project.test"
    -roles: []
    -authenticated: false
    -attributes: []
  }
  #message: "Filter 'softdeleteable' does not exist."
  #code: 0
  #file: "./vendor/symfony/security-core/Authentication/Provider/DaoAuthenticationProvider.php"
  #line: 85
  -previous: InvalidArgumentException {#490
    #message: "Filter 'softdeleteable' does not exist."
    #code: 0
    #file: "./vendor/doctrine/orm/lib/Doctrine/ORM/Query/FilterCollection.php"
    #line: 107
    trace: {
      ./vendor/doctrine/orm/lib/Doctrine/ORM/Query/FilterCollection.php:107 { …}
      ./vendor/doctrine/doctrine-bundle/ManagerConfigurator.php:48 { …}
      ./vendor/doctrine/doctrine-bundle/ManagerConfigurator.php:34 { …}
      ./var/cache/test/ContainerSdbfk4U/srcApp_KernelTestDebugContainer.php:677 {
        ›
        › ($this-&gt;privates['doctrine.orm.default_manager_configurator'] ?? ($this-&gt;privates['doctrine.orm.default_manager_configurator'] = new \Doctrine\Bundle\DoctrineBundle\ManagerConfigurator(array(0 =&gt; 'softdeleteable', 1 =&gt; 'creditexpiration'), array())))-
&gt;configure($instance);
        ›
        arguments: {
          $entityManager: Doctrine\ORM\EntityManager {#577 …}
        }
      }
      ./var/cache/test/ContainerSdbfk4U/srcApp_KernelTestDebugContainer.php:3059 { …}
      ./var/cache/test/ContainerSdbfk4U/srcApp_KernelTestDebugContainer.php:654 { …}
      ./var/cache/test/ContainerSdbfk4U/srcApp_KernelTestDebugContainer.php:1947 { …}
      ./var/cache/test/ContainerSdbfk4U/srcApp_KernelTestDebugContainer.php:669 { …}
      ./vendor/symfony/dependency-injection/Container.php:245 { …}
      ./vendor/symfony/dependency-injection/Container.php:225 { …}
      ./vendor/symfony/doctrine-bridge/ManagerRegistry.php:35 { …}
      ./vendor/doctrine/persistence/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php:152 { …}
      ./vendor/symfony/doctrine-bridge/Security/User/EntityUserProvider.php:112 { …}
      ./vendor/symfony/doctrine-bridge/Security/User/EntityUserProvider.php:117 { …}
      ./vendor/symfony/doctrine-bridge/Security/User/EntityUserProvider.php:49 { …}
      ./vendor/symfony/security-core/Authentication/Provider/DaoAuthenticationProvider.php:74 { …}
      ./vendor/symfony/security-core/Authentication/Provider/UserAuthenticationProvider.php:64 { …}
      ./vendor/symfony/security-core/Authentication/AuthenticationProviderManager.php:76 { …}
      ./vendor/symfony/security-http/Firewall/UsernamePasswordJsonAuthenticationListener.php:121 { …}
      ./vendor/symfony/security-bundle/Debug/WrappedListener.php:46 { …}
      ./vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php:35 { …}
      ./vendor/symfony/security-http/Firewall.php:90 { …}
      ./vendor/symfony/security-bundle/EventListener/FirewallListener.php:48 { …}
      ./vendor/symfony/event-dispatcher/Debug/WrappedListener.php:111 { …}
      ./vendor/symfony/event-dispatcher/EventDispatcher.php:212 { …}
      ./vendor/symfony/event-dispatcher/EventDispatcher.php:44 { …}
      ./vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:142 { …}
      ./vendor/symfony/http-kernel/HttpKernel.php:126 { …}
      ./vendor/symfony/http-kernel/HttpKernel.php:67 { …}
      ./vendor/symfony/http-kernel/Kernel.php:198 { …}
      ./vendor/symfony/http-kernel/Client.php:68 { …}
      ./vendor/symfony/framework-bundle/Client.php:131 { …}
      ./vendor/symfony/browser-kit/Client.php:405 { …}
      ./tests/Controller/ApiControllerTest.php:167 { …}
      ./tests/Controller/ApiControllerTest.php:72 { …}
      ./tests/Controller/User/MyselfControllerTest.php:12 { …}
      App\Tests\Controller\User\MyselfControllerTest-&gt;testShow() {}
      ./bin/.phpunit/phpunit-6.5/src/Framework/TestCase.php:1071 { …}
      ./bin/.phpunit/phpunit-6.5/src/Framework/TestCase.php:939 { …}
      ./bin/.phpunit/phpunit-6.5/src/Framework/TestResult.php:698 { …}
      ./bin/.phpunit/phpunit-6.5/src/Framework/TestCase.php:894 { …}
      ./bin/.phpunit/phpunit-6.5/src/Framework/TestSuite.php:755 { …}
      ./bin/.phpunit/phpunit-6.5/src/Framework/TestSuite.php:755 { …}
      ./bin/.phpunit/phpunit-6.5/src/TextUI/TestRunner.php:545 { …}
      ./bin/.phpunit/phpunit-6.5/src/TextUI/Command.php:195 { …}
      ./bin/.phpunit/phpunit-6.5/src/TextUI/Command.php:148 { …}
      ./bin/.phpunit/phpunit-6.5/phpunit:17 { …}
      ./vendor/symfony/phpunit-bridge/bin/simple-phpunit:242 { …}
      ./bin/phpunit:18 { …}
    }
  }
  trace: {
    ./vendor/symfony/security-core/Authentication/Provider/DaoAuthenticationProvider.php:85 { …}
    ./vendor/symfony/security-core/Authentication/Provider/UserAuthenticationProvider.php:64 { …}
    ./vendor/symfony/security-core/Authentication/AuthenticationProviderManager.php:76 { …}
    ./vendor/symfony/security-http/Firewall/UsernamePasswordJsonAuthenticationListener.php:121 { …}
    ./vendor/symfony/security-bundle/Debug/WrappedListener.php:46 { …}
    ./vendor/symfony/security-bundle/Debug/TraceableFirewallListener.php:35 { …}
    ./vendor/symfony/security-http/Firewall.php:90 { …}
    ./vendor/symfony/security-bundle/EventListener/FirewallListener.php:48 { …}
    ./vendor/symfony/event-dispatcher/Debug/WrappedListener.php:111 { …}
    ./vendor/symfony/event-dispatcher/EventDispatcher.php:212 { …}
    ./vendor/symfony/event-dispatcher/EventDispatcher.php:44 { …}
    ./vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:142 { …}
    ./vendor/symfony/http-kernel/HttpKernel.php:126 { …}
    ./vendor/symfony/http-kernel/HttpKernel.php:67 { …}
    ./vendor/symfony/http-kernel/Kernel.php:198 { …}
    ./vendor/symfony/http-kernel/Client.php:68 { …}
    ./vendor/symfony/framework-bundle/Client.php:131 { …}
    ./vendor/symfony/browser-kit/Client.php:405 { …}
    ./tests/Controller/ApiControllerTest.php:167 {
      ›     ],\r
      ›     json_encode($body)\r
      › );\r
      arguments: {
        $method: "POST"
        $uri: "http://localhost/auth/login"
        $parameters: []
        $files: []
        $server: array:4 [ …4]
        $content: "{"email":"user.1@project.test","password":"123456789"}"
      }
    }
    ./tests/Controller/ApiControllerTest.php:72 { …}
    ./tests/Controller/User/MyselfControllerTest.php:12 { …}
    App\Tests\Controller\User\MyselfControllerTest-&gt;testShow() {}
    ./bin/.phpunit/phpunit-6.5/src/Framework/TestCase.php:1071 { …}
    ./bin/.phpunit/phpunit-6.5/src/Framework/TestCase.php:939 { …}
    ./bin/.phpunit/phpunit-6.5/src/Framework/TestResult.php:698 { …}
    ./bin/.phpunit/phpunit-6.5/src/Framework/TestCase.php:894 { …}
    ./bin/.phpunit/phpunit-6.5/src/Framework/TestSuite.php:755 { …}
    ./bin/.phpunit/phpunit-6.5/src/Framework/TestSuite.php:755 { …}
    ./bin/.phpunit/phpunit-6.5/src/TextUI/TestRunner.php:545 { …}
    ./bin/.phpunit/phpunit-6.5/src/TextUI/Command.php:195 { …}
    ./bin/.phpunit/phpunit-6.5/src/TextUI/Command.php:148 { …}
    ./bin/.phpunit/phpunit-6.5/phpunit:17 { …}
    ./vendor/symfony/phpunit-bridge/bin/simple-phpunit:242 { …}
    ./bin/phpunit:18 { …}
  }
</code></pre></div>
<p dir="auto">Hi,</p>
<p dir="auto">I am using the Email constraint (Symfony\Component\Validator\Constraints\Email) as part of validating e-mail addresses. Now we had the case of an e-mail address containing a dot right before the @ sign such as:</p>
<p dir="auto"><a href="mailto:mr.@domain.tld">mr.@domain.tld</a></p>
<p dir="auto">This is a totally valid e-mail address and as such the Email constraint should accept it and not refuse it as it does right now (tested with Symfony 2.3.3).</p>
<p dir="auto">Let me know if you need more details.</p>
<p dir="auto">Cheers!</p>