Package: src:celery
Version: 5.6.2-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/202601/

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

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with 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 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:139: Building wheel for python3.14 with "build" 
module
I: pybuild base:384: python3.14 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_celery  
* Building wheel...
<string>:131: DeprecationWarning: codecs.open() is deprecated. Use open() 
instead.

[... snipped ...]

t/unit/test_canvas.py .                                                  [ 67%]
t/unit/test_loops.py .                                                   [ 67%]
t/unit/utils/test_annotations.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 ...........                              [ 69%]
t/unit/utils/test_functional.py ...................x.................... [ 71%]
......................                                                   [ 71%]
t/unit/utils/test_graph.py .........                                     [ 72%]
t/unit/utils/test_imports.py .........                                   [ 72%]
t/unit/utils/test_iso8601.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 ......................................... [ 74%]
........................................................                 [ 76%]
t/unit/utils/test_saferepr.py .......................................... [ 77%]
............................                                             [ 78%]
t/unit/utils/test_serialization.py ..............................        [ 79%]
t/unit/utils/test_sysinfo.py ..                                          [ 79%]
t/unit/utils/test_term.py ............................                   [ 80%]
t/unit/utils/test_text.py .............                                  [ 80%]
t/unit/utils/test_threads.py ......                                      [ 81%]
t/unit/utils/test_time.py .............................................. [ 82%]
............                                                             [ 82%]
t/unit/utils/test_timer2.py .........                                    [ 83%]
t/unit/utils/test_utils.py ....                                          [ 83%]
t/unit/worker/test_autoscale.py ..............                           [ 83%]
t/unit/worker/test_bootsteps.py ..............................           [ 84%]
t/unit/worker/test_components.py .........                               [ 84%]
t/unit/worker/test_consumer.py ......................................... [ 86%]
...............................................                          [ 87%]
t/unit/worker/test_control.py .......................................... [ 88%]
.............                                                            [ 89%]
t/unit/worker/test_heartbeat.py .....                                    [ 89%]
t/unit/worker/test_loops.py ........................................     [ 90%]
t/unit/worker/test_native_delayed_delivery.py .......................... [ 91%]
.                                                                        [ 91%]
t/unit/worker/test_request.py .......................................... [ 92%]
........................................................................ [ 94%]
....                                                                     [ 95%]
t/unit/worker/test_revoke.py .                                           [ 95%]
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_MongoBackend.test_store_result ______________________

self = <t.unit.backends.test_mongodb.test_MongoBackend object at 0x7fd53bd8f3e0>
mock_get_database = <MagicMock name='_get_database' id='140553660116208'>

    @patch('celery.backends.mongodb.MongoBackend._get_database')
    def test_store_result(self, mock_get_database):
        self.backend.taskmeta_collection = MONGODB_COLLECTION
    
        mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
        mock_collection = Mock()
    
        mock_get_database.return_value = mock_database
        mock_database.__getitem__.return_value = mock_collection
    
        ret_val = self.backend._store_result(
            sentinel.task_id, sentinel.result, sentinel.status)
    
        mock_get_database.assert_called_once_with()
        mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
        mock_collection.replace_one.assert_called_once_with(ANY, ANY,
                                                            upsert=True)
        assert sentinel.result == ret_val
    
>       mock_collection.replace_one.side_effect = InvalidDocument()
                                                  ^^^^^^^^^^^^^^^^^
E       TypeError: InvalidDocument.__init__() missing 1 required positional 
argument: 'message'

t/unit/backends/test_mongodb.py:393: TypeError
_______________ test_MongoBackend.test_store_result_with_request _______________

self = <t.unit.backends.test_mongodb.test_MongoBackend object at 0x7fd53ba7ad50>
mock_get_database = <MagicMock name='_get_database' id='140553660119568'>

    @patch('celery.backends.mongodb.MongoBackend._get_database')
    def test_store_result_with_request(self, mock_get_database):
        self.backend.taskmeta_collection = MONGODB_COLLECTION
    
        mock_database = MagicMock(spec=['__getitem__', '__setitem__'])
        mock_collection = Mock()
        mock_request = MagicMock(spec=['parent_id'])
    
        mock_get_database.return_value = mock_database
        mock_database.__getitem__.return_value = mock_collection
        mock_request.parent_id = sentinel.parent_id
    
        ret_val = self.backend._store_result(
            sentinel.task_id, sentinel.result, sentinel.status,
            request=mock_request)
    
        mock_get_database.assert_called_once_with()
        mock_database.__getitem__.assert_called_once_with(MONGODB_COLLECTION)
        parameters = mock_collection.replace_one.call_args[0][1]
        assert parameters['parent_id'] == sentinel.parent_id
        assert sentinel.result == ret_val
    
>       mock_collection.replace_one.side_effect = InvalidDocument()
                                                  ^^^^^^^^^^^^^^^^^
E       TypeError: InvalidDocument.__init__() missing 1 required positional 
argument: 'message'

t/unit/backends/test_mongodb.py:420: TypeError
=============================== warnings summary ===============================
t/unit/app/test_beat.py::test_Scheduler::test_ticks_microseconds
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/t/unit/app/test_beat.py:418:
 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/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:2302: 
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:705: 
RuntimeWarning: Exception raised outside body: Exception():
  Traceback (most recent call last):
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 550, in trace_task
      task.backend.mark_as_done(
      ~~~~~~~~~~~~~~~~~~~~~~~~~^
          uuid, retval, task_request, publish_result,
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      )
      ^
    File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__
      return self._mock_call(*args, **kwargs)
             ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call
      return self._execute_mock_call(*args, **kwargs)
             ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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:705: 
RuntimeWarning: Exception raised outside body: Exception():
  Traceback (most recent call last):
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 550, in trace_task
      task.backend.mark_as_done(
      ~~~~~~~~~~~~~~~~~~~~~~~~~^
          uuid, retval, task_request, publish_result,
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      )
      ^
    File "/usr/lib/python3.13/unittest/mock.py", line 1169, in __call__
      return self._mock_call(*args, **kwargs)
             ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call
      return self._execute_mock_call(*args, **kwargs)
             ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1228, 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 618, in trace_task
      return task.__trace__(uuid, args, kwargs, request)
             ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 606, in trace_task
      I, _, _, _ = on_error(task_request, exc)
                   ~~~~~~~~^^^^^^^^^^^^^^^^^^^
    File 
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_celery/build/celery/app/trace.py", 
line 407, 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 236, 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 1169, in __call__
      return self._mock_call(*args, **kwargs)
             ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1173, in _mock_call
      return self._execute_mock_call(*args, **kwargs)
             ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3.13/unittest/mock.py", line 1228, in 
_execute_mock_call
      raise effect
  Exception
  
    warn(RuntimeWarning(

t/unit/utils/test_iso8601.py: 14 warnings
t/unit/utils/test_time.py: 4 warnings
  
/<<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:397:
 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:516:
 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 refrain from retrying connections on startup,
  you should set broker_connection_retry_on_startup to False instead.
    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:705: 
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 429, 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 431, 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/backends/test_mongodb.py::test_MongoBackend::test_store_result
FAILED 
t/unit/backends/test_mongodb.py::test_MongoBackend::test_store_result_with_request
= 2 failed, 3228 passed, 25 skipped, 8 deselected, 3 xfailed, 51 warnings in 
110.63s (0:01:50) =
E: pybuild pybuild:483: 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.14 
3.13" returned exit code 13
make: *** [debian/rules:10: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit 
status 2
--------------------------------------------------------------------------------

Reply via email to