<h1 dir="auto">Checklist</h1>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have verified that the issue exists against the <code class="notranslate">master</code> branch of Celery.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> This has already been asked to the <a href="https://groups.google.com/forum/#!forum/celery-users" rel="nofollow">discussion group</a> first.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have read the relevant section in the<br>
<a href="http://docs.celeryproject.org/en/latest/contributing.html#other-bugs" rel="nofollow">contribution guide</a><br>
on reporting bugs.</li>
<li>[ x I have checked the <a href="https://github.com/celery/celery/issues?q=is%3Aissue+label%3A%22Issue+Type%3A+Bug+Report%22+-label%3A%22Category%3A+Documentation%22">issues list</a><br>
for similar or identical bug reports.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/pulls?q=is%3Apr+label%3A%22PR+Type%3A+Bugfix%22+-label%3A%22Category%3A+Documentation%22">pull requests list</a><br>
for existing proposed fixes.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/celery/celery/commits/master">commit log</a><br>
to find out if the bug was already fixed in the master branch.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included all related issues and possible duplicate issues<br>
in this issue (If there are none, check this box anyway).</li>
</ul>
<h2 dir="auto">Mandatory Debugging Information</h2>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included the output of <code class="notranslate">celery -A proj report</code> in the issue.<br>
(if you are not able to do this, then at least specify the Celery<br>
version affected).</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have verified that the issue exists against the <code class="notranslate">master</code> branch of Celery.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included the contents of <code class="notranslate">pip freeze</code> in the issue.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have included all the versions of all the external dependencies required<br>
to reproduce this bug.</li>
</ul>
<h2 dir="auto">Optional Debugging Information</h2>

<ul dir="auto">
<li>[-] I have tried reproducing the issue on more than one Python version<br>
and/or implementation.</li>
<li>[-] I have tried reproducing the issue on more than one message broker and/or<br>
result backend.</li>
<li>[-] I have tried reproducing the issue on more than one version of the message<br>
broker and/or result backend.</li>
<li>[-] I have tried reproducing the issue on more than one operating system.</li>
<li>[-] I have tried reproducing the issue on more than one workers pool.</li>
<li>[-] I have tried reproducing the issue with autoscaling, retries,<br>
ETA/Countdown &amp; rate limits disabled.</li>
<li>[-] I have tried reproducing the issue after downgrading<br>
and/or upgrading Celery and its dependencies.</li>
</ul>
<h2 dir="auto">Related Issues and Possible Duplicates</h2>

<h4 dir="auto">Related Issues</h4>
<ul dir="auto">
<li>None</li>
</ul>
<h4 dir="auto">Possible Duplicates</h4>
<ul dir="auto">
<li>None</li>
</ul>
<h2 dir="auto">Environment &amp; Settings</h2>
 4.3.0 (rhubarb)
<p dir="auto"><strong>Celery version</strong>:</p>

<details>
<summary><b><code class="notranslate">celery report</code> Output:</b></summary>
<p dir="auto">
</p><div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="
software -&gt; celery:4.3.0 (rhubarb) kombu:4.6.1 py:3.6.9
            billiard:3.6.0.0 redis:3.2.1
platform -&gt; system:Darwin arch:64bit
            kernel version:17.7.0 imp:CPython
loader   -&gt; celery.loaders.app.AppLoader
settings -&gt; transport:redis results:redis://localhost:6379/0

accept_content: ['application/json',
 'application/x-python-serialize',
 'application/x-bson']
broker_heartbeat: 0
broker_url: 'redis://localhost:6379/0'
enable_utc: True
imports: 
    ('service.tasks',)"><pre class="notranslate"><code class="notranslate">
software -&gt; celery:4.3.0 (rhubarb) kombu:4.6.1 py:3.6.9
            billiard:3.6.0.0 redis:3.2.1
platform -&gt; system:Darwin arch:64bit
            kernel version:17.7.0 imp:CPython
loader   -&gt; celery.loaders.app.AppLoader
settings -&gt; transport:redis results:redis://localhost:6379/0

accept_content: ['application/json',
 'application/x-python-serialize',
 'application/x-bson']
broker_heartbeat: 0
broker_url: 'redis://localhost:6379/0'
enable_utc: True
imports: 
    ('service.tasks',)
</code></pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Steps to Reproduce</h1>
<h2 dir="auto">Required Dependencies</h2>

<ul dir="auto">
<li><strong>Minimal Python Version</strong>: 3.6.9</li>
<li><strong>Minimal Celery Version</strong>: 4.3</li>
<li><strong>Minimal Kombu Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Broker Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Result Backend Version</strong>: N/A or Unknown</li>
<li><strong>Minimal OS and/or Kernel Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Broker Client Version</strong>: N/A or Unknown</li>
<li><strong>Minimal Result Backend Client Version</strong>: N/A or Unknown</li>
</ul>
<h3 dir="auto">Python Packages</h3>

<details>
<summary><b><code class="notranslate">pip freeze</code> Output:</b></summary>
<p dir="auto">
</p><div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="alembic==1.0.10
amqp==2.5.0
aniso8601==6.0.0
billiard==3.6.0.0
boto3==1.9.162
botocore==1.12.162
bson==0.5.8
celery==4.3.0
certifi==2019.3.9
chardet==3.0.4
Click==7.0
docutils==0.14
Flask==1.0.3
Flask-RESTful==0.3.7
gevent==1.4.0
greenlet==0.4.15
grequests==0.3.0
idna==2.7
itsdangerous==1.1.0
Jinja2==2.10.1
jmespath==0.9.4
kombu==4.6.1
Mako==1.0.12
MarkupSafe==1.1.1
pg8000==1.12.3
psycopg2==2.7.5
pylru==1.2.0
python-dateutil==2.8.0
python-editor==1.0.4
python-json-logger==0.1.11
pytz==2019.1
redis==3.2.1
requests==2.19.1
s3transfer==0.2.1
six==1.12.0
SQLAlchemy==1.3.4
urllib3==1.23
vine==1.3.0
Werkzeug==0.15.4"><pre class="notranslate"><code class="notranslate">alembic==1.0.10
amqp==2.5.0
aniso8601==6.0.0
billiard==3.6.0.0
boto3==1.9.162
botocore==1.12.162
bson==0.5.8
celery==4.3.0
certifi==2019.3.9
chardet==3.0.4
Click==7.0
docutils==0.14
Flask==1.0.3
Flask-RESTful==0.3.7
gevent==1.4.0
greenlet==0.4.15
grequests==0.3.0
idna==2.7
itsdangerous==1.1.0
Jinja2==2.10.1
jmespath==0.9.4
kombu==4.6.1
Mako==1.0.12
MarkupSafe==1.1.1
pg8000==1.12.3
psycopg2==2.7.5
pylru==1.2.0
python-dateutil==2.8.0
python-editor==1.0.4
python-json-logger==0.1.11
pytz==2019.1
redis==3.2.1
requests==2.19.1
s3transfer==0.2.1
six==1.12.0
SQLAlchemy==1.3.4
urllib3==1.23
vine==1.3.0
Werkzeug==0.15.4
</code></pre></div>
<p dir="auto"></p>
</details>
<h3 dir="auto">Other Dependencies</h3>

<details>
<p dir="auto">
N/A
</p>
</details>
<h2 dir="auto">Minimally Reproducible Test Case</h2>
<p dir="auto">a chord over redis broker, one of the tasks raises exception and the error is not registered correctly in celery. the exception is as follows:</p>
<details>
<p dir="auto">
</p><div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[r-celery-worker-cpu-5d47cffb98-n86dz] [2019-11-21 14:47:26,053: ERROR/ForkPoolWorker-1] Chord callback for 'b30c24c5-9653-49bf-8917-87742b82155c' raised: TypeError('__init__() takes 1 positional argument but 2 were given',) 
[r-celery-worker-cpu-5d47cffb98-n86dz] Traceback (most recent call last): 
[r-celery-worker-cpu-5d47cffb98-n86dz]   File &quot;/usr/local/lib/python3.6/site-packages/celery/backends/redis.py&quot;, line 399, in on_chord_part_return 
[r-celery-worker-cpu-5d47cffb98-n86dz]     callback.delay([unpack(tup, decode) for tup in resl]) 
[r-celery-worker-cpu-5d47cffb98-n86dz]   File &quot;/usr/local/lib/python3.6/site-packages/celery/backends/redis.py&quot;, line 399, in &lt;listcomp&gt; 
[r-celery-worker-cpu-5d47cffb98-n86dz]     callback.delay([unpack(tup, decode) for tup in resl]) 
[r-celery-worker-cpu-5d47cffb98-n86dz]   File &quot;/usr/local/lib/python3.6/site-packages/celery/backends/redis.py&quot;, line 350, in _unpack_chord_result 
[r-celery-worker-cpu-5d47cffb98-n86dz]     retval = self.exception_to_python(retval) 
[r-celery-worker-cpu-5d47cffb98-n86dz]   File &quot;/usr/local/lib/python3.6/site-packages/celery/backends/base.py&quot;, line 281, in exception_to_python 
[r-celery-worker-cpu-5d47cffb98-n86dz]     exc = cls(*exc_msg if isinstance(exc_msg, tuple) else exc_msg) 
[r-celery-worker-cpu-5d47cffb98-n86dz] TypeError: __init__() takes 1 positional argument but 2 were given "><pre class="notranslate"><code class="notranslate">[r-celery-worker-cpu-5d47cffb98-n86dz] [2019-11-21 14:47:26,053: ERROR/ForkPoolWorker-1] Chord callback for 'b30c24c5-9653-49bf-8917-87742b82155c' raised: TypeError('__init__() takes 1 positional argument but 2 were given',) 
[r-celery-worker-cpu-5d47cffb98-n86dz] Traceback (most recent call last): 
[r-celery-worker-cpu-5d47cffb98-n86dz]   File "/usr/local/lib/python3.6/site-packages/celery/backends/redis.py", line 399, in on_chord_part_return 
[r-celery-worker-cpu-5d47cffb98-n86dz]     callback.delay([unpack(tup, decode) for tup in resl]) 
[r-celery-worker-cpu-5d47cffb98-n86dz]   File "/usr/local/lib/python3.6/site-packages/celery/backends/redis.py", line 399, in &lt;listcomp&gt; 
[r-celery-worker-cpu-5d47cffb98-n86dz]     callback.delay([unpack(tup, decode) for tup in resl]) 
[r-celery-worker-cpu-5d47cffb98-n86dz]   File "/usr/local/lib/python3.6/site-packages/celery/backends/redis.py", line 350, in _unpack_chord_result 
[r-celery-worker-cpu-5d47cffb98-n86dz]     retval = self.exception_to_python(retval) 
[r-celery-worker-cpu-5d47cffb98-n86dz]   File "/usr/local/lib/python3.6/site-packages/celery/backends/base.py", line 281, in exception_to_python 
[r-celery-worker-cpu-5d47cffb98-n86dz]     exc = cls(*exc_msg if isinstance(exc_msg, tuple) else exc_msg) 
[r-celery-worker-cpu-5d47cffb98-n86dz] TypeError: __init__() takes 1 positional argument but 2 were given 
</code></pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Expected Behavior</h1>
<p dir="auto">the chord should fail safely and call the on_error callback</p>
<h1 dir="auto">Actual Behavior</h1>
<p dir="auto">the original error is not written, and on error cb not called</p>
<h2 dir="auto">Checklist</h2>
<ul dir="auto">
<li>Not able to scale up Celery Beat using Docker containers running on multiple servers without replicating the tasks. E.g: If I have 2 containers running, it would run the same task twice.</li>
</ul>
<h2 dir="auto">Steps to reproduce</h2>
<h2 dir="auto">Expected behavior</h2>
<ul dir="auto">
<li>Being able to scale up Celery Beat</li>
</ul>
<h2 dir="auto">Actual behavior</h2>