Uploaded image for project: 'Python Driver'
  1. Python Driver
  2. PYTHON-3691

file descriptor cannot be a negative integer (-1) error when using PyOpenSSL

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Unknown Unknown
    • 4.4
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None

      [2023/04/25 19:34:56.201] ERROR: file descriptor cannot be a negative integer (-1) (ValueError)
      [2023/04/25 19:34:56.201] Traceback (most recent call last):
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/pyopenssl_context.py", line 108, in _call
      [2023/04/25 19:34:56.201]     return call(*args, **kwargs)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pyopenssltest/lib/python3.7/site-packages/OpenSSL/SSL.py", line 1980, in recv_into
      [2023/04/25 19:34:56.201]     self._raise_ssl_error(self._ssl, result)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pyopenssltest/lib/python3.7/site-packages/OpenSSL/SSL.py", line 1682, in _raise_ssl_error
      [2023/04/25 19:34:56.201]     raise WantReadError()
      [2023/04/25 19:34:56.201] OpenSSL.SSL.WantReadError
      [2023/04/25 19:34:56.201] During handling of the above exception, another exception occurred:
      [2023/04/25 19:34:56.201] Traceback (most recent call last):
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/test/__init__.py", line 604, in wrap
      [2023/04/25 19:34:56.201]     return f(*args, **kwargs)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/test/test_client.py", line 1333, in test_exhaust_network_error
      [2023/04/25 19:34:56.201]     next(cursor)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/cursor.py", line 1249, in next
      [2023/04/25 19:34:56.201]     if len(self.__data) or self._refresh():
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/cursor.py", line 1166, in _refresh
      [2023/04/25 19:34:56.201]     self.__send_message(q)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/cursor.py", line 1054, in __send_message
      [2023/04/25 19:34:56.201]     operation, self._unpack_response, address=self.__address
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/_csot.py", line 106, in csot_wrapper
      [2023/04/25 19:34:56.201]     return func(self, *args, **kwargs)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/mongo_client.py", line 1345, in _run_operation
      [2023/04/25 19:34:56.201]     retryable=isinstance(operation, message._Query),
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/_csot.py", line 106, in csot_wrapper
      [2023/04/25 19:34:56.201]     return func(self, *args, **kwargs)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/mongo_client.py", line 1464, in _retryable_read
      [2023/04/25 19:34:56.201]     return func(session, server, sock_info, read_pref)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/mongo_client.py", line 1337, in _cmd
      [2023/04/25 19:34:56.201]     sock_info, operation, read_preference, self._event_listeners, unpack_res
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/server.py", line 115, in run_operation
      [2023/04/25 19:34:56.201]     reply = sock_info.receive_message(request_id)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/pool.py", line 821, in receive_message
      [2023/04/25 19:34:56.201]     self._raise_connection_failure(error)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/pool.py", line 819, in receive_message
      [2023/04/25 19:34:56.201]     return receive_message(self, request_id, self.max_message_size)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/network.py", line 217, in receive_message
      [2023/04/25 19:34:56.201]     _receive_data_on_socket(sock_info, 16, deadline)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/network.py", line 299, in _receive_data_on_socket
      [2023/04/25 19:34:56.201]     chunk_length = sock_info.sock.recv_into(mv[bytes_read:])
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/pyopenssl_context.py", line 138, in recv_into
      [2023/04/25 19:34:56.201]     return self._call(super(_sslConn, self).recv_into, *args, **kwargs)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/pyopenssl_context.py", line 119, in _call
      [2023/04/25 19:34:56.201]     self.socket_checker.select(self, want_read, want_write, timeout)
      [2023/04/25 19:34:56.201]   File "/data/mci/466c09419d7f718885f76f67aa3c8e21/src/pymongo/socket_checker.py", line 60, in select
      [2023/04/25 19:34:56.201]     self._poller.register(sock, mask)
      [2023/04/25 19:34:56.201] ValueError: file descriptor cannot be a negative integer (-1)
      

      https://spruce.mongodb.com/task/mongo_python_driver_tests_pyopenssl__platform~rhel84_auth~noauth_ssl~ssl_python_version~3.7_pyopenssl~enabled_test_5.0_replica_set_79488d95dbeac0a6d48256ecaba7c0ebdf90884d_23_04_25_18_30_23/tests?execution=0&sortBy=STATUS&sortDir=ASC

            Assignee:
            steve.silvester@mongodb.com Steve Silvester
            Reporter:
            steve.silvester@mongodb.com Steve Silvester
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: