code: def _handle_stderr_event(self, fd, events):
          
  
          assert fd == self.fd_stderr
  
          if events & self.ioloop.READ:
              # got data ready
              if not self.headers_sent:
                  payload = self.process.stderr.read()
  
                  data = 'HTTP/1.1 500 Internal Server Error\r\nDate: %s\r\nContent-Length: %d\r\n\r\n' % (get_date_header(), len(payload))
                  self.headers_sent = True
                  data += payload
              else:
                  # see stdout
                  logger.error("This should not happen (stderr)")
                  data = self.process.stderr.read()
  
              logger.debug('Sending stderr to client: %r', data)
              self.request.write(data)
  
          if events & self.ioloop.ERROR:
              logger.debug('Error on stderr')
              # ensure file is closed
              if not self.process.stderr.closed:
                  self.process.stderr.close()
              # remove handler
              self.ioloop.remove_handler(self.fd_stderr)
              # if all fds are closed, we can finish
              return self._graceful_finish()
docs: Eventhandler for stderr