A bidirectional-stream deadlock in LayoutInstance::query_layout_obj_instances on Linux
- Dominant language
- Python
- Stars
- 7
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
### 🔍 Before submitting the issue
- [x] I have searched among the existing issues
- [x] I am using a Python virtual environment
### 🐞 Description of the bug
This issue can only be reproduced on Linux.
The server waits for the first request to finish.
The client waits for the first response.
One approach to address this issue is to write from the client side to notify server a request is fully written.
Also, it seems unnecessary to write the request as a stream.
### 📝 Steps to reproduce
Run `pyedb` test case.
```
python -m pytest tests/system/test_cutout.py -v
```
### 💻 Which operating system are you using?
Linux
### 📀 Which ANSYS version are you using?
_No response_
### 🐍 Which Python version are you using?
3.9
### 📦 Installed packages
```shell
annotated-types==0.7.0
ansys-api-edb==0.3.0
ansys-edb-core==0.3.0
ansys-pythonnet==3.1.0rc6
ansys-tools-common==0.5.0
asgiref==3.11.1
certifi==2026.2.25
cffi==2.0.0
cfgv==3.5.0
charset-normalizer==3.4.7
click==8.3.2
clr_loader==0.2.10
colorama==0.4.6
defusedxml==0.7.1
distlib==0.4.0
Django==5.2.13
exceptiongroup==1.3.1
filelock==3.20.3
grpcio==1.80.0
identify==2.6.16
idna==3.11
iniconfig==2.3.0
nodeenv==1.10.0
numpy==2.2.6
packaging==26.1
pandas==2.3.3
platformdirs==4.5.1
pluggy==1.6.0
pre_commit==4.5.1
protobuf==6.33.6
psutil==7.2.2
pycparser==3.0
pydantic==2.12.5
pydantic_core==2.41.5
pyedb @ file:///C:/ansysdev/view1/edbapi/pyedb
Pygments==2.20.0
pytest==9.0.3
python-dateutil==2.9.0.post0
pytz==2026.1.post1
pywin32==311
PyYAML==6.0.3
requests==2.33.1
scooby==0.11.0
six==1.17.0
sqlparse==0.5.5
toml==0.10.2
tomli==2.4.1
typing-inspection==0.4.2
typing_extensions==4.15.0
tzdata==2026.1
urllib3==2.6.3
virtualenv==20.36.1
xmltodict==1.0.4
```
Contributor guide
Research direction
Run `python -m pytest tests/system/test_cutout.py -v` on Linux and inspect `LayoutInstance::query_layout_obj_instances`, focusing on how the client writes the request and waits for the response. Done means the test no longer deadlocks and the client-server exchange completes; evaluate the reported EOF or non-streaming approaches without assuming either is required.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, python
- Domain
- api, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100