Web Workflow Locks Up
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 12/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Área
- embedded-iot, networking
Línea de trabajo
The payload points at the device's web workflow HTTP server and at circup's _get_modules_http_dir_mods in backends.py, which is a different project. The reporter's ping trace shows heavy packet loss, so reproducing the lockup needs Wi-Fi and a board, not just reading code. Done would mean a root cause for the board freezing under concurrent HTTP requests, confirmed by the maintainers; the thread has no agreed diagnosis yet.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
CircuitPython version and board name
Adafruit CircuitPython 10.3.1 on 2026-09-14; Adafruit Feather ESP32 V2 with ESP32
Code/REPL
circup --host 172.16.10.10 --password test1234 install adafruit_minimqtt
Found device adafruit_feather_esp32_v2 at http://:[email protected]:80, running CircuitPython 10.3.1.
Using latest bundle for adafruit/Adafruit_CircuitPython_Bundle (20261016).
Using latest bundle for adafruit/CircuitPython_Community_Bundle (20261008).
Searching for dependencies for: ['adafruit_minimqtt']
Traceback (most recent call last):
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/urllib3/response.py", line 929, in _error_catcher
yield
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/urllib3/response.py", line 1459, in read_chunked
self._update_chunk_length()
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/urllib3/response.py", line 1367, in _update_chunk_length
line = self._fp.fp.readline(_MAX_CHUNK_LINE_LENGTH + 1) # type: ignore[union-attr]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/socket.py", line 707, in readinto
return self._sock.recv_into(b)
^^^^^^^^^^^^^^^^^^^^^^^
TimeoutError: timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/requests/models.py", line 937, in generate
yield from self.raw.stream(chunk_size, decode_content=True)
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/urllib3/response.py", line 1284, in stream
yield from self.read_chunked(amt, decode_content=decode_content)
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/urllib3/response.py", line 1436, in read_chunked
with self._error_catcher():
File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/urllib3/response.py", line 934, in _error_catcher
raise ReadTimeoutError(self._pool, None, "Read timed out.") from e # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.ReadTimeoutError: HTTPConnectionPool(host='172.16.10.10', port=80): Read timed out.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/chris/dev/worldclock/vbuild/bin/circup", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/click/core.py", line 1631, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/click/core.py", line 1552, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/click/core.py", line 2032, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/click/core.py", line 1415, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/click/core.py", line 910, in invoke
return callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/click/decorators.py", line 34, in new_func
return f(get_current_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/circup/commands.py", line 444, in install
device_modules = ctx.obj["backend"].get_device_versions()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/circup/backends.py", line 768, in get_device_versions
return self.get_modules(urljoin(self.device_location, self.LIB_DIR_PATH))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/circup/backends.py", line 64, in get_modules
return self._get_modules(device_url)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/circup/backends.py", line 448, in _get_modules
return self._get_modules_http(device_lib_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/circup/backends.py", line 479, in _get_modules_http
self._get_modules_http_dir_mods(auth, directory_mods, result, url)
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/circup/backends.py", line 500, in _get_modules_http_dir_mods
with self.session.get(
^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/requests/sessions.py", line 671, in get
return self.request("GET", url, params=params, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/requests/sessions.py", line 651, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/requests/sessions.py", line 827, in send
r.content
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/requests/models.py", line 1042, in content
self._content = b"".join(self.iter_content(CONTENT_CHUNK_SIZE)) or b""
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/chris/dev/worldclock/vbuild/lib/python3.12/site-packages/requests/models.py", line 943, in generate
raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='172.16.10.10', port=80): Read timed out.
Behavior
Board locks up and becomes unresponsive while trying to upload files with either circup or the web page. I test with circup because it actually gives a clear timeout error.
At times the serial console also locks up and requires a soft reset with the button to start up again.
This is also oddly intermittent - I can work successfully with the board for an hour with no issues, and then issues start without any apparent trigger.
Description
No response
Additional information
Ping trace during a circup attempt is below. The first very long response is from when the board boots.
PING 172.16.10.10 (172.16.10.10) 56(84) bytes of data.
64 bytes from 172.16.10.10: icmp_seq=1 ttl=64 time=3004 ms
64 bytes from 172.16.10.10: icmp_seq=13 ttl=64 time=88.9 ms
64 bytes from 172.16.10.10: icmp_seq=14 ttl=64 time=150 ms
64 bytes from 172.16.10.10: icmp_seq=15 ttl=64 time=161 ms
64 bytes from 172.16.10.10: icmp_seq=16 ttl=64 time=41.7 ms
64 bytes from 172.16.10.10: icmp_seq=17 ttl=64 time=74.5 ms
64 bytes from 172.16.10.10: icmp_seq=18 ttl=64 time=101 ms
64 bytes from 172.16.10.10: icmp_seq=19 ttl=64 time=152 ms
64 bytes from 172.16.10.10: icmp_seq=20 ttl=64 time=129 ms
64 bytes from 172.16.10.10: icmp_seq=21 ttl=64 time=48.2 ms
64 bytes from 172.16.10.10: icmp_seq=22 ttl=64 time=13.8 ms
64 bytes from 172.16.10.10: icmp_seq=23 ttl=64 time=140 ms
64 bytes from 172.16.10.10: icmp_seq=24 ttl=64 time=287 ms
64 bytes from 172.16.10.10: icmp_seq=25 ttl=64 time=25.7 ms
64 bytes from 172.16.10.10: icmp_seq=26 ttl=64 time=586 ms
64 bytes from 172.16.10.10: icmp_seq=27 ttl=64 time=80.7 ms
64 bytes from 172.16.10.10: icmp_seq=28 ttl=64 time=151 ms
64 bytes from 172.16.10.10: icmp_seq=29 ttl=64 time=327 ms
64 bytes from 172.16.10.10: icmp_seq=30 ttl=64 time=93.2 ms
64 bytes from 172.16.10.10: icmp_seq=31 ttl=64 time=446 ms
64 bytes from 172.16.10.10: icmp_seq=32 ttl=64 time=148 ms
64 bytes from 172.16.10.10: icmp_seq=33 ttl=64 time=160 ms
64 bytes from 172.16.10.10: icmp_seq=35 ttl=64 time=350 ms
64 bytes from 172.16.10.10: icmp_seq=37 ttl=64 time=140 ms
64 bytes from 172.16.10.10: icmp_seq=41 ttl=64 time=238 ms
64 bytes from 172.16.10.10: icmp_seq=44 ttl=64 time=128 ms
64 bytes from 172.16.10.10: icmp_seq=45 ttl=64 time=147 ms
64 bytes from 172.16.10.10: icmp_seq=46 ttl=64 time=56.5 ms
64 bytes from 172.16.10.10: icmp_seq=60 ttl=64 time=188 ms
64 bytes from 172.16.10.10: icmp_seq=61 ttl=64 time=544 ms
64 bytes from 172.16.10.10: icmp_seq=63 ttl=64 time=228 ms
64 bytes from 172.16.10.10: icmp_seq=87 ttl=64 time=297 ms
^C
--- 172.16.10.10 ping statistics ---
100 packets transmitted, 32 received, 68% packet loss, time 100819ms
rtt min/avg/max/mdev = 13.846/272.676/3003.634/509.513 ms, pipe 3
- Lenguaje dominante
- C
- Estrellas
- 4.6k
- Forks
- 1.4k
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 161
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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de adafruit/circuitpython
-
nordic
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
adafruit/circuitpython#11611 ·
Los mantenedores suelen responder en 1 día
-
zephyr: REPL on console?Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
adafruit/circuitpython#11606 ·
Los mantenedores suelen responder en 1 día
-
busio zephyr
Dificultad 5/5 Más de una semana Aptitud para principiantes 18/100
adafruit/circuitpython#11605 ·
Los mantenedores suelen responder en 1 día
-
busio zephyr
Dificultad 4/5 3-5 días Aptitud para principiantes 28/100
adafruit/circuitpython#11604 ·
Los mantenedores suelen responder en 1 día
-
zephyr: do dynamic bus allocation on CLUE boardsPosiblemente ocupada @dhalbert la tomó hace 2 días. Abiertobusio zephyr
Dificultad 4/5 3-5 días Aptitud para principiantes 22/100
adafruit/circuitpython#11603 ·
Los mantenedores suelen responder en 1 día
Todos los issues de adafruit/circuitpython
Issues similares
-
tech-debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
antoxa2584x/nfsu2-sw#44 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
git: need better push commandAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
codepointerapp/codepointer#231 ·