<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"> 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 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/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"> 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"> 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"> 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"> 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 class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one Python version<br>
and/or implementation.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one message broker and/or<br>
result backend.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one version of the message<br>
broker and/or result backend.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one operating system.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue on more than one workers pool.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have tried reproducing the issue with autoscaling, retries,<br>
ETA/Countdown &amp; rate limits disabled.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> 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>

<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=""><pre class="notranslate"><code class="notranslate"></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>: N/A or Unknown</li>
<li><strong>Minimal Celery Version</strong>: N/A or Unknown</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=""><pre class="notranslate"><code class="notranslate"></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>

<details>
<p dir="auto">
Swap the commented line setting `c` for expected behaviour.
</p><div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import celery

app = celery.Celery(broker=&quot;redis://&quot;, backend=&quot;redis://&quot;)

@app.task
def nop(*_):
    pass

@app.task
def die(*_):
    raise RuntimeError

@app.task(bind=True)
def replace(self, with_):
    with_ = celery.Signature.from_dict(with_)
    raise self.replace(with_)

@app.task
def cb(*args):
    print(&quot;CALLBACK&quot;, *args)

#c = celery.chain(nop.s(), die.s())
c = celery.chain(nop.s(), replace.si(die.s()))
c.link_error(cb.s())
c.apply_async()"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-s1">celery</span>

<span class="pl-s1">app</span> <span class="pl-c1">=</span> <span class="pl-s1">celery</span>.<span class="pl-v">Celery</span>(<span class="pl-s1">broker</span><span class="pl-c1">=</span><span class="pl-s">"redis://"</span>, <span class="pl-s1">backend</span><span class="pl-c1">=</span><span class="pl-s">"redis://"</span>)

<span class="pl-en">@<span class="pl-s1">app</span>.<span class="pl-s1">task</span></span>
<span class="pl-k">def</span> <span class="pl-en">nop</span>(<span class="pl-c1">*</span><span class="pl-s1">_</span>):
    <span class="pl-k">pass</span>

<span class="pl-en">@<span class="pl-s1">app</span>.<span class="pl-s1">task</span></span>
<span class="pl-k">def</span> <span class="pl-en">die</span>(<span class="pl-c1">*</span><span class="pl-s1">_</span>):
    <span class="pl-k">raise</span> <span class="pl-v">RuntimeError</span>

<span class="pl-en">@<span class="pl-s1">app</span>.<span class="pl-en">task</span>(<span class="pl-s1">bind</span><span class="pl-c1">=</span><span class="pl-c1">True</span>)</span>
<span class="pl-k">def</span> <span class="pl-en">replace</span>(<span class="pl-s1">self</span>, <span class="pl-s1">with_</span>):
    <span class="pl-s1">with_</span> <span class="pl-c1">=</span> <span class="pl-s1">celery</span>.<span class="pl-v">Signature</span>.<span class="pl-en">from_dict</span>(<span class="pl-s1">with_</span>)
    <span class="pl-k">raise</span> <span class="pl-s1">self</span>.<span class="pl-en">replace</span>(<span class="pl-s1">with_</span>)

<span class="pl-en">@<span class="pl-s1">app</span>.<span class="pl-s1">task</span></span>
<span class="pl-k">def</span> <span class="pl-en">cb</span>(<span class="pl-c1">*</span><span class="pl-s1">args</span>):
    <span class="pl-en">print</span>(<span class="pl-s">"CALLBACK"</span>, <span class="pl-c1">*</span><span class="pl-s1">args</span>)

<span class="pl-c">#c = celery.chain(nop.s(), die.s())</span>
<span class="pl-s1">c</span> <span class="pl-c1">=</span> <span class="pl-s1">celery</span>.<span class="pl-en">chain</span>(<span class="pl-s1">nop</span>.<span class="pl-en">s</span>(), <span class="pl-s1">replace</span>.<span class="pl-en">si</span>(<span class="pl-s1">die</span>.<span class="pl-en">s</span>()))
<span class="pl-s1">c</span>.<span class="pl-en">link_error</span>(<span class="pl-s1">cb</span>.<span class="pl-en">s</span>())
<span class="pl-s1">c</span>.<span class="pl-en">apply_async</span>()</pre></div>
<p dir="auto"></p>
</details>
<h1 dir="auto">Expected Behavior</h1>
<p dir="auto"><code class="notranslate">cb</code> should be called as a new-style errback because it accepts starargs</p>
<h1 dir="auto">Actual Behavior</h1>
<p dir="auto"><code class="notranslate">cb</code> is not called</p>
<p dir="auto">when trying to start a worker.</p>
<p dir="auto">[2013-06-28 12:28:07,258: ERROR/MainProcess] Unrecoverable error: AttributeError("'Connection' object has no attribute 'setblocking'",) Traceback (most recent call last):   File "/Users/yannick/.pythonbrew/pythons/Python-3.3.0/lib/python3.3/site-packages/celery-3.1.0rc3-py3.3.egg/celery/worker/<strong>init</strong>.py", line 189, in start     self.blueprint.start(self)   File "/Users/yannick/.pythonbrew/pythons/Python-3.3.0/lib/python3.3/site-packages/celery-3.1.0rc3-py3.3.egg/celery/bootsteps.py", line 119, in start     step.start(parent)   File "/Users/yannick/.pythonbrew/pythons/Python-3.3.0/lib/python3.3/site-packages/celery-3.1.0rc3-py3.3.egg/celery/bootsteps.py", line 352, in start     return self.obj.start()   File "/Users/yannick/.pythonbrew/pythons/Python-3.3.0/lib/python3.3/site-packages/celery-3.1.0rc3-py3.3.egg/celery/concurrency/base.py", line 112, in start     self.on_start()   File "/Users/yannick/.pythonbrew/pythons/Python-3.3.0/lib/python3.3/site-packages/celery-3.1.0rc3-py3.3.egg/celery/concurrency/processes.py", line 461, in on_start     **self.options)   File "/Users/yannick/.pythonbrew/pythons/Python-3.3.0/lib/python3.3/site-packages/celery-3.1.0rc3-py3.3.egg/celery/concurrency/processes.py", line 236, in <strong>init</strong>     for _ in range(processes))   File "/Users/yannick/.pythonbrew/pythons/Python-3.3.0/lib/python3.3/site-packages/celery-3.1.0rc3-py3.3.egg/celery/concurrency/processes.py", line 236, in      for _ in range(processes))   File "/Users/yannick/.pythonbrew/pythons/Python-3.3.0/lib/python3.3/site-packages/celery-3.1.0rc3-py3.3.egg/celery/concurrency/processes.py", line 268, in create_process_queues     inq._writer.setblocking(0) AttributeError: 'Connection' object has no attribute 'setblocking'</p>