Bug 291389
| Summary: | Tools/Scripts/bisect-builds broken because host fails to resolve | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | victor.vianna10 |
| Component: | Tools / Tests | Assignee: | lingho <lingho> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | ap, cklim4101, deleted_user, lingho, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
victor.vianna10
Invoking the script gives the error below, which suggests DNS is not resolving correctly the endpoint q1tzqfy48e.execute-api.us-west-2.amazonaws.com
I noticed https://github.com/WebKit/WebKit/commit/d1cec7e0e0bf0db39054a72f762cefe5f2f7c04a, which replaced that endpoint with https://archives-list.webkit.org/ in a different script. I tried to use the same replacement but that causes bisect-builds to hang
```
victorvianna@mac:~/repos/WebKit$ ./Tools/Scripts/bisect-builds
Traceback (most recent call last):
File "/Users/victorvianna/repos/WebKit/Tools/Scripts/webkitpy/common/memoized.py", line 42, in __call__
return self._results_cache[args]
~~~~~~~~~~~~~~~~~~~^^^^^^
KeyError: ()
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/urllib/request.py", line 1348, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/http/client.py", line 1303, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/http/client.py", line 1349, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/http/client.py", line 1298, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/http/client.py", line 1058, in _send_output
self.send(msg)
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/http/client.py", line 996, in send
self.connect()
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/http/client.py", line 1468, in connect
super().connect()
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/http/client.py", line 962, in connect
self.sock = self._create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/socket.py", line 839, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/socket.py", line 974, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/victorvianna/repos/WebKit/./Tools/Scripts/bisect-builds", line 403, in <module>
main()
File "/Users/victorvianna/repos/WebKit/./Tools/Scripts/bisect-builds", line 372, in main
validate_options(options)
File "/Users/victorvianna/repos/WebKit/./Tools/Scripts/bisect-builds", line 330, in validate_options
options.queue = queue_for(options) # Resolve and cache for future use.
^^^^^^^^^^^^^^^^^^
File "/Users/victorvianna/repos/WebKit/./Tools/Scripts/bisect-builds", line 294, in queue_for
platform_list = minified_platforms()
^^^^^^^^^^^^^^^^^^^^
File "/Users/victorvianna/repos/WebKit/Tools/Scripts/webkitpy/common/memoized.py", line 45, in __call__
result = self._function(*args)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/victorvianna/repos/WebKit/./Tools/Scripts/bisect-builds", line 282, in minified_platforms
return get_platforms(REST_API_MINIFIED_PLATFORM_ENDPOINT)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/victorvianna/repos/WebKit/./Tools/Scripts/bisect-builds", line 271, in get_platforms
r = urllib.request.urlopen(platform_url)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/urllib/request.py", line 216, in urlopen
return opener.open(url, data, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/urllib/request.py", line 519, in open
response = self._open(req, data)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/urllib/request.py", line 536, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/urllib/request.py", line 496, in _call_chain
result = func(*args)
^^^^^^^^^^^
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/urllib/request.py", line 1391, in https_open
return self.do_open(http.client.HTTPSConnection, req,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/victorvianna/.pyenv/versions/3.11.10/lib/python3.11/urllib/request.py", line 1351, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 8] nodename nor servname provided, or not known>
```
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
victor.vianna10
When replacing with https://archives-list.webkit.org/, this is where the code hangs
https://github.com/WebKit/WebKit/blob/f2e3089da97d00f0a335f8b5c84e8ac65251c8e4/Tools/Scripts/bisect-builds#L271
Alexey Proskuryakov
Thank you for the report! We'll look into making this script work again.
Radar WebKit Bug Importer
<rdar://problem/149025878>
Deleted User
Getting a different error with Ubuntu 24.04:
```
mirko@wkdev:/host/home/mirko/work/code/WebKit$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.2 LTS
Release: 24.04
Codename: noble
mirko@wkdev:/host/home/mirko/work/code/WebKit$ Tools/Scripts/bisect-builds
Traceback (most recent call last):
File "/host/home/mirko/work/code/WebKit/Tools/Scripts/bisect-builds", line 403, in <module>
main()
File "/host/home/mirko/work/code/WebKit/Tools/Scripts/bisect-builds", line 366, in main
options = parse_args(sys.argv[1:])
^^^^^^^^^^^^^^^^^^^^^^^^
File "/host/home/mirko/work/code/WebKit/Tools/Scripts/bisect-builds", line 222, in parse_args
parser.add_argument('-p', '--platform', default=host_platform_name(), help='the platform to query, e.g. mac-ventura, gtk, ios-simulator-14, win, default is current host platform.')
^^^^^^^^^^^^^^^^^^^^
File "/host/home/mirko/work/code/WebKit/Tools/Scripts/bisect-builds", line 211, in host_platform_name
version_name = VersionNameMap.strip_name_formatting(platform.os_version_name())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/host/home/mirko/work/code/WebKit/Tools/Scripts/webkitpy/common/version_name_map.py", line 122, in strip_name_formatting
if ' ' in name:
^^^^^^^^^^^
TypeError: argument of type 'NoneType' is not iterable
mirko@wkdev:/host/home/mirko/work/code/WebKit$
```
lingho@apple.com
Pull request: https://github.com/WebKit/WebKit/pull/45192
EWS
Committed 295006@main (90505809a9bc): <https://commits.webkit.org/295006@main>
Reviewed commits have been landed. Closing PR #45192 and removing active labels.