Python plugin fails with debugpy 1.8.16 - timeout during adapter connection
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 42/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- python
- 領域
- testing-qa
調査の方向性
The reported failure points to the Python plugin’s start.py, where debugpy.listen() is called, and compares debugpy 1.8.16 with 1.8.15. Read that call and check the plugin’s debugpy dependency requirements, then reproduce with both versions using the listed Gauge command. Done means debugging connects successfully with debugpy 1.8.16 or the supported version constraint is clear.
索引モデルが issue の本文から書いたものです。
説明
Python plugin fails with debugpy 1.8.16 - timeout during adapter connection
Environment
- Gauge version: 1.6.21 (Commit Hash: 7d3f2cf)
- Gauge plugins: html-report (4.3.3), json-report (0.5.2), python (0.4.11), screenshot (0.3.2)
- VS Code Gauge extension: v0.2.3
- debugpy version: 1.8.16 (broken), 1.8.15 (works)
- Python version: 3.12.11
- OS: Windows
Description
When running Gauge specs with debugpy 1.8.16, the Python plugin consistently fails with a timeout error during debugpy adapter connection. The plugin's start.py calls debugpy.listen() but the adapter connection times out. Downgrading to debugpy 1.8.15 resolves the issue completely.
This appears to be a compatibility issue between Gauge Python plugin and the latest debugpy version.
Steps to Reproduce
- Install debugpy 1.8.16:
pip install debugpy==1.8.16 - Configure Gauge Python plugin with debugging enabled
- Run any Gauge spec:
gauge run --hide-suggestion --simple-console <spec_file> - Observer timeout error
Expected Behavior
The debugger should connect successfully and allow debugging of test execution, as it does in version 1.8.15.
Actual Behavior
Traceback (most recent call last):
File "<venv>\Lib\site-packages\debugpy\server\api.py", line 235, in listen
sock, _ = endpoints_listener.accept()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<python>\Lib\socket.py", line 295, in accept
fd, addr = self._accept()
^^^^^^^^^^^^^^
TimeoutError: timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\...\AppData\Roaming\gauge\plugins\python\0.4.11\start.py", line 72, in <module>
main()
File "C:\Users\...\AppData\Roaming\gauge\plugins\python\0.4.11\start.py", line 29, in main
start()
File "C:\Users\...\AppData\Roaming\gauge\plugins\python\0.4.11\start.py", line 52, in start
debugpy.listen(('127.0.0.1', int(debug_port)))
File "<venv>\Lib\site-packages\debugpy\public_api.py", line 47, in wrapper
return wrapped(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "<venv>\Lib\site-packages\debugpy\server\api.py", line 133, in debug
log.reraise_exception("{0}() failed:", func.__name__, level="info")
File "<venv>\Lib\site-packages\debugpy\server\api.py", line 131, in debug
return func(address, settrace_kwargs, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<venv>\Lib\site-packages\debugpy\server\api.py", line 249, in listen
raise RuntimeError("timed out waiting for adapter to connect")
RuntimeError: timed out waiting for adapter to connect
Workaround
Downgrade to debugpy 1.8.15:
pip install debugpy==1.8.15
Additional Context
The issue is in the Gauge Python plugin's start.py (line 52) which calls debugpy.listen(('127.0.0.1', int(debug_port))). Something changed in debugpy 1.8.16 that breaks the adapter connection flow.
The timeout occurs even with extended timeout values configured in Gauge Python properties. This suggests the issue is not just timing but a breaking change in debugpy's API or connection handling.
Suggested Fix
- Pin debugpy version to <=1.8.15 in plugin requirements, or
- Update plugin's debugpy integration to work with 1.8.16+, or
- Investigate if debugpy's
listen()API changed and needs different parameters/setup
- 主要言語
- Python
- スター
- 96
- フォーク
- 38
- 平均マージ
- 1時間 9分
- マージ済み PR(30日)
- 3
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
getgauge/gauge-python のほかの issue
-
GAUGE_PYTHON_COMMAND does not support relative paths (e.g. .venv/bin/python)対応中かも @JakubStyczen が 41 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
getgauge/gauge-python#485 ·
-
help wanted
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
getgauge/gauge-python#324 · コメント 4 件 ·
-
help wanted
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
getgauge/gauge-python#265 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
getgauge/gauge-python#245 ·
-
help wanted triage
難易度 1/5 1時間未満 初心者へのやさしさ 35/100
getgauge/gauge-python#123 · コメント 1 件 ·
getgauge/gauge-python の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
scikit-learn-contrib/category_encoders#553 ·
メンテナーはふだん 1 日以内に返信
-
tests/strategies_test.py:174 goes uncovered on about 1 run in 100, failing the coverage ratchetオープンflaky-watch
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
btclib-org/btclib#2839 ·
メンテナーはふだん 1 日以内に返信
-
BarrelList constructor drops false-valued iterable contents対応中かも @Gambit-Checkmate が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 19 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
vllm-project/vllm#63863 ·
メンテナーはふだん 1 日以内に返信