Exception in thread Thread-1 (most likely raised during interpreter shutdown

Offen
#141 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
python
Bereich
networking

Rechercherichtung

Führe das bereitgestellte Python 2-Skript gegen die lokale CherryPy-Site aus und untersuche anschließend socketpool/backend_thread.py und socketpool/pool.py im Umfeld des Shutdown-Tracebacks. Als erledigt gilt die Aufgabe, wenn die Anfrage mit persistenter Sitzung beendet wird, ohne dass während des Herunterfahrens des Interpreters der AttributeError von Thread-1 auftritt und ohne dass ret.should_close = True erforderlich ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Bug

I wrote a simple script, which connect to a local cherrypy website with persistent session.

#!/usr/bin/python
from time import sleep

import restkit
uri = 'http://127.0.0.1:8000/'
method = 'GET'
ret = restkit.request(uri, method=method)
print ret.body_string()
sleep(1)

But some requests ends with unexpected traceback:

python test.py
Exception in thread Thread-1 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
  File "/usr/lib/python2.7/dist-packages/socketpool/backend_thread.py", line 51, in run
  File "/usr/lib/python2.7/dist-packages/socketpool/pool.py", line 88, in murder_connections
  File "/usr/lib/python2.7/dist-packages/socketpool/backend_thread.py", line 30, in __next__
<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'Empty'

If a add "ret.should_close = True" before call to 'body_string', there is no more error.

ubuntu: Ubuntu 14.04.2 LTS
ubuntu package python-restkit: 4.2.2-1
ubuntu package python-socketpool: 0.5.3-1

Regards,

Vorherrschende Sprache
Python
Sterne
402
Forks
69
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus benoitc/restkit

Alle Issues in benoitc/restkit

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.