lyft / lyft/python-blessclient
Cannot refresh public IP randomly
オープン
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 117
- フォーク
- 31
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
On occasion, on the first cold run:
DEBUG:root:Cache get disabled
DEBUG:root:Cache get disabled
DEBUG:root:Getting current public IP DEBUG:root:Could not refresh public IP from http://api.ipify.org Traceback (most recent call last): File "/home/marc/.blessclient/blessclient/user_ip.py", line 53, in _fetchIP
with contextlib.closing(urlopen(url, timeout=2)) as f: File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/urllib2.py", line 154, in urlopen return opener.open(url, data, timeout) File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/urllib2.py", line 429, in open response = self._open(req, data) File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/urllib2.py", line 447, in _open
'_open', req) File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args)
File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/urllib2.py", line 1228, in http_open return self.do_open(httplib.HTTPConnection, req) File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/urllib2.py", line 1201, in do_open r = h.getresponse(buffering=True) File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/httplib.py", line 1136, in getresponse response.begin() File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/httplib.py", line 453, in begin version, status, reason = self._read_status() File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/httplib.py", line 409, in _read_status
line = self.fp.readline(_MAXLINE + 1)
File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/socket.py", line 480, in readline data = self._sock.recv(self._rbufsize) timeout: timed out
DEBUG:root:Could not refresh public IP from http://canihazip.com
Traceback (most recent call last):
File "/home/marc/.blessclient/blessclient/user_ip.py", line 53, in _fetchIP
with contextlib.closing(urlopen(url, timeout=2)) as f: File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/urllib2.py", line 154, in urlopen return opener.open(url, data, timeout) File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/urllib2.py", line 429, in open
response = self._open(req, data) File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/urllib2.py", line 447, in _open '_open', req) File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/urllib2.py", line 407, in _call_chain result = func(*args) File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/urllib2.py", line 1228, in http_open
return self.do_open(httplib.HTTPConnection, req) File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/urllib2.py", line 1201, in do_open r = h.getresponse(buffering=True)
File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/httplib.py", line 1136, in getresponse response.begin() File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/httplib.py", line 453, in begin version, status, reason = self._read_status() File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/httplib.py", line 409, in _read_status line = self.fp.readline(_MAXLINE + 1)
File "/home/marc/.pyenv/versions/2.7.12/lib/python2.7/socket.py", line 480, in readline
data = self._sock.recv(self._rbufsize)
timeout: timed out
Traceback (most recent call last):
File "/home/marc/.blessclient/blessclient.run", line 11, in <module>
load_entry_point('blessclient', 'console_scripts', 'blessclient')()
File "/home/marc/.blessclient/blessclient/client.py", line 643, in main
bless(region, args.nocache, args.gui, args.host, bless_config)
File "/home/marc/.blessclient/blessclient/client.py", line 547, in bless
my_ip = userIP.getIP()
File "/home/marc/.blessclient/blessclient/user_ip.py", line 29, in getIP
self._refreshIP()
File "/home/marc/.blessclient/blessclient/user_ip.py", line 43, in _refreshIP
raise Exception('Could not refresh public IP')
Exception: Could not refresh public IP
Immediately re-running this works.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
blessclient/user_ip.py、特に getIP、_refreshIP、_fetchIP から始め、次に blessclient/client.py からの呼び出しを追跡します。記載されている 2 つの public-IP エンドポイントを使って cold-run のタイムアウトを再現し、初回実行が "Could not refresh public IP" を発生させずに完了することを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- networking
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100