Hi, Please log this issue @ https://redmine.postgresql.org/projects/pgadmin4/issues with proper details.
Thanks, Khushboo On Thu, Nov 8, 2018 at 10:49 PM SleepProgger <secur...@gnutp.com> wrote: > This happens for me regardless of settings/tables used, so its a bit > hard to create sample data for this. > > Thus a bit more detailed: > > - Right click on a table > > - Select maintenance > > - Click "Ok" > > > On my system that opens a popup with the text: "Maintenance job creation > failed." > > And IMHO that all makes sense as the request that is being posted from > pgAdmin frontend is: > > > data={"op":"VACUUM","vacuum_full":false,"vacuum_freeze":false,"vacuum_analyze":false,"verbose":true,"database":"somedb","schema":"public","table":"images"} > > and the relevant lines in the pgAdmin backend are > ( > https://github.com/postgres/pgadmin4/blob/master/web/pgadmin/tools/maintenance/__init__.py#L181 > ) > > data = dict(request.form) > > data = json.loads(data['data'][0], encoding='utf-8') > > > And thus json.loads only gets the first character of the data field ('{'). > > Please let me know which other infos i could provide to hunt this bug down. > > Thanks, > > SleepProgger > > > On 06.11.18 06:36, Khushboo Vashi wrote: > > Hi, > > > > I am not able to reproduce this issue at my end. > > Can you please provide some sample data through which I can reproduce > > this issue? > > > > Thanks, > > Khushboo > > > > On Mon, Nov 5, 2018 at 11:14 PM SleepProgger <secur...@gnutp.com > > <mailto:secur...@gnutp.com>> wrote: > > > > Hi all. > > > > > > When trying to use any of the maintenance features (right click on > > table > > -> maintenance) i get a "Maintenance job creation failed." popup. > > > > ~/.pgadmin/pgadmin4.log says: > > > > |2018-11-05 14:35:43,015: ERROR werkzeug: Error on request:|| > > ||Traceback (most recent call last):|| > > || File "/usr/lib/python3.7/site-packages/werkzeug/serving.py", line > > 270, in run_wsgi|| > > || execute(self.server.app)|| > > || File "/usr/lib/python3.7/site-packages/werkzeug/serving.py", line > > 258, in execute|| > > || application_iter = app(environ, start_response)|| > > || File > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/flask/app.py", > > line > > 1997, in __call__|| > > || return self.wsgi_app(environ, start_response)|| > > || File > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/flask/app.py", > > line > > 1985, in wsgi_app|| > > || response = self.handle_exception(e)|| > > || File > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/flask/app.py", > > line > > 1540, in handle_exception|| > > || reraise(exc_type, exc_value, tb)|| > > || File > > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/flask/_compat.py", > > > > line 33, in reraise|| > > || raise value|| > > || File > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/flask/app.py", > > line > > 1982, in wsgi_app|| > > || response = self.full_dispatch_request()|| > > || File > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/flask/app.py", > > line > > 1614, in full_dispatch_request|| > > || rv = self.handle_user_exception(e)|| > > || File > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/flask/app.py", > > line > > 1517, in handle_user_exception|| > > || reraise(exc_type, exc_value, tb)|| > > || File > > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/flask/_compat.py", > > > > line 33, in reraise|| > > || raise value|| > > || File > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/flask/app.py", > > line > > 1612, in full_dispatch_request|| > > || rv = self.dispatch_request()|| > > || File > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/flask/app.py", > > line > > 1598, in dispatch_request|| > > || return self.view_functions[rule.endpoint](**req.view_args)|| > > || File > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/flask_login.py", > > line 792, in decorated_view|| > > || return func(*args, **kwargs)|| > > || File > > "/usr/lib/pgadmin4/web/pgadmin/tools/maintenance/__init__.py", > > line 181, in create_maintenance_job|| > > || data = json.loads(data['data'][0], encoding='utf-8')|| > > || File > > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/simplejson/__init__.py", > > > > line 535, in loads|| > > || return cls(encoding=encoding, **kw).decode(s)|| > > || File > > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/simplejson/decoder.py", > > > > line 370, in decode|| > > || obj, end = self.raw_decode(s)|| > > || File > > > "/usr/lib/pgadmin4/venv/lib/python3.7/site-packages/simplejson/decoder.py", > > > > line 400, in raw_decode|| > > || return self.scan_once(s, idx=_w(s, idx).end())|| > > ||simplejson.errors.JSONDecodeError: Expecting property name > > enclosed in > > double quotes or '}': line 1 column 2 (char 1)| > > > > I tracked this bug down and it looks like the reason is the > > 'data['data'][0]' in > > > https://github.com/postgres/pgadmin4/blob/master/web/pgadmin/tools/maintenance/__init__.py#L181 > > > > . > > > > The [0] doesn't really make any sense there, and after removing it > > the > > problem was fixed. > > > > > > PGadmin4 version: 3.4 > > > > Browser: 63.0.1 (64-bit) > > > > (Altho i don't think it matters in this case) > > > > >