GeotrekCE / Geotrek-admin

Paths management for National Parks and Tourism organizations
https://geotrek.fr
BSD 2-Clause "Simplified" License
135 stars 76 forks source link

Pb intermitant : ERROR: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')) #3159

Open amandine-sahl opened 2 years ago

amandine-sahl commented 2 years ago

Lors de la génération des PDFs nous avons parfois une erreur 500. Cette erreur intervient lors de la génération des fiches PDF sur certains contenus mais la génération du pdf pour ces même contenus fonctionne à d'autre moment.


Traceback (most recent call last):
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 436, in _make_request
    httplib_response = conn.getresponse(buffering=True)

During handling of the above exception (getresponse() got an unexpected keyword argument 'buffering'), another exception occurred:
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 445, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
    # Permission is hereby granted, free of charge, to any person obtaining a copy
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 440, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.8/http/client.py", line 1348, in getresponse
    response.begin()
  File "/usr/lib/python3.8/http/client.py", line 316, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.8/http/client.py", line 285, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"

During handling of the above exception (Remote end closed connection without response), another exception occurred:
  File "/opt/geotrek-admin/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/util/retry.py", line 532, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/packages/six.py", line 769, in reraise
    raise value.with_traceback(tb)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 445, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
    # Permission is hereby granted, free of charge, to any person obtaining a copy
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 440, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.8/http/client.py", line 1348, in getresponse
    response.begin()
  File "/usr/lib/python3.8/http/client.py", line 316, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.8/http/client.py", line 285, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"

During handling of the above exception (('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))), another exception occurred:
  File "/opt/geotrek-admin/lib/python3.8/site-packages/mapentity/helpers.py", line 104, in download_to_stream
    source = get_source(url, headers)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/mapentity/helpers.py", line 86, in get_source
    source = requests.get(url, headers=headers)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/requests/adapters.py", line 498, in send
    raise ConnectionError(err, request=request)

During handling of the above exception (('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))), another exception occurred:
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 436, in _make_request
    httplib_response = conn.getresponse(buffering=True)

During handling of the above exception (getresponse() got an unexpected keyword argument 'buffering'), another exception occurred:
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 445, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
    # Permission is hereby granted, free of charge, to any person obtaining a copy
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 440, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.8/http/client.py", line 1348, in getresponse
    response.begin()
  File "/usr/lib/python3.8/http/client.py", line 316, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.8/http/client.py", line 285, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"

During handling of the above exception (Remote end closed connection without response), another exception occurred:
  File "/opt/geotrek-admin/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/util/retry.py", line 532, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/packages/six.py", line 769, in reraise
    raise value.with_traceback(tb)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 445, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
    # Permission is hereby granted, free of charge, to any person obtaining a copy
  File "/opt/geotrek-admin/lib/python3.8/site-packages/urllib3/connectionpool.py", line 440, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.8/http/client.py", line 1348, in getresponse
    response.begin()
  File "/usr/lib/python3.8/http/client.py", line 316, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.8/http/client.py", line 285, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"

During handling of the above exception (('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))), another exception occurred:
  File "/opt/geotrek-admin/lib/python3.8/site-packages/mapentity/helpers.py", line 107, in download_to_stream
    source = get_source(url, headers)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/mapentity/helpers.py", line 86, in get_source
    source = requests.get(url, headers=headers)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/opt/geotrek-admin/lib/python3.8/site-packages/requests/adapters.py", line 498, in send
    raise ConnectionError(err, request=request)

Exception Type: ConnectionError
Exception Value: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
Request data not supplied
babastienne commented 10 months ago

Est-ce que ce problème se produit toujours ?

Ca ressemble à un problème de screamshotter, mais sans logs plus précis difficile de déterminer d'où vient le problème.

Deux pistes :

Ajouter les lignes suivantes (à compléter) dans le fichier d'env :

SCREAMSHOTTER_SENTRY_DSN=URL
SCREAMSHOTTER_SENTRY_ENVIRONMENT=ENV
SCREAMSHOTTER_SENTRY_TRACE_SAMPLE=1