Skip to content

Keep getting connection error 10054: ('Connection broken: OSError("(10054, \'WSAECONNRESET\')")', OSError("(10054, 'WSAECONNRESET')")) #251

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

Open
NewGaramond opened this issue Aug 11, 2020 · 2 comments
Labels

Comments

@NewGaramond
Copy link

NewGaramond commented Aug 11, 2020

Hi,
I am trying to download text from a Sharepoint list using the following code:


list_source = ctx.web.lists.get_by_title("Mails")  
items = list_source.items 
ctx.load(items)
ctx.execute_query()

count=0
listofcleancases=list(Cases_MailsDic.keys()) # I need this list to check a condition when downloading data as it needs to be sorted
listofnoneemailss=[]

for item in items:
    case=cleanstring(item.properties['Case'])
    Mail=item.properties['Mail']
    try:
        Body=BeautifulSoup(item.properties['Body'], "lxml").text
    except:
        continue


    filedir=os.path.join(cwd,Mail)
    filedir1=os.path.join(cwd1,Mail)

    print('Exploring Sharepoint element number: '+str(count))
    if case in listofcleancases:
        print('Found match for case: '+case)
        
        print('Writting file: '+filedir)
        with open(filedir+'.txt', "w+",encoding='utf-8') as f:
            f.write(Body)
            f.close()
        
    else:
        print('###### ERROR in case: '+case+' #######')
        listoferrors.append(case)
        with open(filedir1+'.txt', "w+",encoding='utf-8') as f:
            f.write(Body)
            f.close()
    count=count+1


But I keep getting the error ('Connection broken: OSError("(10054, \'WSAECONNRESET\')")', OSError("(10054, 'WSAECONNRESET')"))

I thought on adding a 1 sec delay but due to the size of the Sharepoint List I cannot afford to waist 3+ days to download the information.

Any clues on how to solve this issue?

@NewGaramond
Copy link
Author

This is the chain of errors shown:

  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_object_collection.py", line 84, in _load_next_items
    for item in items:
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_object_collection.py", line 45, in __iter__
    for item in self._load_next_items():
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_object_collection.py", line 84, in _load_next_items
    for item in items:
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_object_collection.py", line 45, in __iter__
    for item in self._load_next_items():
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_object_collection.py", line 84, in _load_next_items
    for item in items:
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_object_collection.py", line 45, in __iter__
    for item in self._load_next_items():
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_object_collection.py", line 84, in _load_next_items
    for item in items:
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_object_collection.py", line 45, in __iter__
    for item in self._load_next_items():
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_object_collection.py", line 84, in _load_next_items
    for item in items:
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_object_collection.py", line 45, in __iter__
    for item in self._load_next_items():
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_object_collection.py", line 80, in _load_next_items
    response = self.context.execute_request_direct(request)
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_runtime_context.py", line 35, in execute_request_direct
    return self.get_pending_request().execute_request_direct(request)
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\odata\odata_request.py", line 25, in execute_request_direct
    return super(ODataRequest, self).execute_request_direct(request)
  File "C:\ProgramData\Anaconda3\lib\site-packages\office365\runtime\client_request.py", line 81, in execute_request_direct
    proxies=request_options.proxies)
  File "C:\ProgramData\Anaconda3\lib\site-packages\requests\api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\requests\api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py", line 683, in send
    r.content
  File "C:\ProgramData\Anaconda3\lib\site-packages\requests\models.py", line 829, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "C:\ProgramData\Anaconda3\lib\site-packages\requests\models.py", line 754, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ('Connection broken: OSError("(10054, \'WSAECONNRESET\')")', OSError("(10054, 'WSAECONNRESET')"))

From what I understand, the code enters in a loop until it tries to reconnect using client_runtime_context.py

Any clue on how to solve this?

@vgrem vgrem added the question label Aug 12, 2020
@Shiva-Mantri
Copy link

Shiva-Mantri commented Dec 23, 2020

I see the same issue on my side. It is not consistent as well. Any suggestion?

One comment made by my network team is figure out a way to pass proxy to the library instead of OS and have it use it every time. Seems like sometimes requests are going through proxy and in some cases it going through firewall and getting blocked. I am doing this way.

os.environ['http_proxy'] = proxy

os.environ['no_proxy'] ="xxxxxx.com,xxxxxxx.com,*xxxx.com"

Below is my output:

Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]

Type "copyright", "credits" or "license" for more information.

 

IPython 7.12.0 -- An enhanced Interactive Python.

 

runfile('C:/Users/XXXXXXX/Downloads/SharePoint AddIn OAuth.py', wdir='C:/Users/XXXXXXX/Downloads')

Traceback (most recent call last):

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\urllib3\contrib\pyopenssl.py", line 313, in recv_into

    return self.connection.recv_into(*args, **kwargs)

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\OpenSSL\SSL.py", line 1840, in recv_into

    self._raise_ssl_error(self._ssl, result)

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\OpenSSL\SSL.py", line 1663, in _raise_ssl_error

    raise SysCallError(errno, errorcode.get(errno))

 

SysCallError: (10054, 'WSAECONNRESET')

 

 

During handling of the above exception, another exception occurred:

 

Traceback (most recent call last):

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\urllib3\response.py", line 425, in _error_catcher

    yield

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\urllib3\response.py", line 752, in read_chunked

    self._update_chunk_length()

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\urllib3\response.py", line 682, in _update_chunk_length

    line = self._fp.fp.readline()

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\socket.py", line 589, in readinto

    return self._sock.recv_into(b)

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\urllib3\contrib\pyopenssl.py", line 318, in recv_into

    raise SocketError(str(e))

 

OSError: (10054, 'WSAECONNRESET')

 

 

During handling of the above exception, another exception occurred:

 

Traceback (most recent call last):

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\requests\models.py", line 750, in generate

    for chunk in self.raw.stream(chunk_size, decode_content=True):

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\urllib3\response.py", line 560, in stream

    for line in self.read_chunked(amt, decode_content=decode_content):

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\urllib3\response.py", line 781, in read_chunked

    self._original_response.close()

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\contextlib.py", line 130, in __exit__

    self.gen.throw(type, value, traceback)

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\urllib3\response.py", line 443, in _error_catcher

    raise ProtocolError("Connection broken: %r" % e, e)

 

ProtocolError: ('Connection broken: OSError("(10054, \'WSAECONNRESET\')")', OSError("(10054, 'WSAECONNRESET')"))

 

 

During handling of the above exception, another exception occurred:

 

Traceback (most recent call last):

 

  File "C:\Users\XXXXXXX\Downloads\SharePoint AddIn OAuth.py", line 104, in <module>

    uploadFile(xxxxxxx.txt)

 

  File "C:\Users\XXXXXXX\Downloads\SharePoint AddIn OAuth.py", line 79, in uploadFile

    ctx.execute_query()

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\office365\runtime\client_runtime_context.py", line 140, in execute_query

    self.pending_request().execute_query()

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\office365\runtime\client_request.py", line 74, in execute_query

    response = self.execute_request_direct(request)

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\office365\runtime\odata\odata_request.py", line 34, in execute_request_direct

    return super(ODataRequest, self).execute_request_direct(request)

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\office365\runtime\client_request.py", line 123, in execute_request_direct

    proxies=request_options.proxies)

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\requests\api.py", line 75, in get

    return request('get', url, params=params, **kwargs)

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\requests\api.py", line 60, in request

    return session.request(method=method, url=url, **kwargs)

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\requests\sessions.py", line 533, in request

    resp = self.send(prep, **send_kwargs)

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\requests\sessions.py", line 686, in send

    r.content

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\requests\models.py", line 828, in content

    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''

 

  File "C:\Users\XXXXXXX\Anaconda3\lib\site-packages\requests\models.py", line 753, in generate

    raise ChunkedEncodingError(e)

 

ChunkedEncodingError: ('Connection broken: OSError("(10054, \'WSAECONNRESET\')")', OSError("(10054, 'WSAECONNRESET')"))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants