web-dev-qa-db-fra.com

Python Django Errno 54 'Réinitialisation de la connexion par l'homologue')

Ayant du mal à déboguer cela. J'obtiens toujours cette erreur lorsque je démarre mon application pour la première fois, puis par intermittence par la suite. Quelqu'un pourrait-il m'aider s'il vous plaît en jetant quelques techniques de débogage? J'ai essayé d'utiliser un inspecteur de proxy - en vain, je n'ai rien vu d'utile. J'ai essayé les suggestions de définition de mon SITE_URL dans mes paramètres Django. J'ai essayé avec et sans http: // avec et sans le port ... Voici l'erreur inutile:

Exception happened during processing of request from ('127.0.0.1', 57917)
Traceback (most recent call last):
  File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socketserver.py", line 650, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socketserver.py", line 360, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socketserver.py", line 720, in __init__
    self.handle()
  File "/Users/ryan/.local/share/virtualenvs/portal-2PUjdB8V/lib/python3.7/site-packages/Django/core/servers/basehttp.py", line 171, in handle
    self.handle_one_request()
  File "/Users/ryan/.local/share/virtualenvs/portal-2PUjdB8V/lib/python3.7/site-packages/Django/core/servers/basehttp.py", line 179, in handle_one_request
    self.raw_requestline = self.rfile.readline(65537)
  File "/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

L'application semble fonctionner correctement même avec cette réinitialisation de la connexion, mais cela me rend fou d'essayer de déboguer.

11
archae0pteryx

FFS ... tellement stupide. J'ai remarqué qu'il se réinitialisait toujours après ne pas avoir trouvé de favicon, alors j'en ai ajouté un ... Même si je n'en ai jamais explicitement chargé un, Django semble essayer de charger un par défaut à partir de la racine du projet ... Cela ne se produit pas non plus pour les autres développeurs travaillant sur le projet. bizarre. (Pour être complet) Si quelqu'un d'autre tombe dessus, j'ai utilisé favicon io pour faire un texte simple Ensuite, je l'ai chargé dans mon html comme ceci:

{% load static %}
<!DOCTYPE html>
<html lang="en">

<head>
  <link rel="shortcut icon" href="{% static 'images/favicon.ico' %}" />
...

Veillez à définir correctement votre chemin statique dans les paramètres.

8
archae0pteryx

Le même comportement est observé si le favicon est au format .png par opposition au .ico.

De plus, contrairement aux conseils vus sur d'autres sites, rétrograder Python vers v3.6 ne résout pas le problème. capture d'écran de l'erreur avec favicon png

Semble être un problème Django, il sera probablement corrigé de façon permanente dans une future version Django.

Suivant https://bugs.python.org/issue27682#msg348302 J'ai apporté les modifications indiquées: code changes

J'ai ensuite remplacé BrokenPipeError par ConnectionAbortedError. Cela semble gérer l'exception.

7
Chris