Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Web Workflow Locks Up

オープン
#11,616 コメント 9 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
12/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
活発
技術スタック
c, python

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

bug esp32 web workflow
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

主要言語
C
スター
4.6k
フォーク
1.4k
平均マージ
1日 1時間
マージ済み PR(30日)
161

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

adafruit/circuitpython のほかの issue

adafruit/circuitpython の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。