bibliotheek_be icon indicating copy to clipboard operation
bibliotheek_be copied to clipboard

Detected blocking call to load_verify_locations

Open tjorim opened this issue 1 year ago • 1 comments

Present since HA 2024.9.0b0:

Logger: homeassistant.util.loop
Source: util/loop.py:136
First occurred: 20:54:32 (2 occurrences)
Last logged: 20:54:45

Detected blocking call to load_verify_locations with args (<ssl.SSLContext object at 0x7f47f38450>,) inside the event loop by custom integration 'bibliotheek_be' at custom_components/bibliotheek_be/utils.py, line 41: self.s = httpx.Client(http2=True, max_redirects=0) (offender: /usr/local/lib/python3.12/site-packages/httpx/_config.py, line 147: context.load_verify_locations(cafile=cafile)), please create a bug report at https://github.com/myTselection/bibliotheek_be/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#load_verify_locations Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module> sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 752, in async_setup_locked await self.async_setup(hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup result = await component.async_setup_entry(hass, self) File "/config/custom_components/bibliotheek_be/__init__.py", line 79, in async_setup_entry await hass.config_entries.async_forward_entry_setups(config_entry, PLATFORMS) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2121, in async_forward_entry_setups await self._async_forward_entry_setups_locked(entry, platforms) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2132, in _async_forward_entry_setups_locked await asyncio.gather( File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2134, in <genexpr> create_eager_task( File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task return Task(coro, loop=loop, name=name, eager_start=True) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2214, in _async_forward_entry_setup await entry.async_setup(self.hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup result = await component.async_setup_entry(hass, self) File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 130, in async_setup_entry return await component.async_setup_entry(entry) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 194, in async_setup_entry return await self._platforms[key].async_setup_entry(config_entry) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 328, in async_setup_entry return await self._async_setup_platform(async_create_setup_awaitable) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 358, in _async_setup_platform awaitable = create_eager_task(awaitable, loop=hass.loop) File "/usr/src/homeassistant/homeassistant/util/async_.py", line 45, in create_eager_task return Task(coro, loop=loop, name=name, eager_start=True) File "/config/custom_components/bibliotheek_be/sensor.py", line 96, in async_setup_entry await dry_setup(hass, config, async_add_devices) File "/config/custom_components/bibliotheek_be/sensor.py", line 39, in dry_setup componentData = ComponentData( File "/config/custom_components/bibliotheek_be/sensor.py", line 114, in __init__ self._session = ComponentSession() File "/config/custom_components/bibliotheek_be/utils.py", line 41, in __init__ self.s = httpx.Client(http2=True, max_redirects=0)

tjorim avatar Aug 28 '24 19:08 tjorim

A slighly cleaner stack trace:

2024-12-06 09:29:20.783 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to load_verify_locations with args (<ssl.SSLContext object at 0x72a5999dd400>,) inside the event loop by custom integration 'bibliotheek_be' at custom_components/bibliotheek_be/utils.py, line 41: self.s = httpx.Client(http2=True, max_redirects=0) (offender: /home/homeassistant/lib/python3.13/site-packages/httpx/_config.py, line 149: context.load_verify_locations(cafile=cafile)), please create a bug report at https://github.com/myTselection/bibliotheek_be/issues
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#load_verify_locations
Traceback (most recent call last):
  File "/home/homeassistant/bin/hass", line 8, in <module>
    sys.exit(main())
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/__main__.py", line 213, in main
    exit_code = runner.run(runtime_conf)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/runner.py", line 154, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/lib/python3.13/asyncio/base_events.py", line 707, in run_until_complete
    self.run_forever()
  File "/usr/lib/python3.13/asyncio/base_events.py", line 678, in run_forever
    self._run_once()
  File "/usr/lib/python3.13/asyncio/base_events.py", line 2033, in _run_once
    handle._run()
  File "/usr/lib/python3.13/asyncio/events.py", line 89, in _run
    self._context.run(self._callback, *self._args)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/config_entries.py", line 788, in async_setup_locked
    await self.async_setup(hass, integration=integration)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/config_entries.py", line 551, in async_setup
    await self.__async_setup_with_context(hass, integration)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/config_entries.py", line 640, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
  File "/home/.homeassistant/custom_components/bibliotheek_be/__init__.py", line 80, in async_setup_entry
    await hass.config_entries.async_forward_entry_setups(config_entry, PLATFORMS)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/config_entries.py", line 2291, in async_forward_entry_setups
    await self._async_forward_entry_setups_locked(entry, platforms)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/config_entries.py", line 2302, in _async_forward_entry_setups_locked
    await asyncio.gather(
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/config_entries.py", line 2304, in <genexpr>
    create_eager_task(
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/config_entries.py", line 2383, in _async_forward_entry_setup
    await entry.async_setup(self.hass, integration=integration)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/config_entries.py", line 551, in async_setup
    await self.__async_setup_with_context(hass, integration)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/config_entries.py", line 640, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/components/sensor/__init__.py", line 133, in async_setup_entry
    return await hass.data[DATA_COMPONENT].async_setup_entry(entry)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/helpers/entity_component.py", line 197, in async_setup_entry
    return await self._platforms[key].async_setup_entry(config_entry)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/helpers/entity_platform.py", line 333, in async_setup_entry
    return await self._async_setup_platform(async_create_setup_awaitable)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/helpers/entity_platform.py", line 363, in _async_setup_platform
    awaitable = create_eager_task(awaitable, loop=hass.loop)
  File "/home/homeassistant/lib/python3.13/site-packages/homeassistant/util/async_.py", line 45, in create_eager_task
    return Task(coro, loop=loop, name=name, eager_start=True)
  File "/home/.homeassistant/custom_components/bibliotheek_be/sensor.py", line 96, in async_setup_entry
    await dry_setup(hass, config, async_add_devices)
  File "/home/.homeassistant/custom_components/bibliotheek_be/sensor.py", line 39, in dry_setup
    componentData = ComponentData(
  File "/home/.homeassistant/custom_components/bibliotheek_be/sensor.py", line 114, in __init__
    self._session = ComponentSession()
  File "/home/.homeassistant/custom_components/bibliotheek_be/utils.py", line 41, in __init__
    self.s = httpx.Client(http2=True, max_redirects=0)

slyoldfox avatar Dec 06 '24 08:12 slyoldfox

should be fixed, using from homeassistant.helpers.httpx_client import get_async_client

myTselection avatar Nov 01 '25 17:11 myTselection