I’ve got multiple scanners deployed with the Greenbone community container.
Since a while I’m experiencing problems (which I think are related, and) which cause scans to fail.
The ospd-openvas
(version 22.6.1
) container reports these errors:
Traceback (most recent call last):
Exception occurred during processing of request from
----------------------------------------
RuntimeError: can't start new thread
_start_new_thread(self._bootstrap, ())
File "/usr/lib/python3.11/threading.py", line 957, in start
t.start()
File "/usr/lib/python3.11/socketserver.py", line 705, in process_request
self.process_request(request, client_address)
File "/usr/lib/python3.11/socketserver.py", line 317, in _handle_request_noblock
and
Exception in thread Thread-2 (accepter):
Traceback (most recent call last):
File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
self.run()
File "/usr/lib/python3.11/threading.py", line 975, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3.11/multiprocessing/managers.py", line 194, in accepter
t.start()
File "/usr/lib/python3.11/threading.py", line 957, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
File "/usr/lib/python3.11/multiprocessing/managers.py", line 814, in _callmethod
conn = self._tls.connection
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ForkAwareLocal' object has no attribute 'connection'
During handling of the above exception, another exception occurred:
-
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/ospd/ospd.py", line 546, in handle_client_stream
self.handle_command(data, stream)
File "/usr/local/lib/python3.11/dist-packages/ospd/ospd.py", line 1065, in handle_command
response = command.handle_xml(tree)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/ospd/command/command.py", line 487, in handle_xml
self._daemon.check_scan_process(scan_id)
File "/usr/local/lib/python3.11/dist-packages/ospd/ospd.py", line 1289, in check_scan_process
status = self.get_scan_status(scan_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/ospd/ospd.py", line 723, in get_scan_status
status = self.scan_collection.get_status(scan_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/ospd/scan.py", line 352, in get_status
status = self.scans_table.get(scan_id, {}).get('status', None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<string>", line 2, in get
File "/usr/lib/python3.11/multiprocessing/managers.py", line 818, in _callmethod
self._connect()
File "/usr/lib/python3.11/multiprocessing/managers.py", line 805, in _connect
conn = self._Client(self._token.address, authkey=self._authkey)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/multiprocessing/connection.py", line 507, in Client
answer_challenge(c, authkey)
File "/usr/lib/python3.11/multiprocessing/connection.py", line 751, in answer_challenge
message = connection.recv_bytes(256) # reject large message
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/multiprocessing/connection.py", line 215, in recv_bytes
buf = self._recv_bytes(maxlength)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/multiprocessing/connection.py", line 413, in _recv_bytes
buf = self._recv(4)
^^^^^^^^^^^^^
File "/usr/lib/python3.11/multiprocessing/connection.py", line 382, in _recv
raise EOFError
EOFError
OSP also reports: (400) Fatal error
I’ve checked the system cpu thread count and limit, but there’s no significant increase or limit reached as it looks.
I’ve searched the internet and found threads about potential issues with the Python version in combination with libseccomp, where users reported they did not have issues with threads (in other software) when they downgraded libseccomp or python, but I couldn’t relate this to Greenbone’s setup.
Does anyone experience this issue or know where to look?