RESOLVED FIXED284133
[AutoInstall] retry logic doesn't actually throw on eventual failure
https://bugs.webkit.org/show_bug.cgi?id=284133
Summary [AutoInstall] retry logic doesn't actually throw on eventual failure
Sam Sneddon [:gsnedders]
Reported 2024-12-05 14:20:56 PST
https://ews-build.webkit.org/#/builders/28/builds/79120 hit: ``` python3 Tools/Scripts/libraries/resultsdbpy/resultsdbpy/run-tests --verbose --no-selenium --fast-tests in dir /Volumes/Data/worker/Services-EWS/build (timeout 900 secs) watching logfiles {} argv: [b'python3', b'Tools/Scripts/libraries/resultsdbpy/resultsdbpy/run-tests', b'--verbose', b'--no-selenium', b'--fast-tests'] using PTY: False Downloading Twisted-21.2.0... <urlopen error timed out> Failed to download Twisted, retrying <urlopen error [Errno 8] nodename nor servname provided, or not known> Failed to download Twisted, retrying Failed to install Twisted-21.2.0! Traceback (most recent call last): File "/Volumes/Data/worker/Services-EWS/build/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/run-tests", line 42, in <module> from cassandra.cqlengine.management import CQLENG_ALLOW_SCHEMA_MANAGEMENT File "/Volumes/Data/worker/Services-EWS/build/Tools/Scripts/libraries/autoinstalled/python-3-arm64/cassandra/cqlengine/management.py", line 25, in <module> from cassandra.cqlengine import columns, query File "/Volumes/Data/worker/Services-EWS/build/Tools/Scripts/libraries/autoinstalled/python-3-arm64/cassandra/cqlengine/query.py", line 24, in <module> from cassandra.cqlengine import connection as conn File "/Volumes/Data/worker/Services-EWS/build/Tools/Scripts/libraries/autoinstalled/python-3-arm64/cassandra/cqlengine/connection.py", line 20, in <module> from cassandra.cluster import Cluster, _ConfigMode, _NOT_SET, NoHostAvailable, UserTypeDoesNotExist, ConsistencyLevel File "cassandra/cluster.py", line 96, in init cassandra.cluster File "/Volumes/Data/worker/Services-EWS/build/Tools/Scripts/libraries/autoinstalled/python-3-arm64/cassandra/io/twistedreactor.py", line 25, in <module> from twisted.internet import reactor, protocol File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 982, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 925, in _find_spec File "/Volumes/Data/worker/Services-EWS/build/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py", line 703, in find_spec loader = cls.find_module(fullname, path=path) File "/Volumes/Data/worker/Services-EWS/build/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py", line 717, in find_module cls.install(name) File "/Volumes/Data/worker/Services-EWS/build/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py", line 690, in install return all([to_install.install() for to_install in packages]) File "/Volumes/Data/worker/Services-EWS/build/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py", line 690, in <listcomp> return all([to_install.install() for to_install in packages]) File "/Volumes/Data/worker/Services-EWS/build/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py", line 337, in install archive.unpack(temp_location) File "/Volumes/Data/worker/Services-EWS/build/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py", line 131, in unpack raise IOError('Failed to find archive at {}'.format(self.path)) OSError: Failed to find archive at /Volumes/Data/worker/Services-EWS/build/Tools/Scripts/libraries/autoinstalled/python-3-arm64/Twisted-21.2.whl program finished with exit code 1 elapsedTime=60.587699 ``` While this was during a time while lab network access was flaky, I don't see a way in which we can end up with the distribution package download succeeding (i.e., not raising), but the file not existing. Unless we've messed up our logic with our… while count <= (AutoInstall.times_to_retry or 0): ... if count > (AutoInstall.times_to_retry or 0): raise Which we probably have, I think. Because I think that conditional is dead, as it'll always be <= due to the guard on the while loop. This goes back to when we first landed https://commits.webkit.org/238934@main. This is at least one part of the AutoInstaller we could even write tests for…
Attachments
Sam Sneddon [:gsnedders]
Comment 1 2024-12-05 15:08:25 PST
Radar WebKit Bug Importer
Comment 2 2024-12-05 15:17:19 PST
EWS
Comment 3 2024-12-06 15:32:57 PST
Committed 287456@main (e5e3a6a6bf14): <https://commits.webkit.org/287456@main> Reviewed commits have been landed. Closing PR #37507 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.