Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

livereload in docker container not working

Aperta
#174 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
docker, python
Ambito
backend, devops

Direzione di ricerca

Start by reproducing the documented livereload --host 0.0.0.0 -p 8000 docs/_build/html/ command inside Docker with the reported Tornado versions. Review the Tornado traceback and websocket headers, then compare behavior across Tornado versions. Done means the container serves the Sphinx page and live reload without the HTTPOutputError.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Hello,

I have a livereload running in a docker container hosting some sphinx documentation that I built. I am trying to use it to to navigate the docs while I edit them outside of the container. I attempt to start livereload like so

 livereload --host 0.0.0.0 -p 8000 docs/_build/html/

From inside the container, and that works fine. However, when I surf to the page to view the docs, I get the following error.

[I 180703 22:16:15 server:292] Serving on http://0.0.0.0:8000
[I 180703 22:16:15 handlers:59] Start watching changes
[I 180703 22:16:15 handlers:61] Start detecting changes
[E 180703 22:16:17 web:1621] Uncaught exception GET /userguide/about-as3.html (172.17.0.1)
    HTTPServerRequest(protocol='http', host='localhost:8000', method='GET', uri='/userguide/about-as3.html', version='HTTP/1.1', remote_ip='172.17.0.1')
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/tornado/web.py", line 1543, in _execute
        result = yield result
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 1099, in run
        value = future.result()
      File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 260, in result
        raise_exc_info(self._exc_info)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 315, in wrapper
        yielded = next(result)
      File "/usr/local/lib/python2.7/dist-packages/tornado/web.py", line 2472, in get
        yield self.flush()
      File "/usr/local/lib/python2.7/dist-packages/tornado/web.py", line 973, in flush
        start_line, self._headers, chunk, callback=callback)
      File "/usr/local/lib/python2.7/dist-packages/tornado/http1connection.py", line 403, in write_headers
        data += self._format_chunk(chunk)
      File "/usr/local/lib/python2.7/dist-packages/tornado/http1connection.py", line 415, in _format_chunk
        "Tried to write more data than Content-Length")
    HTTPOutputError: Tried to write more data than Content-Length
[E 180703 22:16:17 web:1042] Cannot send error response after headers written

It appears the -148 bytes are being detected by tornado...for reasons unknown...but the headers are the following

 0.0s write_headers: k='Connection', v='Upgrade'
 0.0s write_headers: k='Date', v='Tue, 03 Jul 2018 21:53:40 GMT'
 0.0s write_headers: k='Sec-Websocket-Accept', v='rhbSxvq2M8ltJL2dQgWpQ+zNv2o='
 0.0s write_headers: k='Server', v='TornadoServer/5.0.2'
 0.0s write_headers: k='Upgrade', v='websocket'

If I downgrade tornado to any version < 4, the error goes away.

I'm scratching my head as to what the problem might be though, because I see release notes for livereload that say its fixing stuff in tornado 4.5+

Any ideas?

Thanks!

Lingua principale
Python
Stelle
1.1k
Fork
148
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di lepture/python-livereload

Tutte le issue di lepture/python-livereload

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.