Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

livereload in docker container not working

Abierto
#174 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
docker, python
Área
backend, devops

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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!

Lenguaje dominante
Python
Estrellas
1.1k
Forks
148
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de lepture/python-livereload

Todos los issues de lepture/python-livereload

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.