beeware / bugjar

A interactive graphical debugger for Python code.
BSD 3-Clause "New" or "Revised" License
249 stars 31 forks source link

When running with twisted stopping the reactor makes bugjar shutdown unhappy #13

Open dpnova opened 10 years ago

dpnova commented 10 years ago

When twisted does a reactor.stop it presumably does something that kills the socket that bugjar is using. When you try to exit bugjar it complains (traceback and code to repro below)

I haven't delved deeper because this looks like a trivial fix. If you want, I can though :)

Tool is looking great mate! Definitely going to be helping any way I can!

from twisted.internet.task import react
from twisted.internet.defer import succeed

def main(reactor):
    return succeed(None)

if __name__ == '__main__':
    react(main)
System exit
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1413, in __call__
    return self.func(*args)
  File "/home/dpn/.virtualenvs/musicdata/local/lib/python2.7/site-packages/bugjar/view.py", line 346, in cmd_quit
    self.debugger.stop()
  File "/home/dpn/.virtualenvs/musicdata/local/lib/python2.7/site-packages/bugjar/connection.py", line 100, in stop
    self.socket.shutdown(socket.SHUT_WR)
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 107] Transport endpoint is not connected