ansys / ansys/pyedb-core

A bidirectional-stream deadlock in LayoutInstance::query_layout_obj_instances on Linux

Open
#728 0 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.