Skip to content

AnonTaskStats.post_init fails when worker returns numpy.int64 #1000

@MathysRennela

Description

@MathysRennela

AnonTaskStats.post_init fails when worker returns numpy integer scalars (np.int64) — causes 'Worker failed' in CollectionManager.

Minimal reproducer

import numpy as np
import sinter
from sinter._data._anon_task_stats import AnonTaskStats

# Constructing AnonTaskStats with numpy int64 triggers AssertionError in __post_init__
a = AnonTaskStats(shots=np.int64(10), errors=np.int64(0), discards=np.int64(0), seconds=np.float64(0.0), custom_counts={})
print(a)

This happens when using sinter under pytest, since workers sometimes return numpy.int64 for fields like errors/shots.
This leads to an AssertionError on isinstance(self.errors, int). The CollectionManager aborts with "Worker failed".
This only happens with multiprocessing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions