dgtlmoon / changedetection.io

The best and simplest free open source web page change detection, website watcher, restock monitor and notification service. Restock Monitor, change detection. Designed for simplicity - Simply monitor which websites had a text change for free. Free Open source web page change detection, Website defacement monitoring, Price change notification
https://changedetection.io
Apache License 2.0
17.3k stars 965 forks source link

RuntimeError: can't start new thread #1993

Closed Ornitier closed 10 months ago

Ornitier commented 11 months ago

Describe the bug Since last update, the container keep restarting.

Version Last one : 0.45.7.3

To Reproduce Do not know, maybe one of the URL is blocking with the last update.

Expected behavior To run 👍

Logs

:docker logs

2023-11-21T10:29:50.073892715Z Process Process-1: 2023-11-21T10:29:50.077509735Z Traceback (most recent call last): 2023-11-21T10:29:50.078594835Z File "/usr/local/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap 2023-11-21T10:29:50.078652003Z self.run() 2023-11-21T10:29:50.078802075Z File "/usr/local/lib/python3.11/multiprocessing/process.py", line 108, in run 2023-11-21T10:29:50.078822216Z self._target(*self._args, **self._kwargs) 2023-11-21T10:29:50.078943151Z File "/app/changedetectionio/changedetection.py", line 96, in main 2023-11-21T10:29:50.078955261Z datastore = store.ChangeDetectionStore(datastore_path=app_config['datastore_path'], version_tag=version) 2023-11-21T10:29:50.078960663Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-11-21T10:29:50.079141172Z File "/app/changedetectionio/store.py", line 139, in init 2023-11-21T10:29:50.079153929Z save_data_thread = threading.Thread(target=self.save_datastore).start() 2023-11-21T10:29:50.079159234Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2023-11-21T10:29:50.079404494Z File "/usr/local/lib/python3.11/threading.py", line 964, in start 2023-11-21T10:29:50.079417311Z _start_new_thread(self._bootstrap, ()) 2023-11-21T10:29:50.079584604Z RuntimeError: can't start new thread

Additional context Some watched URLs: Watching: 1adb4869-6658-4d75-8511-95e5b5b5d9eb https://nginx.org/en/CHANGES Watching: da11b800-a53d-42d0-b23a-44cddaed2dc0 https://solr.apache.org/security.html Watching: d8323d88-f3ab-4a5a-bf29-a3e0909c8254 https://www.synology.com/fr-fr/releaseNote/DSM?model=DS415play Watching: d9f71212-8c6e-42a4-8543-3c0b8ecbad5f https://www.drupal.org/project/search_api_solr

dgtlmoon commented 10 months ago

Quick google says

The "can't start new thread" error almost certainly due to the fact that you have already have too many threads running within your python process, and due to a resource limit of some kind the request to create a new thread is refused.

How many 'fetch workers' do you have set? btw, greetings fellow drupal'er :)