dask / dask/partd

test_serialization failure on ppcl64el and s390x

Open
#56 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
107
Forks
32
PR merge metrics
No merged PRs in 30d

Description

Hello,

Rebecca Palmer noticed out that test_serialization in partd version 1.2.0's tests occasionally fail on ppc64el and s390x . ( https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1005045 )

```
=================================== FAILURES
===================================
______________________________ test_serialization
______________________________

def test_serialization():
with partd_server(hostname='localhost') as (p, server):
p.append({'x': b'123'})
q = pickle.loads(pickle.dumps(p))
> assert q.get('x') == b'123'
E AssertionError: assert b'' == b'123'
E Full diff:
E - b'123'
E + b''

test_zmq.py:114: AssertionError
```

The full logs are at:
https://ci.debian.net/data/autopkgtest/testing/ppc64el/p/partd/18902384/log.gz
https://ci.debian.net/data/autopkgtest/testing/s390x/p/partd/16889914/log.gz

That code failure really looks like some kind of race condition.

We were wondering what to do about this test failure.

Stick a brief sleep in between the append and the get? block building on these architectures? Just ignore it?

**Environment**:

- Python version: 3.9.10
- Operating System: Debian testing
- Install method (conda, pip, source): Debian package version 1.2.0-1 CI tests.

Contributor guide

Open the contributing guide

Research direction

Start with test_zmq.py at test_serialization and reproduce the failure on ppc64el or s390x using the Debian CI logs and the Python 3.9.10 environment described. Trace the partd_server append, pickle round trip, and get sequence to determine the intermittent cause; done means the test reliably passes on the affected architectures without masking the failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
databases, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.