Package: src:extra-data
Version: 1.20.0-1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202512/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:extra-data, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]

E       _pickle.PicklingError: Can't pickle local object <function 
RunValidator.check_files.<locals>.initializer at 0x7f4ba2126fb0>
E       when serializing tuple item 2
E       when serializing dict item '_args'
E       when serializing multiprocessing.context.ForkServerProcess state
E       when serializing multiprocessing.context.ForkServerProcess object

/usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError
_____________________________ test_file_error[1.0] _____________________________

mock_fxe_raw_run = '/tmp/tmpejxi9xx1'

    @pytest.mark.skipif(os.getuid() == 0, reason="Requires a non-root user")
    def test_file_error(mock_fxe_raw_run):
        not_readable = Path(mock_fxe_raw_run) / 'notReadable.h5'
        not_readable.touch(mode=0o066)
    
>       problems = RunValidator(mock_fxe_raw_run).run_checks()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

../../../extra_data/tests/test_validation.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../../extra_data/validation.py:278: in run_checks
    self.check_files()
../../../extra_data/validation.py:324: in check_files
    with Pool(initializer=initializer) as pool:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.14/multiprocessing/context.py:119: in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
/usr/lib/python3.14/multiprocessing/pool.py:215: in __init__
    self._repopulate_pool()
/usr/lib/python3.14/multiprocessing/pool.py:306: in _repopulate_pool
    return self._repopulate_pool_static(self._ctx, self.Process,
/usr/lib/python3.14/multiprocessing/pool.py:329: in _repopulate_pool_static
    w.start()
/usr/lib/python3.14/multiprocessing/process.py:121: in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
/usr/lib/python3.14/multiprocessing/context.py:300: in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
/usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__
    super().__init__(process_obj)
/usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__
    self._launch(process_obj)
/usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch
    reduction.dump(process_obj, buf)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

obj = <ForkServerProcess name='ForkServerPoolWorker-43' parent=91 initial 
daemon>
file = <_io.BytesIO object at 0x7f4ba2059f80>, protocol = None

    def dump(obj, file, protocol=None):
        '''Replacement for pickle.dump() using ForkingPickler.'''
>       ForkingPickler(file, protocol).dump(obj)
E       _pickle.PicklingError: Can't pickle local object <function 
RunValidator.check_files.<locals>.initializer at 0x7f4ba2127c10>
E       when serializing tuple item 2
E       when serializing dict item '_args'
E       when serializing multiprocessing.context.ForkServerProcess state
E       when serializing multiprocessing.context.ForkServerProcess object

/usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError
____________________________ test_validate_run[1.2] ____________________________

mock_fxe_raw_run = '/tmp/tmplyitqdra'

    def test_validate_run(mock_fxe_raw_run):
        rv = RunValidator(mock_fxe_raw_run)
>       rv.validate()

../../../extra_data/tests/test_validation.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../../extra_data/validation.py:271: in validate
    problems = self.run_checks()
               ^^^^^^^^^^^^^^^^^
../../../extra_data/validation.py:278: in run_checks
    self.check_files()
../../../extra_data/validation.py:324: in check_files
    with Pool(initializer=initializer) as pool:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.14/multiprocessing/context.py:119: in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
/usr/lib/python3.14/multiprocessing/pool.py:215: in __init__
    self._repopulate_pool()
/usr/lib/python3.14/multiprocessing/pool.py:306: in _repopulate_pool
    return self._repopulate_pool_static(self._ctx, self.Process,
/usr/lib/python3.14/multiprocessing/pool.py:329: in _repopulate_pool_static
    w.start()
/usr/lib/python3.14/multiprocessing/process.py:121: in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
/usr/lib/python3.14/multiprocessing/context.py:300: in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
/usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__
    super().__init__(process_obj)
/usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__
    self._launch(process_obj)
/usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch
    reduction.dump(process_obj, buf)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

obj = <ForkServerProcess name='ForkServerPoolWorker-63' parent=91 initial 
daemon>
file = <_io.BytesIO object at 0x7f4b9c6cf600>, protocol = None

    def dump(obj, file, protocol=None):
        '''Replacement for pickle.dump() using ForkingPickler.'''
>       ForkingPickler(file, protocol).dump(obj)
E       _pickle.PicklingError: Can't pickle local object <function 
RunValidator.check_files.<locals>.initializer at 0x7f4b9c6f41a0>
E       when serializing tuple item 2
E       when serializing dict item '_args'
E       when serializing multiprocessing.context.ForkServerProcess state
E       when serializing multiprocessing.context.ForkServerProcess object

/usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError
_____________________________ test_file_error[1.2] _____________________________

mock_fxe_raw_run = '/tmp/tmplyitqdra'

    @pytest.mark.skipif(os.getuid() == 0, reason="Requires a non-root user")
    def test_file_error(mock_fxe_raw_run):
        not_readable = Path(mock_fxe_raw_run) / 'notReadable.h5'
        not_readable.touch(mode=0o066)
    
>       problems = RunValidator(mock_fxe_raw_run).run_checks()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

../../../extra_data/tests/test_validation.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../../../extra_data/validation.py:278: in run_checks
    self.check_files()
../../../extra_data/validation.py:324: in check_files
    with Pool(initializer=initializer) as pool:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3.14/multiprocessing/context.py:119: in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
/usr/lib/python3.14/multiprocessing/pool.py:215: in __init__
    self._repopulate_pool()
/usr/lib/python3.14/multiprocessing/pool.py:306: in _repopulate_pool
    return self._repopulate_pool_static(self._ctx, self.Process,
/usr/lib/python3.14/multiprocessing/pool.py:329: in _repopulate_pool_static
    w.start()
/usr/lib/python3.14/multiprocessing/process.py:121: in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
/usr/lib/python3.14/multiprocessing/context.py:300: in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
/usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__
    super().__init__(process_obj)
/usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__
    self._launch(process_obj)
/usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch
    reduction.dump(process_obj, buf)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

obj = <ForkServerProcess name='ForkServerPoolWorker-64' parent=91 initial 
daemon>
file = <_io.BytesIO object at 0x7f4b9c6cdda0>, protocol = None

    def dump(obj, file, protocol=None):
        '''Replacement for pickle.dump() using ForkingPickler.'''
>       ForkingPickler(file, protocol).dump(obj)
E       _pickle.PicklingError: Can't pickle local object <function 
RunValidator.check_files.<locals>.initializer at 0x7f4b9c6f4d50>
E       when serializing tuple item 2
E       when serializing dict item '_args'
E       when serializing multiprocessing.context.ForkServerProcess state
E       when serializing multiprocessing.context.ForkServerProcess object

/usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError
=============================== warnings summary ===============================
extra_data/tests/test_components.py::test_modern_corr_sources
  /<<PKGBUILDDIR>>/extra_data/reader.py:282: DeprecationWarning: 
SPB_DET_AGIPD1M-1/DET/11CH0:xtdf is a legacy name for 
SPB_DET_AGIPD1M-1/CORR/11CH0:output. Access via this name will be removed for 
future data.
    return self._get_key_data(*item)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED ../../../extra_data/tests/test_validation.py::test_validate_run[0.5]
FAILED ../../../extra_data/tests/test_validation.py::test_file_error[0.5] - _...
FAILED ../../../extra_data/tests/test_validation.py::test_validate_run[1.0]
FAILED ../../../extra_data/tests/test_validation.py::test_file_error[1.0] - _...
FAILED ../../../extra_data/tests/test_validation.py::test_validate_run[1.2]
FAILED ../../../extra_data/tests/test_validation.py::test_file_error[1.2] - _...
============= 6 failed, 587 passed, 1 warning in 188.72s (0:03:08) =============
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_extra-data/build; python3.14 -m pytest 
{dir}/extra_data/tests
I: pybuild base:317: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_extra-data/build; python3.13 -m pytest 
/<<PKGBUILDDIR>>/extra_data/tests
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>
configfile: pytest.ini
plugins: typeguard-4.4.4
collected 593 items

../../../extra_data/tests/cli/test_make_virtual_cxi.py ..                [  0%]
../../../extra_data/tests/test_aliases.py ..........                     [  2%]
../../../extra_data/tests/test_bad_trains.py .                           [  2%]
../../../extra_data/tests/test_components.py ........................... [  6%]
                                                                         [  6%]
../../../extra_data/tests/test_copy.py ..                                [  7%]
../../../extra_data/tests/test_file_access.py .........                  [  8%]
../../../extra_data/tests/test_keydata.py ................               [ 11%]
../../../extra_data/tests/test_lsxfel.py ..                              [ 11%]
../../../extra_data/tests/test_open_file_limiter.py ..                   [ 11%]
../../../extra_data/tests/test_read_machinery.py .                       [ 12%]
../../../extra_data/tests/test_reader_mockdata.py ...................... [ 15%]
...........................................                              [ 23%]
../../../extra_data/tests/test_run_files_map.py .                        [ 23%]
../../../extra_data/tests/test_sourcedata.py ...............             [ 25%]
../../../extra_data/tests/test_stacking.py ........                      [ 27%]
../../../extra_data/tests/test_streamer.py ..                            [ 27%]
../../../extra_data/tests/test_validation.py ..                          [ 27%]
../../../extra_data/tests/test_voview.py ....                            [ 28%]
../../../extra_data/tests/test_writer.py ..                              [ 28%]
../../../extra_data/tests/cli/test_make_virtual_cxi.py ..                [ 29%]
../../../extra_data/tests/test_aliases.py ..........                     [ 30%]
../../../extra_data/tests/test_bad_trains.py .                           [ 31%]
../../../extra_data/tests/test_components.py ........................... [ 35%]
                                                                         [ 35%]
../../../extra_data/tests/test_copy.py ..                                [ 35%]
../../../extra_data/tests/test_file_access.py .........                  [ 37%]
../../../extra_data/tests/test_keydata.py ................               [ 40%]
../../../extra_data/tests/test_lsxfel.py ..                              [ 40%]
../../../extra_data/tests/test_open_file_limiter.py ..                   [ 40%]
../../../extra_data/tests/test_read_machinery.py .                       [ 40%]
../../../extra_data/tests/test_reader_mockdata.py ...................... [ 44%]
...........................................                              [ 51%]
../../../extra_data/tests/test_run_files_map.py .                        [ 52%]
../../../extra_data/tests/test_sourcedata.py ...............             [ 54%]
../../../extra_data/tests/test_stacking.py ........                      [ 55%]
../../../extra_data/tests/test_streamer.py ..                            [ 56%]
../../../extra_data/tests/test_validation.py ..                          [ 56%]
../../../extra_data/tests/test_voview.py ....                            [ 57%]
../../../extra_data/tests/test_writer.py ..                              [ 57%]
../../../extra_data/tests/cli/test_make_virtual_cxi.py ..                [ 58%]
../../../extra_data/tests/test_aliases.py ..........                     [ 59%]
../../../extra_data/tests/test_bad_trains.py .                           [ 59%]
../../../extra_data/tests/test_components.py ........................... [ 64%]
                                                                         [ 64%]
../../../extra_data/tests/test_copy.py ..                                [ 64%]
../../../extra_data/tests/test_file_access.py .........                  [ 66%]
../../../extra_data/tests/test_keydata.py ................               [ 68%]
../../../extra_data/tests/test_lsxfel.py ..                              [ 69%]
../../../extra_data/tests/test_open_file_limiter.py ..                   [ 69%]
../../../extra_data/tests/test_read_machinery.py .                       [ 69%]
../../../extra_data/tests/test_reader_mockdata.py ...................... [ 73%]
...........................................                              [ 80%]
../../../extra_data/tests/test_run_files_map.py .                        [ 80%]
../../../extra_data/tests/test_sourcedata.py ...............             [ 83%]
../../../extra_data/tests/test_stacking.py ........                      [ 84%]
../../../extra_data/tests/test_streamer.py ..                            [ 85%]
../../../extra_data/tests/test_validation.py ..                          [ 85%]
../../../extra_data/tests/test_voview.py ....                            [ 86%]
../../../extra_data/tests/test_writer.py ..                              [ 86%]
../../../extra_data/tests/cli/test_make_virtual_cxi.py .                 [ 86%]
../../../extra_data/tests/test_bad_trains.py ................            [ 89%]
../../../extra_data/tests/test_components.py ..................          [ 92%]
../../../extra_data/tests/test_copy.py .                                 [ 92%]
../../../extra_data/tests/test_file_access.py ...                        [ 93%]
../../../extra_data/tests/test_keydata.py ....                           [ 93%]
../../../extra_data/tests/test_open_run.py .....                         [ 94%]
../../../extra_data/tests/test_read_machinery.py ..                      [ 94%]
../../../extra_data/tests/test_reader_mockdata.py ..........             [ 96%]
../../../extra_data/tests/test_run_files_map.py .                        [ 96%]
../../../extra_data/tests/test_slice_objs.py .                           [ 96%]
../../../extra_data/tests/test_sourcedata.py .                           [ 97%]
../../../extra_data/tests/test_stacking.py ...                           [ 97%]
../../../extra_data/tests/test_streamer.py ..                            [ 97%]
../../../extra_data/tests/test_validation.py ...........                 [ 99%]
../../../extra_data/tests/test_voview.py .                               [100%]

=============================== warnings summary ===============================
extra_data/tests/test_components.py::test_modern_corr_sources
  /<<PKGBUILDDIR>>/extra_data/reader.py:282: DeprecationWarning: 
SPB_DET_AGIPD1M-1/DET/14CH0:xtdf is a legacy name for 
SPB_DET_AGIPD1M-1/CORR/14CH0:output. Access via this name will be removed for 
future data.
    return self._get_key_data(*item)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================== 593 passed, 1 warning in 183.47s (0:03:03) ==================
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" returned exit code 13
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit 
status 2
--------------------------------------------------------------------------------

Reply via email to