mosquito / pypi-server

Tornado based server like pypi.python.org. With caching from pypi.
MIT License
120 stars 38 forks source link

login error #34

Open zironycho opened 6 years ago

zironycho commented 6 years ago
 [E 180719 09:02:59 web:1591] Uncaught exception POST /api/v1/login (xxx.xxx.xx.xxx)
     .... 
     Traceback (most recent call last):
       File "/usr/lib/python2.7/site-packages/tornado/web.py", line 1512, in _execute
         result = yield result
       File "/usr/lib/python2.7/site-packages/tornado/gen.py", line 1055, in run
         value = future.result()
       File "/usr/lib/python2.7/site-packages/concurrent/futures/_base.py", line 455, in result
         return self.__get_result()
       File "/usr/lib/python2.7/site-packages/concurrent/futures/thread.py", line 63, in run
         result = self.fn(*self.args, **self.kwargs)
       File "/usr/lib/python2.7/site-packages/pypi_server/handlers/api/login.py", line 86, in post
         user = Users.check(login, password)
       File "/usr/lib/python2.7/site-packages/pypi_server/db/users.py", line 77, in check
         user = user[0] if user else None
       File "/usr/lib/python2.7/site-packages/peewee.py", line 3298, in __len__
         return len(self.execute())
       File "/usr/lib/python2.7/site-packages/peewee.py", line 3274, in execute
         self._qr = ResultWrapper(model_class, self._execute(), query_meta)
       File "/usr/lib/python2.7/site-packages/peewee.py", line 2939, in _execute
         return self.database.execute_sql(sql, params, self.require_commit)
       File "/usr/lib/python2.7/site-packages/peewee.py", line 3837, in execute_sql
         self.commit()
       File "/usr/lib/python2.7/site-packages/peewee.py", line 3656, in __exit__
         reraise(new_type, new_type(*exc_args), traceback)
       File "/usr/lib/python2.7/site-packages/peewee.py", line 3828, in execute_sql
         cursor = self.get_cursor()
       File "/usr/lib/python2.7/site-packages/peewee.py", line 3774, in get_cursor
         return self.get_conn().cursor()
     InterfaceError: connection already closed
 [E 180719 09:02:59 web:2064] 500 POST /api/v1/login (xxx.xxx.xx.xxx) 92.30ms
ilyakrasnovsky commented 6 years ago

fwiw updating/restarting the Docker service fixes this

zironycho commented 6 years ago

@ilyakrasnovsky right, but few hour later, this problem is raised again.

ilyakrasnovsky commented 6 years ago

Agreed @zironycho - I hoped this would not recur after a restart or two, but it keeps coming back, which in turn affects client commands like python setup.py register and python setup.py upload. When this error happens, you get a 500 back, otherwise it works. When I have time, I may look back into root causes, in the meantime I've gone with a more heavyweight PyPI remote via Nexus 3.

evansano commented 5 years ago

A year late... but i managed to find the root cause/fix for this in case this helps anyone going forward: https://github.com/mosquito/pypi-server/issues/42#issuecomment-539211265