Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RuntimeError: can't start new thread #533

Open
lechangxu opened this issue Oct 24, 2023 · 0 comments
Open

RuntimeError: can't start new thread #533

lechangxu opened this issue Oct 24, 2023 · 0 comments

Comments

@lechangxu
Copy link

Description

Traceback

Traceback (most recent call last):
  File "electrumabc_gui\qt\__init__.py", line 848, in on_auto_update_timeout
  File "electrumabc_gui\qt\update_checker.py", line 346, in do_check
  File "electrumabc_gui\qt\update_checker.py", line 413, in __init__
  File "threading.py", line 899, in start
RuntimeError: can't start new thread

System information

  • Electrum ABC version: 5.2.8
  • Python version: 3.9.13 (tags/v3.9.13:6de2ca5, May 17 2022, 16:24:45) [MSC v.1929 32 bit (Intel)]
  • Operating system: Windows-2012ServerR2-6.3.9600-SP0
  • Wallet type: standard
  • Locale: zh_CN
Fabcien pushed a commit that referenced this issue Oct 26, 2023
Summary:
This addresses #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
```

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Differential Revision: https://reviews.bitcoinabc.org/D14674
Fabcien pushed a commit to Bitcoin-ABC/ElectrumABC that referenced this issue Oct 26, 2023
Summary:
This addresses Bitcoin-ABC/bitcoin-abc#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
```

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Differential Revision: https://reviews.bitcoinabc.org/D14674
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant