Subject: pgAdmin4 - Session file name too large

From: eMerzh <[email-masked]>
Date: Fri, 15 Apr 2016 19:59:53 +0200

Hi,

I was testing pgAdmin4 rev e210d2b5809355a334508436d9f128b78338dfd3
on osx python python 2.7,
but when i tried to log in, i got a error :

> 2016-04-15 13:31:47,820: ERROR werkzeug: Error on request:
> Traceback (most recent call last):
> File
> "/Users/myuser/pgadmin4/venv/lib/python2.7/site-packages/werkzeug/serving.py",
> line 177, in run_wsgi
> execute(self.server.app)
> File
> "/Users/myuser/pgadmin4/venv/lib/python2.7/site-packages/werkzeug/serving.py",
> line 165, in execute
> application_iter = app(environ, start_response)
> File
> "/Users/myuser/pgadmin4/venv/lib/python2.7/site-packages/flask/app.py",
> line 1836, in __call__
> return self.wsgi_app(environ, start_response)
> File
> "/Users/myuser/pgadmin4/venv/lib/python2.7/site-packages/flask/app.py",
> line 1813, in wsgi_app
> ctx.push()
> File
> "/Users/myuser/pgadmin4/venv/lib/python2.7/site-packages/flask/ctx.py",
> line 321, in push
> self.session = self.app.open_session(self.request)
> File
> "/Users/myuser/pgadmin4/venv/lib/python2.7/site-packages/flask/app.py",
> line 825, in open_session
> return self.session_interface.open_session(self, request)
> File "/Users/myuser/pgadmin4/web/pgadmin/utils/session.py", line 209, in
> open_session
> return SqliteSessionStorage(self.directory, sid)
> File "/Users/myuser/pgadmin4/web/pgadmin/utils/session.py", line 60, in
> __init__
> sess_db = os.open(self.path, os.O_CREAT, int("600", 8))
> OSError: [Errno 63] File name too long:
> '/Users/myuser/.pgadmin/sessions/.eJxNkUtvozAUhf_KyOto....'

let me know if i can provide you more informations.

Regards,

Brice

---

From: Dave Page <[email-masked]>
Date: Sat, 16 Apr 2016 23:55:11 +0100

Hi

Ashesh, can you look at this please? I cannot reproduce it.

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

---

From: Dave Page <[email-masked]>
Date: Sun, 17 Apr 2016 12:02:57 +0100

Ok, good. Please let us know if it reoccurs.

Sent from my iPad

> On 17 Apr 2016, at 08:26, eMerzh <[email-masked]> wrote:
> 
> Ok guys I think  I found a way to pass the error.
> It seems that it was caused by a previous session cookie that was too long or smth.
> Deleting my cookies make the app work again :-)
> 
> Le 17 avr. 2016 12:55 AM, "Dave Page" <[email-masked]> a écrit :
> Hi
> 
>>> File "/Users/myuser/pgadmin4/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 177, in run_wsgi
>>> execute(self.server.app)
>>> File "/Users/myuser/pgadmin4/venv/lib/python2.7/site-packages/werkzeug/serving.py", line 165, in execute
>>> File "/Users/myuser/pgadmin4/venv/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
>>> File "/Users/myuser/pgadmin4/venv/lib/python2.7/site-packages/flask/app.py", line 1813, in wsgi_app
>>> ctx.push()
>>> File "/Users/myuser/pgadmin4/venv/lib/python2.7/site-packages/flask/ctx.py", line 321, in push
>>> File "/Users/myuser/pgadmin4/venv/lib/python2.7/site-packages/flask/app.py", line 825, in open_session
>>> File "/Users/myuser/pgadmin4/web/pgadmin/utils/session.py", line 209, in open_session
>>> File "/Users/myuser/pgadmin4/web/pgadmin/utils/session.py", line 60, in __init__
>>> OSError: [Errno 63] File name too long: '/Users/myuser/.pgadmin/sessions/.eJxNkUtvozAUhf_KyOto....'
>>

---

From: eMerzh <[email-masked]>
Date: Sun, 8 May 2016 14:39:35 +0200

Hi guys,

i was just updating my working copy of git, and got the same issue again.

it seems that the issue happend every time (or at least really often) when
i pull new changes.
so it might still be some issues with the session management.

to hel you understand my workflow, here are the step that i did:
a couple of days ago i've tested pgAdmin...
so today i did a git pull
...
Updating 07e0de5..c8406a5
...
then activate my venv,
then python web/pgAdmin4.py
and then i got the error :
OSError: [Errno 63] File name too long: ...
web/pgadmin/utils/session.py", line 60, in __init__
    sess_db = os.open(self.path, os.O_CREAT, int("600", 8))

hope this helps :)
Regards,

Brice

---

From: Ashesh Vashi <[email-masked]>
Date: Mon, 9 May 2016 00:06:57 +0530

>     sess_db = os.open(self.path, os.O_CREAT, int("600", 8))

I am surprised to see the behaviour.
I've committed a probable fix to handle the case.

> hope this helps :)

Thanks for the report.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
<http://www.enterprisedb.com/>

*http://www.linkedin.com/in/asheshvashi*
<http://www.linkedin.com/in/asheshvashi>