180 lines
5.1 KiB
Markdown
180 lines
5.1 KiB
Markdown
# Errors
|
|
|
|
This documention gives solutions for some errors occuring in the project.
|
|
|
|
## 1. Makefile
|
|
|
|
### Error 1.1
|
|
|
|
plateforme-ebs$ docker compose exec php ./vendor/bin/php-cs-fixer fix --allow-risky=yes
|
|
OCI runtime exec failed: exec failed: unable to start container process: exec: "./vendor/bin/php-cs-fixer": permission denied: unknown
|
|
|
|
### Solution 1.1
|
|
|
|
Verify that the executables in `vendor/bin`have the executblale right:
|
|
|
|
cd /srv/app/vendor/bin; chmod +x *
|
|
|
|
|
|
## 2. PHPStan
|
|
|
|
### Error 2.1
|
|
|
|
tests/Integration/Translator/NotranslatorTest.php
|
|
---------------------------------------------------------------------------
|
|
Service "App\Translator\NoTranslator" is not registered in the container.
|
|
---------------------------------------------------------------------------
|
|
|
|
### Solution 2.1
|
|
|
|
To resolve this error, run:
|
|
|
|
make stan-cc
|
|
|
|
|
|
## 3. PHPUnit
|
|
|
|
### Error 3.1
|
|
|
|
..........................................make: *** [Makefile:159: test] Error 137
|
|
|
|
### Solution 3.1
|
|
|
|
Check if there is no `dump()` in a loop.
|
|
|
|
### Error 3.2
|
|
|
|
..................make: *** [test] Error 139
|
|
|
|
### Solution 3.2
|
|
|
|
It seems to be a temporary Docker error. Run again the tests. Try the debug mode
|
|
`make test-debug` if the error is still there to find the faulty tests.
|
|
|
|
|
|
### Error 3.3
|
|
|
|
```
|
|
1) App\Tests\Functional\Controller\User\ServiceRequest\ServiceRequestStatusWorkflowControllerRefuseTest::testTransitionRefuseSuccess
|
|
|
|
LogicException: The selected node does not have a form ancestor.
|
|
|
|
/srv/app/vendor/symfony/dom-crawler/Form.php:372
|
|
/srv/app/vendor/symfony/dom-crawler/AbstractUriElement.php:45
|
|
/srv/app/vendor/symfony/dom-crawler/Form.php:38
|
|
/srv/app/vendor/symfony/dom-crawler/Crawler.php:838
|
|
/srv/app/tests/Functional/Controller/User/ServiceRequest/ServiceRequestStatusWorkflowControllerRefuseTest.php:35
|
|
```
|
|
|
|
It's because we have the same traduction in two places.
|
|
|
|
```
|
|
<div class="d-grid col mt-2">
|
|
<button type="button" class="btn btn-danger"
|
|
data-bs-toggle="modal"
|
|
data-bs-target="#refuseModal">
|
|
<i class="bi bi-x"></i>
|
|
{{ (i18n_prefix ~ '.link.refuse')|trans }} <== HERE
|
|
</button>
|
|
</div>
|
|
|
|
|
|
<button type="submit"
|
|
class="btn btn-danger">
|
|
{{ (i18n_prefix ~ '.link.refuse')|trans }} <== AND HERE
|
|
</button>
|
|
```
|
|
|
|
### Solution 3.2
|
|
|
|
```
|
|
<div class="d-grid col mt-2">
|
|
<button type="button" class="btn btn-danger"
|
|
data-bs-toggle="modal"
|
|
data-bs-target="#refuseModal">
|
|
<i class="bi bi-x"></i>
|
|
{{ (i18n_prefix ~ '.link.refuse_modal')|trans }} <== CHANGE FIRST KEY TRADE
|
|
</button>
|
|
</div>
|
|
```
|
|
|
|
Change the traduction key for the first button
|
|
|
|
|
|
## 4. Geocoding/Nominatim
|
|
|
|
### Error 4.1
|
|
|
|
Error for all the geocoding tests (poc or modify my address):
|
|
|
|
ErrorException: Handling "App\Message\Query\Admin\User\UserAddressQuery" failed: Serialization of 'Closure' is not allowed
|
|
in /srv/app/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:129
|
|
|
|
It is because the Nominatim service is down (error 502, bad gateway).
|
|
Disable the cache in `config/packages/bazinga_geocoder.yaml` to see the real error:
|
|
|
|
The geocoder server returned an invalid response (502) for query "https://nominatim.openstreetmap.org/search?format=jsonv2&q=Timipi%2C%20Fives%2C%20france&addressdetails=1&extratags=1&limit=3&accept-language=fr".
|
|
We could not parse it.
|
|
|
|
https://nominatim.openstreetmap.org/search?format=jsonv2&q=Timipi%2C%20Fives%2C%20france&addressdetails=1&extratags=1&limit=3&accept-language=fr"
|
|
|
|
502 Bad Gateway
|
|
nginx
|
|
|
|
### Solution 4.1
|
|
|
|
Wait.
|
|
|
|
It would be nice if the bundle could hande this error correclty and at least return
|
|
an empty results array if there is such an error.
|
|
As it is made now, we can't catch this error, which is quite problematic.
|
|
Create a new issue on the bundle to see what can be done.
|
|
|
|
### Todo for 4.1
|
|
|
|
Use mocks for the test env.
|
|
|
|
|
|
## 5. Docker
|
|
|
|
### Error 5.1
|
|
|
|
When running a command with make like `make cs` we have he error:
|
|
|
|
OCI runtime exec failed: exec failed: unable to start container process: read init-p: connection reset by peer: unknown
|
|
|
|
### Solution 5.1
|
|
|
|
Restart Docker.
|
|
|
|
|
|
## 6. Symfony
|
|
|
|
### Error 6.1
|
|
|
|
When trying to access a controller we just created:
|
|
|
|
Could not resolve argument $productId of "App\Controller\User\Product\DeleteProductAction::__invoke()", maybe you forgot to register the controller as a service or missed tagging it with the "controller.service_arguments"?
|
|
|
|
### Solution 6.1
|
|
|
|
There is a mismatch between the arguments of the controller action and the route
|
|
requirements, fix them (eg: `productId` instead of `id`.
|
|
|
|
|
|
|
|
## 7. Meilisearch
|
|
|
|
### Error 7.1
|
|
|
|
When indexing a document:
|
|
|
|
The primary key inference failed as the engine found 2 fields ending with `id` in their names: 'id' and 'ownerId'.
|
|
Please specify the primary key manually using the `primaryKey` query parameter?
|
|
|
|
### Solution 6.1
|
|
|
|
The primary key must specified to avoid confusion. It can be set using the second
|
|
argument of the `addDocument()` functions.
|
|
|
|
$this->getIndex()->addDocuments([$this->normalizeProduct($product)], self::PRIMARY_KEY);
|