aFrankLion / hass-google_keep

Custom component for Home Assistant to enable adding to and updating lists on Google Keep
MIT License
49 stars 12 forks source link

Detected I/O inside the event loop. #5

Closed coolguymatt closed 4 years ago

coolguymatt commented 4 years ago
Log Details (WARNING)
Logger: homeassistant.util.async_
Source: util/async_.py:120
First occurred: 9:06:11 AM (7 occurrences)
Last logged: 9:06:28 AM

Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 69: login_success = keep.login(username, password)
coolguymatt commented 4 years ago

Any idea what’s causing this?

aFrankLion commented 4 years ago

It looks like the command which logs in and sets up the keep object. I am not sure where to move the command to avoid this warning yet.

Dimand commented 4 years ago

Also getting this or similar and it is causing issues for me. After rebooting HA adding to a list will work once, then fails.

2020-05-29 11:44:55 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for google_keep which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-05-29 11:45:05 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 69: login_success = keep.login(username, password)
2020-05-29 11:45:06 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 69: login_success = keep.login(username, password)
2020-05-29 11:45:06 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 69: login_success = keep.login(username, password)
2020-05-29 11:45:07 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 69: login_success = keep.login(username, password)
2020-05-29 11:45:07 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 69: login_success = keep.login(username, password)
2020-05-29 11:45:35 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 85: keep.sync()
2020-05-29 11:45:35 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 85: keep.sync()
2020-05-29 11:45:36 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 85: keep.sync()
2020-05-29 11:45:36 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 112: keep.sync()
2020-05-29 11:45:36 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 112: keep.sync()
2020-05-29 11:45:37 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 112: keep.sync()
2020-05-29 11:45:38 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2876691376] Parse error in <class 'gkeepapi.node.NodeTimestamps'>
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/node.py", line 213, in load
    self._load(raw)
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/node.py", line 622, in _load
    self._created = self.str_to_dt(raw['created'])
KeyError: 'created'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 130, in handle_call_service
    connection.context(msg),
  File "/usr/src/homeassistant/homeassistant/core.py", line 1253, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1290, in _execute_service
    handler.func(service_call)
  File "/config/custom_components/google_keep/__init__.py", line 112, in add_to_list
    keep.sync()
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/__init__.py", line 1034, in sync
    self._parseNodes(changes['nodes'])
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/__init__.py", line 1064, in _parseNodes
    node.load(raw_node)
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/node.py", line 213, in load
    self._load(raw)
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/node.py", line 1192, in _load
    super(TopLevelNode, self)._load(raw)
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/node.py", line 1045, in _load
    self.timestamps.load(raw['timestamps'])
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/node.py", line 215, in load
    raise_from(exception.ParseException('Parse error in %s' % (type(self)), raw), e)
  File "/usr/local/lib/python3.7/site-packages/future/utils/__init__.py", line 403, in raise_from
    exec(execstr, myglobals, mylocals)
  File "<string>", line 1, in <module>
gkeepapi.exception.ParseException: Parse error in <class 'gkeepapi.node.NodeTimestamps'>
2020-05-29 11:46:01 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 85: keep.sync()
2020-05-29 11:46:01 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 85: keep.sync()
2020-05-29 11:46:02 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for google_keep doing I/O at custom_components/google_keep/__init__.py, line 85: keep.sync()
2020-05-29 11:46:02 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.2876691376] Parse error in <class 'gkeepapi.node.NodeTimestamps'>
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/node.py", line 213, in load
    self._load(raw)
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/node.py", line 622, in _load
    self._created = self.str_to_dt(raw['created'])
KeyError: 'created'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 130, in handle_call_service
    connection.context(msg),
  File "/usr/src/homeassistant/homeassistant/core.py", line 1253, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1290, in _execute_service
    handler.func(service_call)
  File "/config/custom_components/google_keep/__init__.py", line 85, in add_to_list
    keep.sync()
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/__init__.py", line 1034, in sync
    self._parseNodes(changes['nodes'])
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/__init__.py", line 1064, in _parseNodes
    node.load(raw_node)
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/node.py", line 213, in load
    self._load(raw)
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/node.py", line 1192, in _load
    super(TopLevelNode, self)._load(raw)
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/node.py", line 1045, in _load
    self.timestamps.load(raw['timestamps'])
  File "/usr/local/lib/python3.7/site-packages/gkeepapi/node.py", line 215, in load
    raise_from(exception.ParseException('Parse error in %s' % (type(self)), raw), e)
  File "/usr/local/lib/python3.7/site-packages/future/utils/__init__.py", line 403, in raise_from
    exec(execstr, myglobals, mylocals)
  File "<string>", line 1, in <module>
gkeepapi.exception.ParseException: Parse error in <class 'gkeepapi.node.NodeTimestamps'>
aFrankLion commented 4 years ago

I first tried wrapping the login command in an async friendly wrapper, but wasn't successful. For now, I've removed the handful of commands related to asyncio, and the custom component seems to be working well with 532394f27b435a048730f000b5e5a78db7ebb975. Please let me know if the issue is resolved in your setup.

Dimand commented 4 years ago

Looks to have fixed it. Thanks so much!