IPython - Enhanced Interactive Python

Getting "DeadReferenceError: Calling Stale Broker" after ipcontroller restart

Reported by Vishal Vatsa on 2008-12-15
4
Affects Status Importance Assigned to Milestone
IPython
Confirmed
Medium
Vishal Vatsa

Bug Description

Not Sure that is a bug or an expected behavior.

I am starting the ipcontoller such that it reuses the ipcontroller-tc.furl between restarts.
After the restart, if I invoke a DeadReferenceError with the following traceback:
I am using the blocking TaskClient from an ipython shell.

In [8]: tc.spin()
---------------------------------------------------------------------------
DeadReferenceError Traceback (most recent call last)

/home/vishal/<ipython console> in <module>()

/usr/lib/python2.5/site-packages/IPython/kernel/taskclient.pyc in spin(self)
    119 scheduler is idle for some reason.
    120 """
--> 121 return blockingCallFromThread(self.task_controller.spin)
    122
    123 def queue_status(self, verbose=False):

/usr/lib/python2.5/site-packages/IPython/kernel/twistedutil.pyc in blockingCallFromThread(f, *a, **kw)
     67 @raise: any error raised during the callback chain.
     68 """
---> 69 return twisted.internet.threads.blockingCallFromThread(reactor, f, *a, **kw)
     70
     71 else:

/usr/lib/python2.5/site-packages/twisted/internet/threads.pyc in blockingCallFromThread(reactor, f, *a, **kw)
     81 result = queue.get()
     82 if isinstance(result, failure.Failure):
---> 83 result.raiseException()
     84 return result
     85

/usr/lib/python2.5/site-packages/twisted/python/failure.pyc in raiseException(self)
    317 information if available.
    318 """
--> 319 raise self.type, self.value, self.tb
    320
    321

DeadReferenceError: Calling Stale Broker

Brian Granger (ellisonbg) wrote :

I have confirmed this. It also occurs for the MultiEngineClient when the controller stop and is restarted underneath a live client. The client should have reconnect logic that is triggered on a DeadReferenceError.

Changed in ipython:
assignee: nobody → ellisonbg
importance: Undecided → Medium
status: New → Confirmed

Hey Brian,

Totally forgot about this bug. Since I have had a look at this before,
feel free to assign it to me.

-vishal

2009/4/14 Brian Granger <email address hidden>:
> I have confirmed this.  It also occurs for the MultiEngineClient when
> the controller stop and is restarted underneath a live client.  The
> client should have reconnect logic that is triggered on a
> DeadReferenceError.
>
> ** Changed in: ipython
>   Importance: Undecided => Medium
>
> ** Changed in: ipython
>       Status: New => Confirmed
>
> ** Changed in: ipython
>     Assignee: (unassigned) => Brian Granger (ellisonbg)
>
> --
> Getting "DeadReferenceError: Calling Stale Broker" after ipcontroller restart
> https://bugs.launchpad.net/bugs/308253
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in IPython - Enhanced Interactive Python: Confirmed
>
> Bug description:
> Not Sure that is a bug or an expected behavior.
>
> I am starting the ipcontoller such that it reuses the ipcontroller-tc.furl between restarts.
> After the restart, if I invoke a DeadReferenceError with the following traceback:
> I am using the blocking TaskClient from an ipython shell.
>
>
> In [8]: tc.spin()
> ---------------------------------------------------------------------------
> DeadReferenceError                        Traceback (most recent call last)
>
> /home/vishal/<ipython console> in <module>()
>
> /usr/lib/python2.5/site-packages/IPython/kernel/taskclient.pyc in spin(self)
>    119         scheduler is idle for some reason.
>    120         """
> --> 121         return blockingCallFromThread(self.task_controller.spin)
>    122
>    123     def queue_status(self, verbose=False):
>
> /usr/lib/python2.5/site-packages/IPython/kernel/twistedutil.pyc in blockingCallFromThread(f, *a, **kw)
>     67         @raise: any error raised during the callback chain.
>     68         """
> ---> 69         return twisted.internet.threads.blockingCallFromThread(reactor, f, *a, **kw)
>     70
>     71 else:
>
> /usr/lib/python2.5/site-packages/twisted/internet/threads.pyc in blockingCallFromThread(reactor, f, *a, **kw)
>     81     result = queue.get()
>     82     if isinstance(result, failure.Failure):
> ---> 83         result.raiseException()
>     84     return result
>     85
>
> /usr/lib/python2.5/site-packages/twisted/python/failure.pyc in raiseException(self)
>    317         information if available.
>    318         """
> --> 319         raise self.type, self.value, self.tb
>    320
>    321
>
> DeadReferenceError: Calling Stale Broker
>

Brian Granger (ellisonbg) wrote :

Thanks for looking into this!

Changed in ipython:
assignee: ellisonbg → vvatsa
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers