Description
Hi,
We’re seeing a reproducible crash after migrating from Python 3.10 to 3.12 on Windows.
Setup:
- OS: Windows 10
- Python: 3.12.x
- Using pyxcp over ETH/UDP (IPv6)
- Test execution via Robot Framework
Behavior:
- Running the same XCP flow directly from a normal Python main script works fine.
- Running it from Robot Framework crashes the Python process with:
- exit code -1073741819 (0xC0000005), Windows access violation
- faulthandler stack trace points into pyxcp:
- pyxcp.transport.eth (_packet_listen / listen)
- pyxcp.master.master.connect()
- pyxcp.transport.base._request_internal()
Notes:
- This is not a Python exception; it is a hard process crash.
- As a workaround, we moved pyxcp work into a separate spawned process and communicate via queues; this avoids the crash under Robot.
Question:
- Is this a known compatibility issue with Python 3.12 and/or threaded execution environments like Robot Framework?
- Do you recommend a specific pyxcp version, transport/threading setting, or connect/listener sequence for Python 3.12 on Windows?
- If useful, we can share a minimal reproducer and full faulthandler log.
Transport Layer
Ethernet (UDP)
Category
Transport / Connection
pyxcp Version
0.25.5
Python Version
3.12
Operating System
Windows 10
Installation Method
pip install pyxcp
Steps to Reproduce
- Use Windows + Python 3.12.x environment.
- Run our XCP flow with pyxcp over ETH/UDP (IPv6) inside Robot Framework (same flow that works from a normal Python main script).
- Execute a connection sequence that includes:
transport.start_listener()
master.connect()
- During Robot execution, Python crashes with:
Process finished with exit code -1073741819 (0xC0000005)
faulthandler stack trace points to:
pyxcp.transport.eth (_packet_listen, listen)
pyxcp.transport.base._request_internal
pyxcp.master.master.connect
Expected Behavior
pyxcp should behave the same under Robot Framework as in a normal Python main script:
- no native process crash,
- no access violation (0xC0000005),
- clean connect/status flow or a regular Python exception if connection fails.
Actual Behavior
Under Robot Framework (Windows, Python 3.12), pyxcp crashes the interpreter with:
Process finished with exit code -1073741819 (0xC0000005)
Windows fatal exception: access violation
faulthandler points to:
pyxcp.master.master.connect
pyxcp.transport.base._request_internal
pyxcp.transport.eth._packet_listen / listen
Same flow works from a regular Python main script.
Current workaround: run pyxcp in a separate spawned process.
Configuration
Additional Logs
Checklist
Description
Hi,
We’re seeing a reproducible crash after migrating from Python 3.10 to 3.12 on Windows.
Setup:
Behavior:
Notes:
Question:
Transport Layer
Ethernet (UDP)
Category
Transport / Connection
pyxcp Version
0.25.5
Python Version
3.12
Operating System
Windows 10
Installation Method
pip install pyxcp
Steps to Reproduce
transport.start_listener()master.connect()Process finished with exit code -1073741819 (0xC0000005)faulthandlerstack trace points to:pyxcp.transport.eth(_packet_listen,listen)pyxcp.transport.base._request_internalpyxcp.master.master.connectExpected Behavior
pyxcp should behave the same under Robot Framework as in a normal Python main script:
Actual Behavior
Under Robot Framework (Windows, Python 3.12), pyxcp crashes the interpreter with:
Process finished with exit code -1073741819 (0xC0000005)Windows fatal exception: access violationfaulthandlerpoints to:pyxcp.master.master.connectpyxcp.transport.base._request_internalpyxcp.transport.eth._packet_listen/listenSame flow works from a regular Python
mainscript.Current workaround: run pyxcp in a separate spawned process.
Configuration
Additional Logs
Checklist