eclipse-cyclonedds / eclipse-cyclonedds/cyclonedds-python
Python pub to C sub fails when using large/complex IDL
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 110
- Forks
- 68
- Avg merge
- 1h 8m
- Merged PRs (30d)
- 1
Description
I've been struggling for a while with Python/C interoperability when using a complex topic (simpler ones work). On one Ubuntu 20.04 PC, Python to C interoperability fails (but succeeds if I comment out some of the topic fields). A clue is an OpenDDS subscriber says 'ERROR: Sedp::TypeLookupRequestReader::data_received_i - failed to take type lookup request'
I don't really know how to debug further so I've forked good old i11eperf and made branch 'complex-union' to demonstrate the problem: git clone https://github.com/smnrgrs/i11eperf.git and switch to branch 'complex-union'.
I have extended the 'ou' topic, and added a python publisher in the Python folder.
I see the following:
Python pub -> osub FAIL
Python pub -> asub FAIL
apub -> osub OK
Python pub -> Python sub OK
If the case TDTypeBd is removed from the IDL union at line 260, then interoperability works. Any suggestions would be gratefully received.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the reporter's i11eperf complex-union branch and the Python folder, then inspect the extended ou topic and the IDL union around line 260. Reproduce the Python publisher to C subscriber failure and compare it with the working publisher and Python-subscriber cases. Done means identifying and fixing the interoperability failure involving TDTypeBd, with the reported combinations working.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100