Page MenuHomePhabricator

[electrum] don't raise RuntimeError for system thread limitations
ClosedPublic

Authored by PiRK on Oct 24 2023, 09:50.

Details

Summary

This addresses https://github.com/Bitcoin-ABC/bitcoin-abc/issues/533

threading.Thread.start() can raise a RuntimeError if a system limit on how many threads can run is reached. Don't alarm the user with an Error dialog in such a case, just ignore it silently and hope it works next time.
In verbose mode a message is logged about the aborted request.

Test Plan
$ ./electrum-abc --test-release-notification -v
|  7.785| |07| [_Req@21536] Requesting from /home/pierre/dev/bitcoin-abc/electrum/electrumabc_gui/qt/../../contrib/update_checker/releases.json ...
[_Req@21536] {'5.2.8': {'ecash:qz5j83ez703wvlwpqh94j6t45f8dn2afjgtgurgua0': 'H81ib52w4RttgGJu7lJACX00fkMz/FqZhCegcU5kp8ouaZ/2pSJurIgAxRsrd8EojjYKs4TTTLrIgn/guyYgdew='}}
|  7.797| |00| [UpdateChecker] Downloading progress 10% from https://raw.githubusercontent.com/Bitcoin-ABC/bitcoin-abc/master/electrum/contrib/update_checker/releases.json
|  7.811| |00| [UpdateChecker] Downloading progress 100% from https://raw.githubusercontent.com/Bitcoin-ABC/bitcoin-abc/master/electrum/contrib/update_checker/releases.json
|  7.819| |00| [UpdateChecker] Got new version 5.2.8
|  7.820| |00| [UpdateChecker] Active _Req@21536 finished

With a raise RuntimeError() added to the try: scope before start()

$ ./electrum-abc --test-release-notification -v
|  9.933| |00| [UpdateChecker] Aborted _Req@50944 finished

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable