Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- UNHANDLED EXCEPTION (2017-06-29 15:32:26.798671)
- BRANCH: feature/microservices TIP: 568120f621d2
- PROCESS: ./services/chwriter/service.py
- ERROR FINGERPRINT: bf4739a3-d25d-5baa-840c-fe89f3d69fe6
- WORKING DIRECTORY: /opt/noc
- EXCEPTION: <class 'socket.error'> [Errno 9] Bad file descriptor
- START OF TRACEBACK
- ------------------------------------------------------------------------
- File: ../../usr/lib/python2.7/socket.py (Line: 170)
- Function: _dummy
- 163 # object or the _closedsocket object.
- 164 _delegate_methods = ("recv", "recvfrom", "recv_into", "recvfrom_into",
- 165 "send", "sendto")
- 166
- 167 class _closedsocket(object):
- 168 __slots__ = []
- 169 def _dummy(*args):
- 170 ==> raise error(EBADF, 'Bad file descriptor')
- 171 # All _delegate_methods must also be initialized here.
- 172 send = recv = recv_into = sendto = recvfrom = recvfrom_into = _dummy
- 173 __getattr__ = _dummy
- 174
- 175 # Wrapper around platform socket objects. This implements
- 176 # a platform-independent dup() functionality. The
- Variables:
- args = (<socket._closedsocket object at 0x7fc6c8a5fda0>, 'fileno')
- ------------------------------------------------------------------------
- File: ../../usr/lib/python2.7/socket.py (Line: 224)
- Function: meth
- 217 return _fileobject(self._sock, mode, bufsize)
- 218
- 219 family = property(lambda self: self._sock.family, doc="the socket family")
- 220 type = property(lambda self: self._sock.type, doc="the socket type")
- 221 proto = property(lambda self: self._sock.proto, doc="the socket protocol")
- 222
- 223 def meth(name,self,*args):
- 224 ==> return getattr(self._sock,name)(*args)
- 225
- 226 for _m in _socketmethods:
- 227 p = partial(meth,_m)
- 228 p.__name__ = _m
- 229 p.__doc__ = getattr(_realsocket,_m).__doc__
- 230 m = MethodType(p,None,_socketobject)
- Variables:
- self = <socket._socketobject object at 0x7fc6bf3a59f0>
- args = ()
- name = 'fileno'
- ------------------------------------------------------------------------
- File: local/lib/python2.7/site-packages/tornado/ioloop.py (Line: 657)
- Function: split_fd
- 650
- 651 This method is provided for use by `IOLoop` subclasses and should
- 652 not generally be used by application code.
- 653
- 654 .. versionadded:: 4.0
- 655 """
- 656 try:
- 657 ==> return fd.fileno(), fd
- 658 except AttributeError:
- 659 return fd, fd
- 660
- 661 def close_fd(self, fd):
- 662 """Utility method to close an ``fd``.
- 663
- Variables:
- self = <tornado.platform.epoll.EPollIOLoop object at 0x7fc6bf4e76d0>
- fd = <socket._socketobject object at 0x7fc6bf3a59f0>
- ------------------------------------------------------------------------
- File: local/lib/python2.7/site-packages/tornado/ioloop.py (Line: 735)
- Function: remove_handler
- 728 self._impl.register(fd, events | self.ERROR)
- 729
- 730 def update_handler(self, fd, events):
- 731 fd, obj = self.split_fd(fd)
- 732 self._impl.modify(fd, events | self.ERROR)
- 733
- 734 def remove_handler(self, fd):
- 735 ==> fd, obj = self.split_fd(fd)
- 736 self._handlers.pop(fd, None)
- 737 self._events.pop(fd, None)
- 738 try:
- 739 self._impl.unregister(fd)
- 740 except Exception:
- 741 gen_log.debug("Error deleting fd from IOLoop", exc_info=True)
- Variables:
- self = <tornado.platform.epoll.EPollIOLoop object at 0x7fc6bf4e76d0>
- fd = <socket._socketobject object at 0x7fc6bf3a59f0>
- ------------------------------------------------------------------------
- File: local/lib/python2.7/site-packages/tornado/iostream.py (Line: 442)
- Function: close
- 435 if self._read_until_close:
- 436 if (self._streaming_callback is not None and
- 437 self._read_buffer_size):
- 438 self._run_read_callback(self._read_buffer_size, True)
- 439 self._read_until_close = False
- 440 self._run_read_callback(self._read_buffer_size, False)
- 441 if self._state is not None:
- 442 ==> self.io_loop.remove_handler(self.fileno())
- 443 self._state = None
- 444 self.close_fd()
- 445 self._closed = True
- 446 self._maybe_run_close_callback()
- 447
- 448 def _maybe_run_close_callback(self):
- Variables:
- exc_info = False
- self = <tornado.iostream.IOStream object at 0x7fc6bf3a7910>
- ------------------------------------------------------------------------
- File: local/lib/python2.7/site-packages/tornado/stack_context.py (Line: 277)
- Function: null_wrapper
- 270
- 271 if not cap_contexts[0][0] and not cap_contexts[0][1]:
- 272 # Fast path when there are no active contexts.
- 273 def null_wrapper(*args, **kwargs):
- 274 try:
- 275 current_state = _state.contexts
- 276 _state.contexts = cap_contexts[0]
- 277 ==> return fn(*args, **kwargs)
- 278 finally:
- 279 _state.contexts = current_state
- 280 null_wrapper._wrapped = True
- 281 return null_wrapper
- 282
- 283 def wrapped(*args, **kwargs):
- Variables:
- cap_contexts = [((), None)]
- args = ()
- current_state = ((), None)
- fn =
- <bound method IOStream.close of <tornado.iostream.IOStream object at 0x7fc6bf3a7910>>
- kwargs = {}
- ------------------------------------------------------------------------
- File: local/lib/python2.7/site-packages/tornado/ioloop.py (Line: 605)
- Function: _run_callback
- 598
- 599 def _run_callback(self, callback):
- 600 """Runs a callback with error handling.
- 601
- 602 For use in subclasses.
- 603 """
- 604 try:
- 605 ==> ret = callback()
- 606 if ret is not None:
- 607 from tornado import gen
- 608 # Functions that return Futures typically swallow all
- 609 # exceptions and store them in the Future. If a Future
- 610 # makes it out to the IOLoop, ensure its exception (if any)
- 611 # gets logged too.
- Variables:
- callback = <functools.partial object at 0x7fc6bf3a2ba8>
- self = <tornado.platform.epoll.EPollIOLoop object at 0x7fc6bf4e76d0>
- ------------------------------------------------------------------------
- END OF TRACEBACK
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement