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

More SSLError #105

Closed
pgdr opened this issue Feb 14, 2017 · 12 comments
Closed

More SSLError #105

pgdr opened this issue Feb 14, 2017 · 12 comments

Comments

@pgdr
Copy link
Member

pgdr commented Feb 14, 2017

Feb 07 06:08:09 raspberrypi fby_client[27513]: DeviceConfig.logMessage: {"device_id": "FriskPaiMorten", "key": "2e...1e", "long_msg": "Traceback (most recent call last):
  File \"/usr/local/friskby/bin/fby_client\", line 127, in run
    self.post(client_pm10, client_pm25, data)
  File \"/usr/local/friskby/bin/fby_client\", line 88, in post
    client_pm10.post( data[0].median() )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 61, in post
    self._post_stack( )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 42, in _post_stack
    timeout=30)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 94, in post
    return request('post', url, data=data, json=json, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 49, in request
    return session.request(method=method, url=url, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 457, in request
    resp = self.send(prep, **send_kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 569, in send
    r = adapter.send(request, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/adapters.py\", line 407, in send
    raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', gaierror(-2, 'Name or service not known'))
", "msg": "Exception caught: \"('Connection aborted.', gaierror(-2, 'Name or service not known'))\"."}

Feb 09 09:19:12 raspberrypi fby_client[27513]: DeviceConfig.logMessage: {"device_id": "FriskPaiMorten", "key": "2e...1e", "long_msg": "Traceback (most recent call last):
  File \"/usr/local/friskby/bin/fby_client\", line 127, in run
    self.post(client_pm10, client_pm25, data)
  File \"/usr/local/friskby/bin/fby_client\", line 88, in post
    client_pm10.post( data[0].median() )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 61, in post
    self._post_stack( )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 42, in _post_stack
    timeout=30)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 94, in post
    return request('post', url, data=data, json=json, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 49, in request
    return session.request(method=method, url=url, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 457, in request
    resp = self.send(prep, **send_kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 569, in send
    r = adapter.send(request, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/adapters.py\", line 407, in send
    raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', gaierror(-2, 'Name or service not known'))
", "msg": "Exception caught: \"('Connection aborted.', gaierror(-2, 'Name or service not known'))\"."}

Feb 10 07:23:37 raspberrypi fby_client[27513]: DeviceConfig.logMessage: {"device_id": "FriskPaiMorten", "key": "2e...1e", "long_msg": "Traceback (most recent call last):
  File \"/usr/local/friskby/bin/fby_client\", line 127, in run
    self.post(client_pm10, client_pm25, data)
  File \"/usr/local/friskby/bin/fby_client\", line 88, in post
    client_pm10.post( data[0].median() )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 61, in post
    self._post_stack( )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 42, in _post_stack
    timeout=30)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 94, in post
    return request('post', url, data=data, json=json, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 49, in request
    return session.request(method=method, url=url, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 457, in request
    resp = self.send(prep, **send_kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 569, in send
    r = adapter.send(request, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/adapters.py\", line 420, in send
    raise SSLError(e, request=request)
SSLError: <unprintable SSLError object>
", "msg": "Exception caught: \"(unknown error for <class 'requests.exceptions.SSLError'>)\"."}

Feb 10 07:33:38 raspberrypi fby_client[27513]: Error submitting log message!
DeviceConfig.logMessage: {"device_id": "FriskPaiMorten", "key": "2e...1e", "long_msg": "Traceback (most recent call last):
  File \"/usr/local/friskby/bin/fby_client\", line 127, in run
    self.post(client_pm10, client_pm25, data)
  File \"/usr/local/friskby/bin/fby_client\", line 88, in post
    client_pm10.post( data[0].median() )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 61, in post
    self._post_stack( )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 42, in _post_stack
    timeout=30)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 94, in post
    return request('post', url, data=data, json=json, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 49, in request
    return session.request(method=method, url=url, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 457, in request
    resp = self.send(prep, **send_kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 569, in send
    r = adapter.send(request, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/adapters.py\", line 420, in send
    raise SSLError(e, request=request)
SSLError: <unprintable SSLError object>
", "msg": "Exception caught: \"(unknown error for <class 'requests.exceptions.SSLError'>)\"."}

Feb 10 07:43:39 raspberrypi fby_client[27513]: Error submitting log message!
DeviceConfig.logMessage: {"device_id": "FriskPaiMorten", "key": "2e...1e", "long_msg": "Traceback (most recent call last):
  File \"/usr/local/friskby/bin/fby_client\", line 127, in run
    self.post(client_pm10, client_pm25, data)
  File \"/usr/local/friskby/bin/fby_client\", line 88, in post
    client_pm10.post( data[0].median() )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 61, in post
    self._post_stack( )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 42, in _post_stack
    timeout=30)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 94, in post
    return request('post', url, data=data, json=json, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 49, in request
    return session.request(method=method, url=url, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 457, in request
    resp = self.send(prep, **send_kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 569, in send
    r = adapter.send(request, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/adapters.py\", line 420, in send
    raise SSLError(e, request=request)
SSLError: <unprintable SSLError object>
", "msg": "Exception caught: \"(unknown error for <class 'requests.exceptions.SSLError'>)\"."}

Feb 10 07:53:40 raspberrypi fby_client[27513]: Error submitting log message!
DeviceConfig.logMessage: {"device_id": "FriskPaiMorten", "key": "2e...1e", "long_msg": "Traceback (most recent call last):
  File \"/usr/local/friskby/bin/fby_client\", line 127, in run
    self.post(client_pm10, client_pm25, data)
  File \"/usr/local/friskby/bin/fby_client\", line 88, in post
    client_pm10.post( data[0].median() )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 61, in post
    self._post_stack( )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 42, in _post_stack
    timeout=30)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 94, in post
    return request('post', url, data=data, json=json, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 49, in request
    return session.request(method=method, url=url, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 457, in request
    resp = self.send(prep, **send_kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 569, in send
    r = adapter.send(request, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/adapters.py\", line 420, in send
    raise SSLError(e, request=request)
SSLError: <unprintable SSLError object>
", "msg": "Exception caught: \"(unknown error for <class 'requests.exceptions.SSLError'>)\"."}

Feb 10 08:03:41 raspberrypi fby_client[27513]: Error submitting log message!
DeviceConfig.logMessage: {"device_id": "FriskPaiMorten", "key": "2e...1e", "long_msg": "Traceback (most recent call last):
  File \"/usr/local/friskby/bin/fby_client\", line 127, in run
    self.post(client_pm10, client_pm25, data)
  File \"/usr/local/friskby/bin/fby_client\", line 88, in post
    client_pm10.post( data[0].median() )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 61, in post
    self._post_stack( )
  File \"/usr/local/friskby/lib/friskby_client.py\", line 42, in _post_stack
    timeout=30)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 94, in post
    return request('post', url, data=data, json=json, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/api.py\", line 49, in request
    return session.request(method=method, url=url, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 457, in request
    resp = self.send(prep, **send_kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/sessions.py\", line 569, in send
    r = adapter.send(request, **kwargs)
  File \"/usr/lib/python2.7/dist-packages/requests/adapters.py\", line 420, in send
    raise SSLError(e, request=request)
SSLError: <unprintable SSLError object>
", "msg": "Exception caught: \"(unknown error for <class 'requests.exceptions.SSLError'>)\"."}

@pgdr
Copy link
Member Author

pgdr commented Mar 9, 2017

Now, my client restarted after a week's uptime, all according to expectations, and here's a new SSL error:

Notice SSLError: [Errno 24 ] Too many open files


Mar 09 00:06:18 raspberrypi fby_client[24027]: DeviceConfig.logMessage:
{"device_id": "FriskPI10", "key": "407f1ef4-2eb2-4299-b977-464e26a094e7",
"long_msg": "Traceback (most recent call last):
File "/usr/local/friskby/bin/fby_client", line 137, in run
self._submitter.post()
File "/usr/local/friskby/lib/fby_submitter.py", line
60, in post if self._upload(to_upload):
File "/usr/local/friskby/lib/fby_submitter.py", line 44, in _upload
timeout=30)

File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 110, in post
return request('post', url, data=data, json=json, **kwargs) File
"/usr/local/lib/python2.7/dist-packages/requests/api.py", line 56, in request
return session.request(meth od=method, url=url, **kwargs) File
"/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 488, in
request resp = self.send(prep , **send_kwargs) File
"/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs) File
"/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 497, in send
raise SSLError(e, request=request) SSLError: [Errno 24 ] Too many open files",
"msg": "Exception caught: "[Errno 24] Too many open files"."}

@pgdr
Copy link
Member Author

pgdr commented Mar 9, 2017

Perhaps it's not 7 days, but 7 * 24 * 6 ~ 1000 requests/files?

edit 6 because 60 minutes, but we send every 10 minute?

@pgdr
Copy link
Member Author

pgdr commented Mar 9, 2017

@joakim-hove
It seems the config file is never closed (if I understand correctly) --- device_config.py:20.

We do unlink the file later, but if this isn't closed, will we still keep a fd to it?

This is above my file descriptor paygrade, but in /proc/XXX/fd/ there's a lot of config files. ulimit -n gives 65k, so it should take a while until we run out.

@pgdr
Copy link
Member Author

pgdr commented Mar 9, 2017

Errno 24 ... perhaps it was never heroku after all ... nor SSL.

@njberland
Copy link
Contributor

njberland commented Mar 9, 2017 via email

@joakim-hove
Copy link
Contributor

Perhaps it's not 7 days, but 7 * 24 * 6 ~ 1000 requests/files?

Well - the default limit of maximum open file descriptors is typically 1024; so this might make sense.

@joakim-hove
Copy link
Contributor

We do unlink the file later, but if this isn't closed, will we still keep a fd to it?

That is correct - an open file will not bee dragged away from under your feet.

@pgdr
Copy link
Member Author

pgdr commented Mar 10, 2017

Released version 0.61 at a91c321 and upgraded Pi10 to run 0.61. We'll see in a week's time what happens.

@njberland
Copy link
Contributor

njberland commented Mar 13, 2017 via email

@pgdr
Copy link
Member Author

pgdr commented Mar 13, 2017

@njberland very good. please document any unexpected or unpleasant experiences so we can discuss the matters next meeting.

@pgdr
Copy link
Member Author

pgdr commented Mar 16, 2017

My client just got the following SSL Error:

File "/usr/local/friskby/bin/fby_client", line 137, in run
self._submitter.post()
File "/usr/local/friskby/lib/fby_submitter.py", line 60, in post
if self._upload(to_upload):
File "/usr/local/friskby/lib/fby_submitter.py", line 44, in _upload
timeout=30)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 110, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 487, in send
raise ConnectionError(e, request=request)

ConnectionError: HTTPSConnectionPool(host='friskby.herokuapp.com', port=443):
Max retries exceeded with url: //sensor/api/reading/
(Caused by
NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection
object at 0x761fabd0>:

Failed to establish a new connection: [Errno -2] Name or service not known'
Exception caught:
HTTPSConnectionPool(host='friskby.herokuapp.com', port=443): Max retries
exceeded with url: //sensor/api/reading/ (Caused by
NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection
object at 0x761fabd0>: Failed to establish a new connection: [Errno -2] Name or
service not known'}

@pgdr
Copy link
Member Author

pgdr commented Apr 2, 2017

I'll close this until now with the conclusion that the issue was on our side all along.

@pgdr pgdr closed this as completed Apr 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants