Skip to content
This repository has been archived by the owner on Apr 18, 2018. It is now read-only.

Failed connection attempts to call finish twice #8

Open
@y-trobinso

Description

When failing a connection to /pushes after successfully logging in, it appears pushmanager attempted to call finish() twice:

HTTPRequest(protocol='https', host='myhost', method='GET', uri='/pushes', version='HTTP/1.1', remote_ip='myotherhost, body='', headers={'Accept-Language': 'en-US,en;q=0.$
Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/tornado-2.4.1-py2.6.egg/tornado/web.py", line 1021, in _stack_context_handle_exception
    raise_exc_info((type, value, traceback))
  File "/usr/local/lib/python2.6/dist-packages/tornado-2.4.1-py2.6.egg/tornado/stack_context.py", line 259, in _nested
    yield vars
  File "/usr/local/lib/python2.6/dist-packages/tornado-2.4.1-py2.6.egg/tornado/stack_context.py", line 229, in wrapped
    callback(*args, **kwargs)
  File "/usr/local/lib/python2.6/dist-packages/tornado-2.4.1-py2.6.egg/tornado/gen.py", line 383, in inner
    self.set_result(key, result)
  File "/usr/local/lib/python2.6/dist-packages/tornado-2.4.1-py2.6.egg/tornado/gen.py", line 315, in set_result
    self.run()
  File "/usr/local/lib/python2.6/dist-packages/tornado-2.4.1-py2.6.egg/tornado/gen.py", line 345, in run
    yielded = self.gen.send(next)
  File "/myuser/pushmanager/servlets/pushes.py", line 23, in get
    self.finish()
  File "/usr/local/lib/python2.6/dist-packages/tornado-2.4.1-py2.6.egg/tornado/web.py", line 686, in finish
    raise RuntimeError("finish() called twice.  May be caused "
RuntimeError: finish() called twice.  May be caused by using async operations without the @asynchronous decorator.
2013-06-05 16:07:34,440 [8283|MainThread] Cannot send error response after headers written

Steps to reproduce:

  1. Install pushmanager, tornado 2.x, and other dependencies.
  2. python pushmanager_main.py start.
  3. Attempt to log in. Immediately receive 500 error.
  4. This traceback will appear in the specified log file for pushmanager. The python processes themselves will continue to run.

myhost, myotherhost, and myuser stand in for my installation IP, my remote IP address, and my installation user, respectively.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions