Web Workflow Locks Up
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 12/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Ambito
- embedded-iot, networking
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- C
- Stelle
- 4.6k
- Fork
- 1.4k
- Merge medio
- 1g 1h
- PR unite (30g)
- 161
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di adafruit/circuitpython
-
nordic
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
adafruit/circuitpython#11611 ·
I maintainer di solito rispondono entro 1 giorno
-
zephyr: REPL on console?Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
adafruit/circuitpython#11606 ·
I maintainer di solito rispondono entro 1 giorno
-
busio zephyr
Difficoltà 5/5 Più di una settimana Idoneità per principianti 18/100
adafruit/circuitpython#11605 ·
I maintainer di solito rispondono entro 1 giorno
-
busio zephyr
Difficoltà 4/5 3-5 giorni Idoneità per principianti 28/100
adafruit/circuitpython#11604 ·
I maintainer di solito rispondono entro 1 giorno
-
zephyr: do dynamic bus allocation on CLUE boardsForse già presa @dhalbert l’ha presa 1 giorno fa. Apertabusio zephyr
Difficoltà 4/5 3-5 giorni Idoneità per principianti 22/100
adafruit/circuitpython#11603 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di adafruit/circuitpython
Issue simili
-
backlog bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
EchoTools/nevr-runtime#653 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
InfiniTimeOrg/InfiniTime#2492 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno
-
system: coco
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
FujiNetWIFI/fujinet-config#274 ·
I maintainer di solito rispondono entro 1 giorno
-
base-files: 82_config_generate: regenerate /etc/board.json if 0-bytes / truncated after power cutAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
openwrt/openwrt#25940 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno