Package: src:celery
Version: 5.4.0-4
Severity: serious
Tags: ftbfs trixie sid

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with python3,sphinxdoc --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --with python3,sphinxdoc --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" 
module
I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_celery  
* Building wheel...

[... snipped ...]

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, [ 56%]
,,,,,,,,,,,............................................................. [ 58%]
........................................................................ [ 60%]
.........,,,.,,..,,,,.,,,,,,,.,,,,,,,.,,,,,,,.,,,,.......,,,,.,,,,..,,,, [ 61%]
.                                                                        [ 61%]
t/unit/tasks/test_states.py .............                                [ 62%]
t/unit/tasks/test_tasks.py ............................................. [ 63%]
......................................................................   [ 66%]
t/unit/tasks/test_trace.py ...........................................   [ 67%]
t/unit/test_canvas.py .                                                  [ 67%]
t/unit/utils/test_collections.py ....................................... [ 68%]
.............                                                            [ 69%]
t/unit/utils/test_debug.py .............                                 [ 69%]
t/unit/utils/test_deprecated.py ...                                      [ 69%]
t/unit/utils/test_dispatcher.py ..........                               [ 70%]
t/unit/utils/test_functional.py ...................x...,,,,,,........... [ 71%]
............................                                             [ 72%]
t/unit/utils/test_graph.py .........                                     [ 72%]
t/unit/utils/test_imports.py .........                                   [ 72%]
t/unit/utils/test_local.py ........................                      [ 73%]
t/unit/utils/test_nodenames.py .                                         [ 73%]
t/unit/utils/test_objects.py .                                           [ 73%]
t/unit/utils/test_pickle.py ..                                           [ 73%]
t/unit/utils/test_platforms.py ......................................... [ 75%]
......................................................                   [ 76%]
t/unit/utils/test_saferepr.py .......................................... [ 78%]
............................                                             [ 79%]
t/unit/utils/test_serialization.py ..............................        [ 80%]
t/unit/utils/test_sysinfo.py ..                                          [ 80%]
t/unit/utils/test_term.py .........................                      [ 81%]
t/unit/utils/test_text.py .............                                  [ 81%]
t/unit/utils/test_threads.py ......                                      [ 81%]
t/unit/utils/test_time.py .............................................. [ 83%]
............                                                             [ 83%]
t/unit/utils/test_timer2.py .........                                    [ 83%]
t/unit/utils/test_utils.py ....                                          [ 84%]
t/unit/worker/test_autoscale.py .............                            [ 84%]
t/unit/worker/test_bootsteps.py ..............................           [ 85%]
t/unit/worker/test_components.py .........                               [ 85%]
t/unit/worker/test_consumer.py ......,,,.,,,.,,,.,,,.,,,.,,,..,,,....... [ 86%]
..............,.,,..,.,.,,..,.,,.,,.,,.,,.,,.......................      [ 88%]
t/unit/worker/test_control.py .......................................... [ 89%]
.........                                                                [ 89%]
t/unit/worker/test_heartbeat.py .....                                    [ 89%]
t/unit/worker/test_loops.py ........................................     [ 91%]
t/unit/worker/test_request.py .......................................... [ 92%]
......................................................................   [ 94%]
t/unit/worker/test_revoke.py .                                           [ 94%]
t/unit/worker/test_state.py ................                             [ 95%]
t/unit/worker/test_strategy.py ......................................... [ 96%]
............................                                             [ 97%]
t/unit/worker/test_worker.py ..................................s........ [ 99%]
........................                                                 [100%]

=================================== FAILURES ===================================
________________ test_preload_options[subcommand_with_params0] _________________

subcommand_with_params = ('purge', '-f')
isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8f27a4c20>

    @pytest.mark.parametrize(
        "subcommand_with_params",
        [
            ("purge", "-f"),
            ("shell",),
        ]
    )
    def test_preload_options(subcommand_with_params: Tuple[str, ...], 
isolated_cli_runner: CliRunner):
        # Verify commands like shell and purge can accept preload options.
        # Projects like Pyramid-Celery's ini option should be valid preload
        # options.
        res_without_preload = isolated_cli_runner.invoke(
            celery,
            ["-A", "t.unit.bin.proj.app", *subcommand_with_params, "--ini", 
"some_ini.ini"],
            catch_exceptions=False,
        )
    
>       assert "No such option: --ini" in res_without_preload.stdout
E       AssertionError: assert 'No such option: --ini' in ''
E        +  where '' = <Result SystemExit(2)>.stdout

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/app/test_preload_cli.py:41:
 AssertionError
________________ test_preload_options[subcommand_with_params1] _________________

subcommand_with_params = ('shell',)
isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8f2929e50>

    @pytest.mark.parametrize(
        "subcommand_with_params",
        [
            ("purge", "-f"),
            ("shell",),
        ]
    )
    def test_preload_options(subcommand_with_params: Tuple[str, ...], 
isolated_cli_runner: CliRunner):
        # Verify commands like shell and purge can accept preload options.
        # Projects like Pyramid-Celery's ini option should be valid preload
        # options.
        res_without_preload = isolated_cli_runner.invoke(
            celery,
            ["-A", "t.unit.bin.proj.app", *subcommand_with_params, "--ini", 
"some_ini.ini"],
            catch_exceptions=False,
        )
    
>       assert "No such option: --ini" in res_without_preload.stdout
E       AssertionError: assert 'No such option: --ini' in ''
E        +  where '' = <Result SystemExit(2)>.stdout

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/app/test_preload_cli.py:41:
 AssertionError
_______________ test_custom_remote_command[inspect-custom_cmd0] ________________

celery_cmd = 'inspect', custom_cmd = ('custom_inspect_cmd', '123')
isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8e95c1cd0>

    @pytest.mark.parametrize(
        ('celery_cmd', 'custom_cmd'),
        [
            ('inspect', ('custom_inspect_cmd', '123')),
            ('control', ('custom_control_cmd', '123', '456')),
        ],
    )
    def test_custom_remote_command(celery_cmd, custom_cmd, isolated_cli_runner: 
CliRunner):
        res = isolated_cli_runner.invoke(
            celery,
            [*_GLOBAL_OPTIONS, celery_cmd, *_INSPECT_OPTIONS, *custom_cmd],
            catch_exceptions=False,
        )
        assert res.exit_code == EX_UNAVAILABLE, (res, res.stdout)
>       assert res.stdout.strip() == 'Error: No nodes replied within time 
> constraint'
E       AssertionError: assert '' == 'Error: No no...me constraint'
E         
E         - Error: No nodes replied within time constraint

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/bin/test_control.py:37:
 AssertionError
------------------------------ Captured log call -------------------------------
WARNING  kombu.connection:connection.py:669 No hostname was supplied. Reverting 
to default 'localhost'
WARNING  kombu.connection:connection.py:669 No hostname was supplied. Reverting 
to default 'localhost'
_______________ test_custom_remote_command[control-custom_cmd1] ________________

celery_cmd = 'control', custom_cmd = ('custom_control_cmd', '123', '456')
isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8f0342f90>

    @pytest.mark.parametrize(
        ('celery_cmd', 'custom_cmd'),
        [
            ('inspect', ('custom_inspect_cmd', '123')),
            ('control', ('custom_control_cmd', '123', '456')),
        ],
    )
    def test_custom_remote_command(celery_cmd, custom_cmd, isolated_cli_runner: 
CliRunner):
        res = isolated_cli_runner.invoke(
            celery,
            [*_GLOBAL_OPTIONS, celery_cmd, *_INSPECT_OPTIONS, *custom_cmd],
            catch_exceptions=False,
        )
        assert res.exit_code == EX_UNAVAILABLE, (res, res.stdout)
>       assert res.stdout.strip() == 'Error: No nodes replied within time 
> constraint'
E       AssertionError: assert '' == 'Error: No no...me constraint'
E         
E         - Error: No nodes replied within time constraint

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/bin/test_control.py:37:
 AssertionError
____ test_unrecognized_remote_command[inspect-this_command_does_not_exist] _____

celery_cmd = 'inspect', remote_cmd = 'this_command_does_not_exist'
isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8e84db240>

    @pytest.mark.parametrize(
        ('celery_cmd', 'remote_cmd'),
        [
            # Test nonexistent commands
            ('inspect', 'this_command_does_not_exist'),
            ('control', 'this_command_does_not_exist'),
            # Test commands that exist, but are of the wrong type
            ('inspect', 'custom_control_cmd'),
            ('control', 'custom_inspect_cmd'),
        ],
    )
    def test_unrecognized_remote_command(celery_cmd, remote_cmd, 
isolated_cli_runner: CliRunner):
        res = isolated_cli_runner.invoke(
            celery,
            [*_GLOBAL_OPTIONS, celery_cmd, *_INSPECT_OPTIONS, remote_cmd],
            catch_exceptions=False,
        )
        assert res.exit_code == 2, (res, res.stdout)
>       assert f'Error: Command {remote_cmd} not recognized. Available 
> {celery_cmd} commands: ' in res.stdout
E       AssertionError: assert 'Error: Command this_command_does_not_exist not 
recognized. Available inspect commands: ' in ''
E        +  where '' = <Result SystemExit(2)>.stdout

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/bin/test_control.py:58:
 AssertionError
____ test_unrecognized_remote_command[control-this_command_does_not_exist] _____

celery_cmd = 'control', remote_cmd = 'this_command_does_not_exist'
isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8e84d97b0>

    @pytest.mark.parametrize(
        ('celery_cmd', 'remote_cmd'),
        [
            # Test nonexistent commands
            ('inspect', 'this_command_does_not_exist'),
            ('control', 'this_command_does_not_exist'),
            # Test commands that exist, but are of the wrong type
            ('inspect', 'custom_control_cmd'),
            ('control', 'custom_inspect_cmd'),
        ],
    )
    def test_unrecognized_remote_command(celery_cmd, remote_cmd, 
isolated_cli_runner: CliRunner):
        res = isolated_cli_runner.invoke(
            celery,
            [*_GLOBAL_OPTIONS, celery_cmd, *_INSPECT_OPTIONS, remote_cmd],
            catch_exceptions=False,
        )
        assert res.exit_code == 2, (res, res.stdout)
>       assert f'Error: Command {remote_cmd} not recognized. Available 
> {celery_cmd} commands: ' in res.stdout
E       AssertionError: assert 'Error: Command this_command_does_not_exist not 
recognized. Available control commands: ' in ''
E        +  where '' = <Result SystemExit(2)>.stdout

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/bin/test_control.py:58:
 AssertionError
_________ test_unrecognized_remote_command[inspect-custom_control_cmd] _________

celery_cmd = 'inspect', remote_cmd = 'custom_control_cmd'
isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8e9b89c50>

    @pytest.mark.parametrize(
        ('celery_cmd', 'remote_cmd'),
        [
            # Test nonexistent commands
            ('inspect', 'this_command_does_not_exist'),
            ('control', 'this_command_does_not_exist'),
            # Test commands that exist, but are of the wrong type
            ('inspect', 'custom_control_cmd'),
            ('control', 'custom_inspect_cmd'),
        ],
    )
    def test_unrecognized_remote_command(celery_cmd, remote_cmd, 
isolated_cli_runner: CliRunner):
        res = isolated_cli_runner.invoke(
            celery,
            [*_GLOBAL_OPTIONS, celery_cmd, *_INSPECT_OPTIONS, remote_cmd],
            catch_exceptions=False,
        )
        assert res.exit_code == 2, (res, res.stdout)
>       assert f'Error: Command {remote_cmd} not recognized. Available 
> {celery_cmd} commands: ' in res.stdout
E       AssertionError: assert 'Error: Command custom_control_cmd not 
recognized. Available inspect commands: ' in ''
E        +  where '' = <Result SystemExit(2)>.stdout

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/bin/test_control.py:58:
 AssertionError
_________ test_unrecognized_remote_command[control-custom_inspect_cmd] _________

celery_cmd = 'control', remote_cmd = 'custom_inspect_cmd'
isolated_cli_runner = <click.testing.CliRunner object at 0x7fc8e9b89550>

    @pytest.mark.parametrize(
        ('celery_cmd', 'remote_cmd'),
        [
            # Test nonexistent commands
            ('inspect', 'this_command_does_not_exist'),
            ('control', 'this_command_does_not_exist'),
            # Test commands that exist, but are of the wrong type
            ('inspect', 'custom_control_cmd'),
            ('control', 'custom_inspect_cmd'),
        ],
    )
    def test_unrecognized_remote_command(celery_cmd, remote_cmd, 
isolated_cli_runner: CliRunner):
        res = isolated_cli_runner.invoke(
            celery,
            [*_GLOBAL_OPTIONS, celery_cmd, *_INSPECT_OPTIONS, remote_cmd],
            catch_exceptions=False,
        )
        assert res.exit_code == 2, (res, res.stdout)
>       assert f'Error: Command {remote_cmd} not recognized. Available 
> {celery_cmd} commands: ' in res.stdout
E       AssertionError: assert 'Error: Command custom_inspect_cmd not 
recognized. Available control commands: ' in ''
E        +  where '' = <Result SystemExit(2)>.stdout

/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/bin/test_control.py:58:
 AssertionError
=============================== warnings summary ===============================
t/unit/app/test_backends.py: 1 warning
t/unit/contrib/test_worker.py: 2 warnings
t/unit/worker/test_consumer.py: 2 warnings
t/unit/worker/test_worker.py: 17 warnings
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/worker/consumer/consumer.py:508:
 CPendingDeprecationWarning: The broker_connection_retry configuration setting 
will no longer determine
  whether broker connection retries are made during startup in Celery 6.0 and 
above.
  If you wish to retain the existing behavior for retrying connections on 
startup,
  you should set broker_connection_retry_on_startup to True.
    warnings.warn(

t/unit/app/test_beat.py::test_Scheduler::test_ticks_microseconds
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/app/test_beat.py:416:
 DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and 
scheduled for removal in a future version. Use timezone-aware objects to 
represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, 
datetime.UTC).
    now = datetime.utcfromtimestamp(now_ts)

t/unit/backends/test_s3.py: 29 warnings
  /usr/lib/python3/dist-packages/botocore/auth.py:425: DeprecationWarning: 
datetime.datetime.utcnow() is deprecated and scheduled for removal in a future 
version. Use timezone-aware objects to represent datetimes in UTC: 
datetime.datetime.now(datetime.UTC).
    datetime_now = datetime.datetime.utcnow()

t/unit/bin/test_daemonization.py::test_daemon_options_from_config[events]
  /usr/lib/python3/dist-packages/click/core.py:1179: UserWarning: The parameter 
-d is used more than once. Remove its duplicate as parameters should be unique.
    parser = self.make_parser(ctx)

t/unit/bin/test_daemonization.py::test_daemon_options_from_config[events]
  /usr/lib/python3/dist-packages/click/core.py:1172: UserWarning: The parameter 
-d is used more than once. Remove its duplicate as parameters should be unique.
    self.parse_args(ctx, args)

t/unit/tasks/test_canvas.py::test_chord::test_links_to_body
t/unit/tasks/test_canvas.py::test_chord::test_flag_allow_error_cb_on_chord_header
t/unit/tasks/test_stamping.py::test_stamping_mechanism::test_link_error_does_not_duplicate_stamps
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/canvas.py:2303: 
CPendingDeprecationWarning: task_allow_error_cb_on_chord_header=False is 
pending deprecation in a future release of Celery.
  Please test the new behavior by setting task_allow_error_cb_on_chord_header 
to True and report any concerns you might have in our issue tracker before we 
make a final decision regarding how errbacks should behave when used with 
chords.
    warnings.warn(

t/unit/tasks/test_stamping.py::test_stamping_mechanism::test_callback_stamping
t/unit/tasks/test_stamping.py::test_stamping_mechanism::test_callback_stamping_link_after_stamp
t/unit/tasks/test_stamping.py::test_stamping_mechanism::test_callback_stamping_link_multiple_visitors
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/canvas.py:400: 
AlwaysEagerIgnored: task_always_eager has no effect on send_task
    return _apply(args, kwargs, **options)

t/unit/tasks/test_trace.py::test_trace::test_backend_error_should_report_failure
t/unit/worker/test_request.py::test_Request::test_execute_backend_error_acks_late
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py:662: 
RuntimeWarning: Exception raised outside body: Exception():
  Traceback (most recent call last):
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 520, in trace_task
      task.backend.mark_as_done(
      ~~~~~~~~~~~~~~~~~~~~~~~~~^
          uuid, retval, task_request, publish_result,
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      )
      ^
    File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
      return self._mock_call(*args, **kwargs)
             ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
      return self._execute_mock_call(*args, **kwargs)
             ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1226, in 
_execute_mock_call
      raise effect
  Exception
  
    warn(RuntimeWarning(

t/unit/tasks/test_trace.py::test_trace::test_backend_error_should_report_failure
t/unit/worker/test_request.py::test_Request::test_execute_backend_error_acks_late
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py:662: 
RuntimeWarning: Exception raised outside body: Exception():
  Traceback (most recent call last):
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 520, in trace_task
      task.backend.mark_as_done(
      ~~~~~~~~~~~~~~~~~~~~~~~~~^
          uuid, retval, task_request, publish_result,
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      )
      ^
    File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
      return self._mock_call(*args, **kwargs)
             ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
      return self._execute_mock_call(*args, **kwargs)
             ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1226, in 
_execute_mock_call
      raise effect
  Exception
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 586, in trace_task
      return task.__trace__(uuid, args, kwargs, request)
             ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 574, in trace_task
      I, _, _, _ = on_error(task_request, exc)
                   ~~~~~~~~^^^^^^^^^^^^^^^^^^^
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 381, in on_error
      R = I.handle_error_state(
          task, request, eager=eager, call_errbacks=call_errbacks,
      )
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 175, in handle_error_state
      return {
             ~
          RETRY: self.handle_retry,
          ~~~~~~~~~~~~~~~~~~~~~~~~~
          FAILURE: self.handle_failure,
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      }[self.state](task, req,
      ~~~~~~~~~~~~~^^^^^^^^^^^
                    store_errors=store_errors,
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
                    call_errbacks=call_errbacks)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 227, in handle_failure
      task.backend.mark_as_failure(
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
          req.id, exc, einfo.traceback,
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          request=req, store_result=store_errors,
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          call_errbacks=call_errbacks,
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      )
      ^
    File "/usr/lib/python3.13/unittest/mock.py", line 1167, in __call__
      return self._mock_call(*args, **kwargs)
             ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1171, in _mock_call
      return self._execute_mock_call(*args, **kwargs)
             ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1226, in 
_execute_mock_call
      raise effect
  Exception
  
    warn(RuntimeWarning(

t/unit/utils/test_time.py::test_iso8601::test_parse_with_timezone
t/unit/utils/test_time.py::test_iso8601::test_parse_with_timezone
t/unit/utils/test_time.py::test_iso8601::test_parse_with_timezone
t/unit/utils/test_time.py::test_iso8601::test_parse_with_timezone
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/utils/iso8601.py:55:
 CPendingDeprecationWarning: 
      parse_iso8601 is scheduled for deprecation in     version v5.3 and 
removal in version vv6.     datetime.datetime.fromisoformat or 
dateutil.parser.isoparse
  
    warn("parse_iso8601", "v5.3", "v6", "datetime.datetime.fromisoformat or 
dateutil.parser.isoparse")

t/unit/worker/test_consumer.py: 16 warnings
t/unit/worker/test_worker.py: 1 warning
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/worker/consumer/consumer.py:391:
 CPendingDeprecationWarning: 
  In Celery 5.1 we introduced an optional breaking change which
  on connection loss cancels all currently executed tasks with late 
acknowledgement enabled.
  These tasks cannot be acknowledged as the connection is gone, and the tasks 
are automatically redelivered
  back to the queue. You can enable this behavior using the 
worker_cancel_long_running_tasks_on_connection_loss
  setting. In Celery 5.1 it is set to False by default. The setting will be set 
to True by default in Celery 6.0.
  
    warnings.warn(CANCEL_TASKS_BY_DEFAULT, CPendingDeprecationWarning)

t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[True-None-False]
t/unit/worker/test_consumer.py::test_Consumer::test_ensure_connected[False-None-False]
t/unit/worker/test_worker.py::test_Consumer::test_receive_message_eta
t/unit/worker/test_worker.py::test_Consumer::test_receive_message_eta
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/worker/consumer/consumer.py:508:
 CPendingDeprecationWarning: The broker_connection_retry configuration setting 
will no longer determine
  whether broker connection retries are made during startup in Celery 6.0 and 
above.
  If you wish to retain the existing behavior for retrying connections on 
startup,
  you should set broker_connection_retry_on_startup to False.
    warnings.warn(

t/unit/worker/test_request.py::test_Request::test_from_message_invalid_kwargs
  /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py:662: 
RuntimeWarning: Exception raised outside body: InvalidTaskError('Task keyword 
arguments is not a mapping'):
  Traceback (most recent call last):
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 403, in trace_task
      kwargs.items
  AttributeError: 'str' object has no attribute 'items'
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 405, in trace_task
      raise InvalidTaskError(
          'Task keyword arguments is not a mapping')
  celery.exceptions.InvalidTaskError: Task keyword arguments is not a mapping
  
    warn(RuntimeWarning(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED 
t/unit/app/test_preload_cli.py::test_preload_options[subcommand_with_params0]
FAILED 
t/unit/app/test_preload_cli.py::test_preload_options[subcommand_with_params1]
FAILED 
t/unit/bin/test_control.py::test_custom_remote_command[inspect-custom_cmd0]
FAILED 
t/unit/bin/test_control.py::test_custom_remote_command[control-custom_cmd1]
FAILED 
t/unit/bin/test_control.py::test_unrecognized_remote_command[inspect-this_command_does_not_exist]
FAILED 
t/unit/bin/test_control.py::test_unrecognized_remote_command[control-this_command_does_not_exist]
FAILED 
t/unit/bin/test_control.py::test_unrecognized_remote_command[inspect-custom_control_cmd]
FAILED 
t/unit/bin/test_control.py::test_unrecognized_remote_command[control-custom_inspect_cmd]
= 8 failed, 2994 passed, 26 skipped, 8 deselected, 3 xfailed, 90 warnings, 
28910 subtests passed in 75.82s (0:01:15) =
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build; python3.13 -m pytest 
--ignore=t/unit/backends/test_base.py --ignore=t/unit/backends/test_gcs.py 
--ignore=t/unit/backends/test_rpc.py --ignore=t/unit/contrib/test_pytest.py 
--ignore=t/unit/concurrency/test_eventlet.py 
--ignore=t/unit/concurrency/test_prefork.py -k "not 
test_check_privileges[accept_content0] and not 
test_check_privileges[accept_content1] and not 
test_check_privileges[accept_content2] and not 
test_regression_worker_startup_info and not test_with_guid and not 
test_only_gid and not test_init_mongodb_dnspython2_pymongo3_seedlist" t/unit
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
3.13" returned exit code 13
make: *** [debian/rules:10: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

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

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 could not 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:celery, so that this is still
visible in the BTS web page for this package.

Thanks.

Reply via email to