creating ChatGoogleGenerativeAI raises blockbuster.BlockingError #551

Closed
opened 2026-02-20 17:40:41 -05:00 by yindo · 10 comments
Owner

Originally created by @tomas-sipko on GitHub (Apr 2, 2025).

Checked other resources

  • This is a bug, not a usage question. For questions, please use GitHub Discussions.
  • I added a clear and detailed title that summarizes the issue.
  • I read what a minimal reproducible example is (https://stackoverflow.com/help/minimal-reproducible-example).
  • I included a self-contained, minimal example that demonstrates the issue INCLUDING all the relevant imports. The code run AS IS to reproduce the issue.

Example Code

async def route(state: AgentState, config: Configuration):
    """Decide which agent to use based on the user's prompt."""
    next_agent = state.get("next_agent")
    if next_agent:
        return {
            "next_agent": next_agent,
        }

    system_message = SystemMessage(content=router_prompt)

    gemini_model = ChatGoogleGenerativeAI(model="gemini-2.0-flash")
    structured_model = gemini_model.with_structured_output(RouterResponse)
    structured_model = structured_model.with_config({"tags": ["langsmith:nostream"]})

    messages = [system_message] + list(state.get("messages"))
    response = await structured_model.ainvoke(messages)

    return {
        "next_agent": response.next_agent,
    }

Error Message and Stack Trace (if applicable)

File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langgraph_api/worker.py", line 149, in worker
    await asyncio.wait_for(consume(stream, run_id), BG_JOB_TIMEOUT_SECS)
  File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/tasks.py", line 479, in wait_for
    return fut.result()
           ^^^^^^^^^^^^
  File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langgraph_api/stream.py", line 268, in consume
    raise e from None
  File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langgraph_api/stream.py", line 258, in consume
    async for mode, payload in stream:
  File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langgraph_api/stream.py", line 209, in astream_state
    event = await wait_if_not_done(anext(stream, sentinel), done)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langgraph_api/asyncio.py", line 80, in wait_if_not_done
    raise e.exceptions[0] from None
  File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langgraph/pregel/__init__.py", line 2615, in astream
    async for _ in runner.atick(
  File "/Users/tomassipko/Documents/projects/math-agent/./src/math_agent/graph.py", line 93, in route
    gemini_model = ChatGoogleGenerativeAI(model="gemini-2.0-flash")
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langchain_core/load/serializable.py", line 125, in __init__
    super().__init__(*args, **kwargs)
  File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/pydantic/main.py", line 243, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langchain_google_genai/chat_models.py", line 935, in validate_environment
    client_info = get_client_info("ChatGoogleGenerativeAI")
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langchain_google_genai/_common.py", line 139, in get_client_info
    client_library_version, user_agent = get_user_agent(module)
                                         ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langchain_google_genai/_common.py", line 121, in get_user_agent
    langchain_version = metadata.version("langchain-google-genai")
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 1008, in version
    return distribution(distribution_name).version
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 981, in distribution
    return Distribution.from_name(distribution_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 563, in from_name
    return next(cls.discover(name=name))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 915, in <genexpr>
    path.search(prepared) for path in map(FastPath, paths)
    ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 813, in search
    return self.lookup(self.mtime).search(name)
                       ^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 818, in mtime
    return os.stat(self.root).st_mtime
           ^^^^^^^^^^^^^^^^^^
  File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/blockbuster/blockbuster.py", line 109, in wrapper
    raise BlockingError(func_name)
blockbuster.blockbuster.BlockingError: Blocking call to os.stat
During task with name 'router' and id '19f71450-9745-c945-e312-35288765c2ac'

Description

I'm using ChatGoogleGenerativeAI to route the request, however, it raises Blockbuster error: Blocking call to os.stat. It seems the error appears in the initialization of ChatGoogleGenerativeAI.

System Info

System Information

OS: Darwin
OS Version: Darwin Kernel Version 23.6.0: Thu Dec 19 20:44:10 PST 2024; root:xnu-10063.141.1.703.2~1/RELEASE_ARM64_T6000
Python Version: 3.11.5 (main, Aug 24 2023, 15:09:45) [Clang 14.0.3 (clang-1403.0.22.14.1)]

Package Information

langchain_core: 0.3.49
langchain: 0.3.22
langchain_community: 0.3.20
langsmith: 0.3.21
langchain_anthropic: 0.3.10
langchain_google_genai: 2.1.2
langchain_openai: 0.3.11
langchain_text_splitters: 0.3.7
langgraph_api: 0.0.41
langgraph_cli: 0.1.82
langgraph_license: Installed. No version info available.
langgraph_sdk: 0.1.60
langgraph_storage: Installed. No version info available.
langgraph_swarm: 0.0.8

Optional packages not installed

langserve

Other Dependencies

aiohttp<4.0.0,>=3.8.3: Installed. No version info available.
anthropic<1,>=0.49.0: Installed. No version info available.
async-timeout<5.0.0,>=4.0.0;: Installed. No version info available.
blockbuster: 1.5.24
click: 8.1.8
cloudpickle: 3.1.1
cryptography: 43.0.3
dataclasses-json<0.7,>=0.5.7: Installed. No version info available.
filetype: 1.2.0
google-ai-generativelanguage: 0.6.17
httpx: 0.28.1
httpx-sse<1.0.0,>=0.4.0: Installed. No version info available.
jsonpatch<2.0,>=1.33: Installed. No version info available.
jsonschema-rs: 0.29.1
langchain-anthropic;: Installed. No version info available.
langchain-aws;: Installed. No version info available.
langchain-azure-ai;: Installed. No version info available.
langchain-cohere;: Installed. No version info available.
langchain-community;: Installed. No version info available.
langchain-core<0.4.0,>=0.3.40: Installed. No version info available.
langchain-core<1.0.0,>=0.3.45: Installed. No version info available.
langchain-core<1.0.0,>=0.3.49: Installed. No version info available.
langchain-deepseek;: Installed. No version info available.
langchain-fireworks;: Installed. No version info available.
langchain-google-genai;: Installed. No version info available.
langchain-google-vertexai;: Installed. No version info available.
langchain-groq;: Installed. No version info available.
langchain-huggingface;: Installed. No version info available.
langchain-mistralai;: Installed. No version info available.
langchain-ollama;: Installed. No version info available.
langchain-openai;: Installed. No version info available.
langchain-text-splitters<1.0.0,>=0.3.7: Installed. No version info available.
langchain-together;: Installed. No version info available.
langchain-xai;: Installed. No version info available.
langchain<1.0.0,>=0.3.21: Installed. No version info available.
langgraph: 0.3.22
langgraph-checkpoint: 2.0.23
langgraph<0.4.0,>=0.3.5: Installed. No version info available.
langsmith-pyo3: Installed. No version info available.
langsmith<0.4,>=0.1.125: Installed. No version info available.
langsmith<0.4,>=0.1.17: Installed. No version info available.
numpy<3,>=1.26.2: Installed. No version info available.
openai-agents: Installed. No version info available.
openai<2.0.0,>=1.68.2: Installed. No version info available.
opentelemetry-api: Installed. No version info available.
opentelemetry-exporter-otlp-proto-http: Installed. No version info available.
opentelemetry-sdk: Installed. No version info available.
orjson: 3.10.16
packaging: 24.2
packaging<25,>=23.2: Installed. No version info available.
pydantic: 2.11.1
pydantic-settings<3.0.0,>=2.4.0: Installed. No version info available.
pydantic<3.0.0,>=2.5.2;: Installed. No version info available.
pydantic<3.0.0,>=2.7.4: Installed. No version info available.
pydantic<3.0.0,>=2.7.4;: Installed. No version info available.
pyjwt: 2.10.1
pytest: Installed. No version info available.
python-dotenv: 1.1.0
PyYAML>=5.3: Installed. No version info available.
requests: 2.32.3
requests-toolbelt: 1.0.0
requests<3,>=2: Installed. No version info available.
rich: Installed. No version info available.
SQLAlchemy<3,>=1.4: Installed. No version info available.
sse-starlette: 2.1.3
starlette: 0.46.1
structlog: 25.2.0
tenacity: 9.0.0
tenacity!=8.4.0,<10,>=8.1.0: Installed. No version info available.
tenacity!=8.4.0,<10.0.0,>=8.1.0: Installed. No version info available.
tiktoken<1,>=0.7: Installed. No version info available.
typing-extensions>=4.7: Installed. No version info available.
uvicorn: 0.34.0
watchfiles: 1.0.4
zstandard: 0.23.0

Originally created by @tomas-sipko on GitHub (Apr 2, 2025). ### Checked other resources - [x] This is a bug, not a usage question. For questions, please use GitHub Discussions. - [x] I added a clear and detailed title that summarizes the issue. - [x] I read what a minimal reproducible example is (https://stackoverflow.com/help/minimal-reproducible-example). - [x] I included a self-contained, minimal example that demonstrates the issue INCLUDING all the relevant imports. The code run AS IS to reproduce the issue. ### Example Code ```python async def route(state: AgentState, config: Configuration): """Decide which agent to use based on the user's prompt.""" next_agent = state.get("next_agent") if next_agent: return { "next_agent": next_agent, } system_message = SystemMessage(content=router_prompt) gemini_model = ChatGoogleGenerativeAI(model="gemini-2.0-flash") structured_model = gemini_model.with_structured_output(RouterResponse) structured_model = structured_model.with_config({"tags": ["langsmith:nostream"]}) messages = [system_message] + list(state.get("messages")) response = await structured_model.ainvoke(messages) return { "next_agent": response.next_agent, } ``` ### Error Message and Stack Trace (if applicable) ```shell File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langgraph_api/worker.py", line 149, in worker await asyncio.wait_for(consume(stream, run_id), BG_JOB_TIMEOUT_SECS) File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/asyncio/tasks.py", line 479, in wait_for return fut.result() ^^^^^^^^^^^^ File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langgraph_api/stream.py", line 268, in consume raise e from None File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langgraph_api/stream.py", line 258, in consume async for mode, payload in stream: File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langgraph_api/stream.py", line 209, in astream_state event = await wait_if_not_done(anext(stream, sentinel), done) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langgraph_api/asyncio.py", line 80, in wait_if_not_done raise e.exceptions[0] from None File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langgraph/pregel/__init__.py", line 2615, in astream async for _ in runner.atick( File "/Users/tomassipko/Documents/projects/math-agent/./src/math_agent/graph.py", line 93, in route gemini_model = ChatGoogleGenerativeAI(model="gemini-2.0-flash") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langchain_core/load/serializable.py", line 125, in __init__ super().__init__(*args, **kwargs) File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/pydantic/main.py", line 243, in __init__ validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langchain_google_genai/chat_models.py", line 935, in validate_environment client_info = get_client_info("ChatGoogleGenerativeAI") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langchain_google_genai/_common.py", line 139, in get_client_info client_library_version, user_agent = get_user_agent(module) ^^^^^^^^^^^^^^^^^^^^^^ File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/langchain_google_genai/_common.py", line 121, in get_user_agent langchain_version = metadata.version("langchain-google-genai") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 1008, in version return distribution(distribution_name).version ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 981, in distribution return Distribution.from_name(distribution_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 563, in from_name return next(cls.discover(name=name)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 915, in <genexpr> path.search(prepared) for path in map(FastPath, paths) ^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 813, in search return self.lookup(self.mtime).search(name) ^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 818, in mtime return os.stat(self.root).st_mtime ^^^^^^^^^^^^^^^^^^ File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/blockbuster/blockbuster.py", line 109, in wrapper raise BlockingError(func_name) blockbuster.blockbuster.BlockingError: Blocking call to os.stat During task with name 'router' and id '19f71450-9745-c945-e312-35288765c2ac' ``` ### Description I'm using ChatGoogleGenerativeAI to route the request, however, it raises Blockbuster error: `Blocking call to os.stat`. It seems the error appears in the initialization of ChatGoogleGenerativeAI. ### System Info System Information ------------------ > OS: Darwin > OS Version: Darwin Kernel Version 23.6.0: Thu Dec 19 20:44:10 PST 2024; root:xnu-10063.141.1.703.2~1/RELEASE_ARM64_T6000 > Python Version: 3.11.5 (main, Aug 24 2023, 15:09:45) [Clang 14.0.3 (clang-1403.0.22.14.1)] Package Information ------------------- > langchain_core: 0.3.49 > langchain: 0.3.22 > langchain_community: 0.3.20 > langsmith: 0.3.21 > langchain_anthropic: 0.3.10 > langchain_google_genai: 2.1.2 > langchain_openai: 0.3.11 > langchain_text_splitters: 0.3.7 > langgraph_api: 0.0.41 > langgraph_cli: 0.1.82 > langgraph_license: Installed. No version info available. > langgraph_sdk: 0.1.60 > langgraph_storage: Installed. No version info available. > langgraph_swarm: 0.0.8 Optional packages not installed ------------------------------- > langserve Other Dependencies ------------------ > aiohttp<4.0.0,>=3.8.3: Installed. No version info available. > anthropic<1,>=0.49.0: Installed. No version info available. > async-timeout<5.0.0,>=4.0.0;: Installed. No version info available. > blockbuster: 1.5.24 > click: 8.1.8 > cloudpickle: 3.1.1 > cryptography: 43.0.3 > dataclasses-json<0.7,>=0.5.7: Installed. No version info available. > filetype: 1.2.0 > google-ai-generativelanguage: 0.6.17 > httpx: 0.28.1 > httpx-sse<1.0.0,>=0.4.0: Installed. No version info available. > jsonpatch<2.0,>=1.33: Installed. No version info available. > jsonschema-rs: 0.29.1 > langchain-anthropic;: Installed. No version info available. > langchain-aws;: Installed. No version info available. > langchain-azure-ai;: Installed. No version info available. > langchain-cohere;: Installed. No version info available. > langchain-community;: Installed. No version info available. > langchain-core<0.4.0,>=0.3.40: Installed. No version info available. > langchain-core<1.0.0,>=0.3.45: Installed. No version info available. > langchain-core<1.0.0,>=0.3.49: Installed. No version info available. > langchain-deepseek;: Installed. No version info available. > langchain-fireworks;: Installed. No version info available. > langchain-google-genai;: Installed. No version info available. > langchain-google-vertexai;: Installed. No version info available. > langchain-groq;: Installed. No version info available. > langchain-huggingface;: Installed. No version info available. > langchain-mistralai;: Installed. No version info available. > langchain-ollama;: Installed. No version info available. > langchain-openai;: Installed. No version info available. > langchain-text-splitters<1.0.0,>=0.3.7: Installed. No version info available. > langchain-together;: Installed. No version info available. > langchain-xai;: Installed. No version info available. > langchain<1.0.0,>=0.3.21: Installed. No version info available. > langgraph: 0.3.22 > langgraph-checkpoint: 2.0.23 > langgraph<0.4.0,>=0.3.5: Installed. No version info available. > langsmith-pyo3: Installed. No version info available. > langsmith<0.4,>=0.1.125: Installed. No version info available. > langsmith<0.4,>=0.1.17: Installed. No version info available. > numpy<3,>=1.26.2: Installed. No version info available. > openai-agents: Installed. No version info available. > openai<2.0.0,>=1.68.2: Installed. No version info available. > opentelemetry-api: Installed. No version info available. > opentelemetry-exporter-otlp-proto-http: Installed. No version info available. > opentelemetry-sdk: Installed. No version info available. > orjson: 3.10.16 > packaging: 24.2 > packaging<25,>=23.2: Installed. No version info available. > pydantic: 2.11.1 > pydantic-settings<3.0.0,>=2.4.0: Installed. No version info available. > pydantic<3.0.0,>=2.5.2;: Installed. No version info available. > pydantic<3.0.0,>=2.7.4: Installed. No version info available. > pydantic<3.0.0,>=2.7.4;: Installed. No version info available. > pyjwt: 2.10.1 > pytest: Installed. No version info available. > python-dotenv: 1.1.0 > PyYAML>=5.3: Installed. No version info available. > requests: 2.32.3 > requests-toolbelt: 1.0.0 > requests<3,>=2: Installed. No version info available. > rich: Installed. No version info available. > SQLAlchemy<3,>=1.4: Installed. No version info available. > sse-starlette: 2.1.3 > starlette: 0.46.1 > structlog: 25.2.0 > tenacity: 9.0.0 > tenacity!=8.4.0,<10,>=8.1.0: Installed. No version info available. > tenacity!=8.4.0,<10.0.0,>=8.1.0: Installed. No version info available. > tiktoken<1,>=0.7: Installed. No version info available. > typing-extensions>=4.7: Installed. No version info available. > uvicorn: 0.34.0 > watchfiles: 1.0.4 > zstandard: 0.23.0
yindo closed this issue 2026-02-20 17:40:41 -05:00
Author
Owner

@hinthornw commented on GitHub (Apr 2, 2025):

Hiya! Will relax the block checking for os.stat calls. Did the stacktrace also tell you you can run with --allow-blocking ?

@hinthornw commented on GitHub (Apr 2, 2025): Hiya! Will relax the block checking for `os.stat` calls. Did the stacktrace also tell you you can run with `--allow-blocking` ?
Author
Owner

@tomas-sipko commented on GitHub (Apr 2, 2025):

Hi, yes, that's what I'm doing now. Wanted to migrate to full non-blocking :)

@tomas-sipko commented on GitHub (Apr 2, 2025): Hi, yes, that's what I'm doing now. Wanted to migrate to full non-blocking :)
Author
Owner

@hinthornw commented on GitHub (Apr 2, 2025):

Could you let me know if the error is still raised in langgraph-api==0.0.43? We will be less aggressive on os.stat calls now

@hinthornw commented on GitHub (Apr 2, 2025): Could you let me know if the error is still raised in `langgraph-api==0.0.43`? We will be less aggressive on os.stat calls now
Author
Owner

@hinthornw commented on GitHub (Apr 2, 2025):

Believe this is resolved now

@hinthornw commented on GitHub (Apr 2, 2025): Believe this is resolved now
Author
Owner

@tomas-sipko commented on GitHub (Apr 2, 2025):

@hinthornw the os.stat is resolved, but still struggle to initialize ChatGoogleGenerativeAI. Here's the trace:

  File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 632, in version
    return self.metadata['Version']
           ^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 610, in metadata
    self.read_text('METADATA')
  File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 938, in read_text
    return self._path.joinpath(filename).read_text(encoding='utf-8')
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pathlib.py", line 1059, in read_text
    return f.read()
           ^^^^^^^^
  File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/blockbuster/blockbuster.py", line 109, in wrapper
    raise BlockingError(func_name)
blockbuster.blockbuster.BlockingError: Blocking call to io.TextIOWrapper.read
@tomas-sipko commented on GitHub (Apr 2, 2025): @hinthornw the `os.stat` is resolved, but still struggle to initialize `ChatGoogleGenerativeAI`. Here's the trace: ``` File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 632, in version return self.metadata['Version'] ^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 610, in metadata self.read_text('METADATA') File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/metadata/__init__.py", line 938, in read_text return self._path.joinpath(filename).read_text(encoding='utf-8') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pathlib.py", line 1059, in read_text return f.read() ^^^^^^^^ File "/Users/tomassipko/Documents/projects/math-agent/.venv/lib/python3.11/site-packages/blockbuster/blockbuster.py", line 109, in wrapper raise BlockingError(func_name) blockbuster.blockbuster.BlockingError: Blocking call to io.TextIOWrapper.read ```
Author
Owner

@hinthornw commented on GitHub (Apr 2, 2025):

I see - will also relax for this

@hinthornw commented on GitHub (Apr 2, 2025): I see - will also relax for this
Author
Owner

@cocahack commented on GitHub (Apr 2, 2025):

It seems like a similar issue, but in my case, the error didn't occur when I wrapped the blocking I/O operation with asyncio.

import asyncio

from langchain_core.tools import tool
from langchain_google_community import GoogleSearchAPIWrapper

_google_search = GoogleSearchAPIWrapper()

@tool
async def google_search(query: str):
    return await asyncio.to_thread(_google_search.run, query)

If you want to get rid of the BlockingError right away, you can temporarily pin the langgraph-api to an older version.

# uv format
[dependency-groups]
dev = [
    "langgraph-cli[inmem]==0.1.65",
    "langgraph-api==0.0.38",
]

@cocahack commented on GitHub (Apr 2, 2025): It seems like a similar issue, but in my case, the error didn't occur when I wrapped the blocking I/O operation with `asyncio`. ```python import asyncio from langchain_core.tools import tool from langchain_google_community import GoogleSearchAPIWrapper _google_search = GoogleSearchAPIWrapper() @tool async def google_search(query: str): return await asyncio.to_thread(_google_search.run, query) ``` If you want to get rid of the BlockingError right away, you can temporarily pin the langgraph-api to an older version. ```toml # uv format [dependency-groups] dev = [ "langgraph-cli[inmem]==0.1.65", "langgraph-api==0.0.38", ] ```
Author
Owner

@picografix commented on GitHub (Apr 3, 2025):

It seems like a similar issue, but in my case, the error didn't occur when I wrapped the blocking I/O operation with asyncio.

import asyncio

from langchain_core.tools import tool
from langchain_google_community import GoogleSearchAPIWrapper

_google_search = GoogleSearchAPIWrapper()

@tool
async def google_search(query: str):
return await asyncio.to_thread(_google_search.run, query)
If you want to get rid of the BlockingError right away, you can temporarily pin the langgraph-api to an older version.

uv format

[dependency-groups]
dev = [
"langgraph-cli[inmem]==0.1.65",
"langgraph-api==0.0.38",
]

Worked for now

@picografix commented on GitHub (Apr 3, 2025): > It seems like a similar issue, but in my case, the error didn't occur when I wrapped the blocking I/O operation with `asyncio`. > > import asyncio > > from langchain_core.tools import tool > from langchain_google_community import GoogleSearchAPIWrapper > > _google_search = GoogleSearchAPIWrapper() > > @tool > async def google_search(query: str): > return await asyncio.to_thread(_google_search.run, query) > If you want to get rid of the BlockingError right away, you can temporarily pin the langgraph-api to an older version. > > # uv format > [dependency-groups] > dev = [ > "langgraph-cli[inmem]==0.1.65", > "langgraph-api==0.0.38", > ] Worked for now
Author
Owner

@hinthornw commented on GitHub (Apr 11, 2025):

THanks for raising! This should no-longer be flagged in later versions of langgraph-api

@hinthornw commented on GitHub (Apr 11, 2025): THanks for raising! This should no-longer be flagged in later versions of langgraph-api
Author
Owner

@neta-labs commented on GitHub (May 8, 2025):

We're still seeing this issue with langgraph-api = 0.2.18

  File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 391, in ainvoke
    llm_result = await self.agenerate_prompt(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 957, in agenerate_prompt
    return await self.agenerate(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 915, in agenerate
    raise exceptions[0]
  File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 1072, in _agenerate_with_cache
    async for chunk in self._astream(messages, stop=stop, **kwargs):
  File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_google_genai/chat_models.py", line 1376, in _astream
    if not self.async_client:
           ^^^^^^^^^^^^^^^^^
  File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_google_genai/chat_models.py", line 1123, in async_client
    client_info=get_client_info("ChatGoogleGenerativeAI"),
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_google_genai/_common.py", line 139, in get_client_info
    client_library_version, user_agent = get_user_agent(module)
                                         ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_google_genai/_common.py", line 121, in get_user_agent
    langchain_version = metadata.version("langchain-google-genai")
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.12/3.12.10/Frameworks/Python.framework/Versions/3.12/lib/python3.12/importlib/metadata/__init__.py", line 889, in version
    return distribution(distribution_name).version
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/importlib_metadata/__init__.py", line 514, in version
    return self.metadata['Version']
           ^^^^^^^^^^^^^
  File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/importlib_metadata/__init__.py", line 491, in metadata
    self.read_text('METADATA')
  File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/importlib_metadata/__init__.py", line 955, in read_text
    return self._path.joinpath(filename).read_text(encoding='utf-8')
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.12/3.12.10/Frameworks/Python.framework/Versions/3.12/lib/python3.12/pathlib.py", line 1028, in read_text
    return f.read()
           ^^^^^^^^
  File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/blockbuster/blockbuster.py", line 109, in wrapper
    raise BlockingError(func_name)
blockbuster.blockbuster.BlockingError: Blocking call to io.TextIOWrapper.read
@neta-labs commented on GitHub (May 8, 2025): We're still seeing this issue with langgraph-api = 0.2.18 ``` File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 391, in ainvoke llm_result = await self.agenerate_prompt( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 957, in agenerate_prompt return await self.agenerate( ^^^^^^^^^^^^^^^^^^^^^ File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 915, in agenerate raise exceptions[0] File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_core/language_models/chat_models.py", line 1072, in _agenerate_with_cache async for chunk in self._astream(messages, stop=stop, **kwargs): File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_google_genai/chat_models.py", line 1376, in _astream if not self.async_client: ^^^^^^^^^^^^^^^^^ File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_google_genai/chat_models.py", line 1123, in async_client client_info=get_client_info("ChatGoogleGenerativeAI"), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_google_genai/_common.py", line 139, in get_client_info client_library_version, user_agent = get_user_agent(module) ^^^^^^^^^^^^^^^^^^^^^^ File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/langchain_google_genai/_common.py", line 121, in get_user_agent langchain_version = metadata.version("langchain-google-genai") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.12/3.12.10/Frameworks/Python.framework/Versions/3.12/lib/python3.12/importlib/metadata/__init__.py", line 889, in version return distribution(distribution_name).version ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/importlib_metadata/__init__.py", line 514, in version return self.metadata['Version'] ^^^^^^^^^^^^^ File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/importlib_metadata/__init__.py", line 491, in metadata self.read_text('METADATA') File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/importlib_metadata/__init__.py", line 955, in read_text return self._path.joinpath(filename).read_text(encoding='utf-8') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/homebrew/Cellar/python@3.12/3.12.10/Frameworks/Python.framework/Versions/3.12/lib/python3.12/pathlib.py", line 1028, in read_text return f.read() ^^^^^^^^ File "/Users/test/src/ai-teams/.venv/lib/python3.12/site-packages/blockbuster/blockbuster.py", line 109, in wrapper raise BlockingError(func_name) blockbuster.blockbuster.BlockingError: Blocking call to io.TextIOWrapper.read ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langchain-ai/langgraph#551