Your message dated Mon, 22 Jun 2026 02:48:46 +0000
with message-id <[email protected]>
and subject line Bug#1135453: fixed in python-django-celery-results 2.6.0-2
has caused the Debian Bug report #1135453,
regarding python-django-celery-results: FTBFS: E           AttributeError: 
'str' object has no attribute 'ignore_result'
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1135453: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1135453
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:python-django-celery-results
Version: 2.6.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/202605/

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:python-django-celery-results, 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
   debian/rules execute_before_dh_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -rf docs/.build
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   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

[... snipped ...]

        self._root_id = self._request_dict.get('root_id')
        self._parent_id = self._request_dict.get('parent_id')
        timelimit = self._request_dict.get('timelimit', None)
        if timelimit:
            self.time_limits = timelimit
        self._argsrepr = self._request_dict.get('argsrepr', '')
        self._kwargsrepr = self._request_dict.get('kwargsrepr', '')
        self._on_ack = on_ack
        self._on_reject = on_reject
        self._hostname = hostname or gethostname()
        self._eventer = eventer
        self._connection_errors = connection_errors or ()
        self._task = task or self._app.tasks[self._type]
        ignore_result = self._request_dict.get('ignore_result', None)
        if ignore_result is None:
>           ignore_result = self._task.ignore_result
                            ^^^^^^^^^^^^^^^^^^^^^^^^
E           AttributeError: 'str' object has no attribute 'ignore_result'

/usr/lib/python3/dist-packages/celery/worker/request.py:130: AttributeError
________ test_DatabaseBackend.test_backend__task_result_meta_injection _________

self = <t.unit.backends.test_database.test_DatabaseBackend object at 
0x7f3cb427df40>

    def test_backend__task_result_meta_injection(self):
        self.app.conf.result_serializer = 'json'
        self.app.conf.accept_content = {'pickle', 'json'}
        self.b = DatabaseBackend(app=self.app)
    
        tid2 = uuid()
>       request = self._create_request(
            task_id=tid2,
            name='my_task',
            args=[],
            kwargs={},
            task_protocol=1,
        )

t/unit/backends/test_database.py:528: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
t/unit/backends/test_database.py:61: in _create_request
    request = Request(context, decoded=True, task=name)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <Request: my_task[0768814b-e68c-4146-b486-0982c044e241] None None>
message = <Context: {'headers': {'lang': None, 'task': 'my_task', 'id': 
'0768814b-e68c-4146-b486-0982c044e241', 'root_id': None,...rties': None, 
'body': ((), {}, {'callbacks': None, 'errbacks': None, 'chord': None, 'chain': 
None}), 'sent_event': {}}>
on_ack = <function noop at 0x7f3cb5505300>, hostname = None, eventer = None
app = None, connection_errors = None, request_dict = None, task = 'my_task'
on_reject = <function noop at 0x7f3cb5505300>, body = None, headers = None
decoded = True, utc = True
maybe_make_aware = <function maybe_make_aware at 0x7f3cb54f8cc0>
maybe_iso8601 = <function maybe_iso8601 at 0x7f3cb54f8860>, opts = {}
timelimit = (None, None), ignore_result = None

    def __init__(self, message, on_ack=noop,
                 hostname=None, eventer=None, app=None,
                 connection_errors=None, request_dict=None,
                 task=None, on_reject=noop, body=None,
                 headers=None, decoded=False, utc=True,
                 maybe_make_aware=maybe_make_aware,
                 maybe_iso8601=maybe_iso8601, **opts):
        self._message = message
        self._request_dict = (message.headers.copy() if headers is None
                              else headers.copy())
        self._body = message.body if body is None else body
        self._app = app
        self._utc = utc
        self._decoded = decoded
        if decoded:
            self._content_type = self._content_encoding = None
        else:
            self._content_type, self._content_encoding = (
                message.content_type, message.content_encoding,
            )
        self.__payload = self._body if self._decoded else message.payload
        self.id = self._request_dict['id']
        self._type = self.name = self._request_dict['task']
        if 'shadow' in self._request_dict:
            self.name = self._request_dict['shadow'] or self.name
        self._root_id = self._request_dict.get('root_id')
        self._parent_id = self._request_dict.get('parent_id')
        timelimit = self._request_dict.get('timelimit', None)
        if timelimit:
            self.time_limits = timelimit
        self._argsrepr = self._request_dict.get('argsrepr', '')
        self._kwargsrepr = self._request_dict.get('kwargsrepr', '')
        self._on_ack = on_ack
        self._on_reject = on_reject
        self._hostname = hostname or gethostname()
        self._eventer = eventer
        self._connection_errors = connection_errors or ()
        self._task = task or self._app.tasks[self._type]
        ignore_result = self._request_dict.get('ignore_result', None)
        if ignore_result is None:
>           ignore_result = self._task.ignore_result
                            ^^^^^^^^^^^^^^^^^^^^^^^^
E           AttributeError: 'str' object has no attribute 'ignore_result'

/usr/lib/python3/dist-packages/celery/worker/request.py:130: AttributeError
_____ test_DatabaseBackend.test_secrets__pickle_serialization__protocol_1 ______

self = <t.unit.backends.test_database.test_DatabaseBackend object at 
0x7f3cb422e990>

    def test_secrets__pickle_serialization__protocol_1(self):
        self.app.conf.result_serializer = 'pickle'
        self.app.conf.accept_content = {'pickle', 'json'}
        self.b = DatabaseBackend(app=self.app)
    
        tid = uuid()
>       request = self._create_request(
            task_id=tid,
            name='my_task',
            args=['a', 1, SomeClass(67)],
            kwargs={'c': 6, 'd': 'e', 'f': SomeClass(89)},
            argsrepr='argsrepr',
            kwargsrepr='kwargsrepr',
            task_protocol=1,
        )

t/unit/backends/test_database.py:693: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
t/unit/backends/test_database.py:61: in _create_request
    request = Request(context, decoded=True, task=name)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <Request: my_task[a4033f50-9a38-46ab-af42-07ed23192561] None None>
message = <Context: {'headers': {'lang': None, 'task': 'my_task', 'id': 
'a4033f50-9a38-46ab-af42-07ed23192561', 'root_id': None,...ss object at 
0x7f3cb3b76990>}, {'callbacks': None, 'errbacks': None, 'chord': None, 'chain': 
None}), 'sent_event': {}}>
on_ack = <function noop at 0x7f3cb5505300>, hostname = None, eventer = None
app = None, connection_errors = None, request_dict = None, task = 'my_task'
on_reject = <function noop at 0x7f3cb5505300>, body = None, headers = None
decoded = True, utc = True
maybe_make_aware = <function maybe_make_aware at 0x7f3cb54f8cc0>
maybe_iso8601 = <function maybe_iso8601 at 0x7f3cb54f8860>, opts = {}
timelimit = (None, None), ignore_result = None

    def __init__(self, message, on_ack=noop,
                 hostname=None, eventer=None, app=None,
                 connection_errors=None, request_dict=None,
                 task=None, on_reject=noop, body=None,
                 headers=None, decoded=False, utc=True,
                 maybe_make_aware=maybe_make_aware,
                 maybe_iso8601=maybe_iso8601, **opts):
        self._message = message
        self._request_dict = (message.headers.copy() if headers is None
                              else headers.copy())
        self._body = message.body if body is None else body
        self._app = app
        self._utc = utc
        self._decoded = decoded
        if decoded:
            self._content_type = self._content_encoding = None
        else:
            self._content_type, self._content_encoding = (
                message.content_type, message.content_encoding,
            )
        self.__payload = self._body if self._decoded else message.payload
        self.id = self._request_dict['id']
        self._type = self.name = self._request_dict['task']
        if 'shadow' in self._request_dict:
            self.name = self._request_dict['shadow'] or self.name
        self._root_id = self._request_dict.get('root_id')
        self._parent_id = self._request_dict.get('parent_id')
        timelimit = self._request_dict.get('timelimit', None)
        if timelimit:
            self.time_limits = timelimit
        self._argsrepr = self._request_dict.get('argsrepr', '')
        self._kwargsrepr = self._request_dict.get('kwargsrepr', '')
        self._on_ack = on_ack
        self._on_reject = on_reject
        self._hostname = hostname or gethostname()
        self._eventer = eventer
        self._connection_errors = connection_errors or ()
        self._task = task or self._app.tasks[self._type]
        ignore_result = self._request_dict.get('ignore_result', None)
        if ignore_result is None:
>           ignore_result = self._task.ignore_result
                            ^^^^^^^^^^^^^^^^^^^^^^^^
E           AttributeError: 'str' object has no attribute 'ignore_result'

/usr/lib/python3/dist-packages/celery/worker/request.py:130: AttributeError
______ test_DatabaseBackend.test_secrets__json_serialization__protocol_1 _______

self = <t.unit.backends.test_database.test_DatabaseBackend object at 
0x7f3cb417a8e0>

    def test_secrets__json_serialization__protocol_1(self):
        self.app.conf.result_serializer = 'json'
        self.app.conf.accept_content = {'pickle', 'json'}
        self.b = DatabaseBackend(app=self.app)
    
        tid = uuid()
>       request = self._create_request(
            task_id=tid,
            name='my_task',
            args=['a', 1, True],
            kwargs={'c': 6, 'd': 'e', 'f': False},
            argsrepr='argsrepr',
            kwargsrepr='kwargsrepr',
            task_protocol=1,
        )

t/unit/backends/test_database.py:734: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
t/unit/backends/test_database.py:61: in _create_request
    request = Request(context, decoded=True, task=name)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <Request: my_task[34aabdfd-b3a4-430f-9f6f-6d969ba93ecf] None None>
message = <Context: {'headers': {'lang': None, 'task': 'my_task', 'id': 
'34aabdfd-b3a4-430f-9f6f-6d969ba93ecf', 'root_id': None,...'c': 6, 'd': 'e', 
'f': False}, {'callbacks': None, 'errbacks': None, 'chord': None, 'chain': 
None}), 'sent_event': {}}>
on_ack = <function noop at 0x7f3cb5505300>, hostname = None, eventer = None
app = None, connection_errors = None, request_dict = None, task = 'my_task'
on_reject = <function noop at 0x7f3cb5505300>, body = None, headers = None
decoded = True, utc = True
maybe_make_aware = <function maybe_make_aware at 0x7f3cb54f8cc0>
maybe_iso8601 = <function maybe_iso8601 at 0x7f3cb54f8860>, opts = {}
timelimit = (None, None), ignore_result = None

    def __init__(self, message, on_ack=noop,
                 hostname=None, eventer=None, app=None,
                 connection_errors=None, request_dict=None,
                 task=None, on_reject=noop, body=None,
                 headers=None, decoded=False, utc=True,
                 maybe_make_aware=maybe_make_aware,
                 maybe_iso8601=maybe_iso8601, **opts):
        self._message = message
        self._request_dict = (message.headers.copy() if headers is None
                              else headers.copy())
        self._body = message.body if body is None else body
        self._app = app
        self._utc = utc
        self._decoded = decoded
        if decoded:
            self._content_type = self._content_encoding = None
        else:
            self._content_type, self._content_encoding = (
                message.content_type, message.content_encoding,
            )
        self.__payload = self._body if self._decoded else message.payload
        self.id = self._request_dict['id']
        self._type = self.name = self._request_dict['task']
        if 'shadow' in self._request_dict:
            self.name = self._request_dict['shadow'] or self.name
        self._root_id = self._request_dict.get('root_id')
        self._parent_id = self._request_dict.get('parent_id')
        timelimit = self._request_dict.get('timelimit', None)
        if timelimit:
            self.time_limits = timelimit
        self._argsrepr = self._request_dict.get('argsrepr', '')
        self._kwargsrepr = self._request_dict.get('kwargsrepr', '')
        self._on_ack = on_ack
        self._on_reject = on_reject
        self._hostname = hostname or gethostname()
        self._eventer = eventer
        self._connection_errors = connection_errors or ()
        self._task = task or self._app.tasks[self._type]
        ignore_result = self._request_dict.get('ignore_result', None)
        if ignore_result is None:
>           ignore_result = self._task.ignore_result
                            ^^^^^^^^^^^^^^^^^^^^^^^^
E           AttributeError: 'str' object has no attribute 'ignore_result'

/usr/lib/python3/dist-packages/celery/worker/request.py:130: AttributeError
=========================== short test summary info ============================
FAILED 
t/unit/backends/test_database.py::test_DatabaseBackend::test_backend__pickle_serialization__dict_result__protocol_1
FAILED 
t/unit/backends/test_database.py::test_DatabaseBackend::test_backend__pickle_serialization__str_result__protocol_1
FAILED 
t/unit/backends/test_database.py::test_DatabaseBackend::test_backend__pickle_serialization__bytes_result__protocol_1
FAILED 
t/unit/backends/test_database.py::test_DatabaseBackend::test_backend__json_serialization__dict_result__protocol_1
FAILED 
t/unit/backends/test_database.py::test_DatabaseBackend::test_backend__json_serialization__str_result__protocol_1
FAILED 
t/unit/backends/test_database.py::test_DatabaseBackend::test_backend__task_result_meta_injection
FAILED 
t/unit/backends/test_database.py::test_DatabaseBackend::test_secrets__pickle_serialization__protocol_1
FAILED 
t/unit/backends/test_database.py::test_DatabaseBackend::test_secrets__json_serialization__protocol_1
============ 8 failed, 36 passed, 1 skipped, 5 deselected in 0.98s =============
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-celery-results/build; python3.13 
-m pytest -k "not test_taskresult_delete_expired and not 
test_on_chord_part_return_multiple_databases and not 
test_retry_store_result_fails and not test_retry_store_result_succeeds and not 
test_store_group_result"
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" --parallel=2 returned exit code 13
make: *** [debian/rules:10: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit 
status 2
--------------------------------------------------------------------------------

--- End Message ---
--- Begin Message ---
Source: python-django-celery-results
Source-Version: 2.6.0-2
Done: Christopher Obbard <[email protected]>

We believe that the bug you reported is fixed in the latest version of
python-django-celery-results, which is due to be installed in the Debian FTP 
archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Christopher Obbard <[email protected]> (supplier of updated 
python-django-celery-results package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Mon, 22 Jun 2026 01:03:12 +0100
Source: python-django-celery-results
Architecture: source
Version: 2.6.0-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Christopher Obbard <[email protected]>
Closes: 1135453
Changes:
 python-django-celery-results (2.6.0-2) unstable; urgency=medium
 .
   * Team upload.
   * debian/patches: fix test_database AttributeError with Celery 5.x
     (Closes: #1135453)
Checksums-Sha1:
 3165a9df3ff33b78cc3344b5a2d2b130bd77fa17 2628 
python-django-celery-results_2.6.0-2.dsc
 598cb24d11f7fcd743e05db9c8d4610d5b873d6b 6016 
python-django-celery-results_2.6.0-2.debian.tar.xz
 9b5019889e7342f1d751616e0226c0949a8e8613 8485 
python-django-celery-results_2.6.0-2_source.buildinfo
Checksums-Sha256:
 23b53bdf43e2a622d34816ba6cda9d13b65bbcf146d983f80a2d45e58aef47bc 2628 
python-django-celery-results_2.6.0-2.dsc
 7f42fadd7657aeeea6fc9ca583f240bdec2e3500e977c19f3a2c53dd4de22d9e 6016 
python-django-celery-results_2.6.0-2.debian.tar.xz
 9af04115fa3c12f75bb4b470cda1630d2b4fa61f74c1720167babfd2f4668e17 8485 
python-django-celery-results_2.6.0-2_source.buildinfo
Files:
 2dd9b3d5f901a0a81b27ed1f5f0f7850 2628 python optional 
python-django-celery-results_2.6.0-2.dsc
 fd2b1b22c6c5751e9e916af685da0f85 6016 python optional 
python-django-celery-results_2.6.0-2.debian.tar.xz
 721503b2db7ccbb6e60b24a87f90b556 8485 python optional 
python-django-celery-results_2.6.0-2_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJHBAEBCgAxFiEE8Yvci2wl+QqiPVF0Y03E8GhwRvgFAmo4nWoTHG9iYmFyZGNA
ZGViaWFuLm9yZwAKCRBjTcTwaHBG+CPWD/0RAz/cdw7oCuHjtDtz7v5HfkXb7Hom
q9FdOxxqhP1YJeS+LUO4HwhgPpfNnIpODNt4igtUGRVAIHzwNuRWZE7x1ggR+z2Y
ZlegM/9nvM8HpPZrsoZTWgM9pMX5m8NhYHxAh/76CCB5vQGiFFyajWZ3F+BhA1EQ
AWS3zA9t8Gm0CdmpGfU9LbZCaDK5jD3DF2qafN/Vv4FkiJkUor4gomAfgj12BmBc
gZ8i4OLFfR1Kqc6YCoMhN90V0G8OIy0xLoxduuo24vmNCIlb+sxAmgCOXoFzLTp5
15nRq2c6YnNuxUsHgcNHlN1v+RhSK7n565EBfaXZVtwag1DylX26PWOUU3rzhB6W
hpJjcKaIFIVjzwrsa/wsIotvmkVpXTmNhnjH7qiu/47aeAkiwOaOdkU+14PffT8n
THTDisoXMgU0ZvTgo7yqP7fAqTKyehSRd0up1vSnvckAsEx004cBoHMUFRWDofRI
UfLQCQTErEb4UV/5ctFBrzthpadPO+0RkOhxTe1Cf06+TF28KSwZ4+mqG00b48JV
xdM8YbGk/Yjwfnmf5XxiWP1paIXhXNH55Eg7JlxAaCYEu4zQGYsXX6molUAwGjCE
La0f9O4W8BtB6N1uumCbu0WECLa96D8FVP8PyC1dpSFxH+c1OPMf5IIUWX5ekIlg
90NrHrs5y9QtHw==
=0uGQ
-----END PGP SIGNATURE-----

Attachment: pgpOjjb3Htxn9.pgp
Description: PGP signature


--- End Message ---

Reply via email to