bazarr icon indicating copy to clipboard operation
bazarr copied to clipboard

Error 500 when saving a language profile

Open sgezel opened this issue 1 year ago • 1 comments

Describe the bug I am getting an error 500 when adding a language profile

To Reproduce Steps to reproduce the behavior:

  1. Go to 'settings > languages'
  2. Add language englisth languages filter
  3. click on 'add new profile'
  4. click on 'add language'
  5. select english, enable HI
  6. click on the save button save
  7. scroll to the top and click on the save button
  8. See error
Exception on /api/system/settings [POST]:

Traceback (most recent call last):
  File "/opt/bazarr/bazarr/../libs/flask/app.py", line 1516, in full_dispatch_request
    rv = self.dispatch_request()
  File "/opt/bazarr/bazarr/../libs/flask/app.py", line 1502, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/opt/bazarr/bazarr/../libs/flask_restful/__init__.py", line 467, in wrapper
    resp = resource(*args, **kwargs)
  File "/opt/bazarr/bazarr/../libs/flask/views.py", line 84, in view
    return current_app.ensure_sync(self.dispatch_request)(*args, **kwargs)
  File "/opt/bazarr/bazarr/../libs/flask_restful/__init__.py", line 582, in dispatch_request
    resp = meth(*args, **kwargs)
  File "/opt/bazarr/bazarr/api/utils.py", line 30, in wrapper
    return actual_method(*args, **kwargs)
  File "/opt/bazarr/bazarr/api/system/settings.py", line 55, in post
    for item in json.loads(languages_profiles):
  File "/usr/lib/python3.9/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.9/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.9/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)

Software (please complete the following information):

  • Bazarr: v1.1.0
  • OS: Debian GNU/Linux 11 (bullseye)

sgezel avatar Aug 10 '22 10:08 sgezel

Try to disable your ads blocker.

morpheus65535 avatar Aug 10 '22 11:08 morpheus65535

I had the same issue, using private window (which disable ads blocker) solve it for me.

k-x7 avatar Aug 13 '22 18:08 k-x7

No news, good news.

morpheus65535 avatar Aug 23 '22 00:08 morpheus65535

worked like a charm, ty

Klithik avatar Aug 23 '22 23:08 Klithik

Thank you guys! This worked for me too.

Joesilva avatar Aug 31 '22 18:08 Joesilva

FYI. The same issue appears in yesterday's version (1.1.2). I need to downgrade to 1.1.1 and problem disappear. Log from docker:

bazarr    | 2022-10-16 14:24:23,205 - app.app                          (7f1503454b38) :  ERROR (app:1457) - 
Exception on /api/system/settings [POST]

GetoXs avatar Oct 16 '22 12:10 GetoXs

FYI. The same issue appears in yesterday's version (1.1.2).

Can you share the full exception trace?

Also, what browser (and version) do you use?

morpheus65535 avatar Oct 16 '22 12:10 morpheus65535

Chrome, FF. Also in private mode. Debug:

bazarr    | 2022-10-16 18:02:01,886 - peewee                           (7f0171827b38) :  DEBUG (peewee:3148) - ('SELECT "t1"."profileId" FROM 
"table_languages_profiles" AS "t1"', [])
bazarr    | 2022-10-16 18:02:01,898 - app.app                          (7f0171827b38) :  ERROR (app:1457) - Exception on /api/system/settings 
[POST]
bazarr    | Traceback (most recent call last):
bazarr    |   File "/app/bin/bazarr/../libs/flask/app.py", line 1516, in full_dispatch_request
bazarr    |     rv = self.dispatch_request()
bazarr    |   File "/app/bin/bazarr/../libs/flask/app.py", line 1502, in dispatch_request
bazarr    |     return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
bazarr    |   File "/app/bin/bazarr/../libs/flask_restx/api.py", line 403, in wrapper
bazarr    |     resp = resource(*args, **kwargs)
bazarr    |   File "/app/bin/bazarr/../libs/flask/views.py", line 84, in view
bazarr    |     return current_app.ensure_sync(self.dispatch_request)(*args, **kwargs)
bazarr    |   File "/app/bin/bazarr/../libs/flask_restx/resource.py", line 49, in dispatch_request
bazarr    |     resp = meth(*args, **kwargs)
bazarr    |   File "/app/bin/bazarr/api/utils.py", line 30, in wrapper
bazarr    |     return actual_method(*args, **kwargs)
bazarr    |   File "/app/bin/bazarr/api/system/settings.py", line 59, in post
bazarr    |     for item in json.loads(languages_profiles):
bazarr    |   File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
bazarr    |     return _default_decoder.decode(s)
bazarr    |   File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
bazarr    |     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
bazarr    |   File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
bazarr    |     raise JSONDecodeError("Expecting value", s, err.value) from None
bazarr    | json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)

GetoXs avatar Oct 16 '22 16:10 GetoXs

@GetoXs are you accessing Bazarr through a reverse proxy?

morpheus65535 avatar Oct 16 '22 18:10 morpheus65535

No, directly http://127.0.0.1:6767/

GetoXs avatar Oct 16 '22 18:10 GetoXs

@GetoXs can you provide the paylod from the request returning a 500 http error?

image

morpheus65535 avatar Oct 16 '22 22:10 morpheus65535

Multipart:

------WebKitFormBoundary6jr4BAhBqbpuslwQ
Content-Disposition: form-data; name="settings-general-serie_default_enabled"

true
------WebKitFormBoundary6jr4BAhBqbpuslwQ
Content-Disposition: form-data; name="languages-profiles"

[object Object]
------WebKitFormBoundary6jr4BAhBqbpuslwQ
Content-Disposition: form-data; name="languages-profiles"

[object Object]
------WebKitFormBoundary6jr4BAhBqbpuslwQ--

FUll request

curl 'http://127.0.0.1:6767/api/system/settings' \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Accept-Language: pl-PL,pl;q=0.9,en-GB;q=0.8,en;q=0.7,en-US;q=0.6' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundary6jr4BAhBqbpuslwQ' \
  -H 'DNT: 1' \
  -H 'Origin: http://127.0.0.1:6767' \
  -H 'Pragma: no-cache' \
  -H 'Referer: http://127.0.0.1:6767/settings/languages' \
  -H 'Sec-Fetch-Dest: empty' \
  -H 'Sec-Fetch-Mode: cors' \
  -H 'Sec-Fetch-Site: same-origin' \
  -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36' \
  -H 'X-API-KEY: XXXXXXX' \
  -H 'sec-ch-ua: "Chromium";v="106", "Google Chrome";v="106", "Not;A=Brand";v="99"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Windows"' \
  --data-raw $'------WebKitFormBoundary6jr4BAhBqbpuslwQ\r\nContent-Disposition: form-data; name="settings-general-serie_default_enabled"\r\n\r\ntrue\r\n------WebKitFormBoundary6jr4BAhBqbpuslwQ\r\nContent-Disposition: form-data; name="languages-profiles"\r\n\r\n[object Object]\r\n------WebKitFormBoundary6jr4BAhBqbpuslwQ\r\nContent-Disposition: form-data; name="languages-profiles"\r\n\r\n[object Object]\r\n------WebKitFormBoundary6jr4BAhBqbpuslwQ--\r\n' \
  --compressed

GetoXs avatar Oct 17 '22 06:10 GetoXs

The view I'm trying to save image

GetoXs avatar Oct 17 '22 06:10 GetoXs

@LASER-Yi any idea why the frontend try to send to backend JavaScript object instead of serialized JSON?

morpheus65535 avatar Oct 17 '22 10:10 morpheus65535

Some users have reported that it works on mobile browser where all desktop browser failed.

morpheus65535 avatar Oct 22 '22 13:10 morpheus65535

Some users have reported that it works on mobile browser where all desktop browser failed.

Just tried it on a mobile browser, per your suggestion, and can confirm it allowed me to create language profiles.

genera1z0d avatar Oct 23 '22 23:10 genera1z0d

Some users have reported that it works on mobile browser where all desktop browser failed.

Can confirm this works on Firefox android 106.1.0, but not in Firefox windows 10 106.0.1

bri2 avatar Oct 24 '22 08:10 bri2

I submitted a fix which should fix this issue. Can you guys help me verify on your side? The fix should be available in the next upcoming beta version

LASER-Yi avatar Oct 25 '22 00:10 LASER-Yi

I can confirm it works.

GetoXs avatar Oct 25 '22 07:10 GetoXs

I am unfortunately still getting the error. I tested version v1.1.3-beta.6 on Debian 11 natively and Firefox 106.0.1. I disabled all the add-ons and tried a private window but without much luck.

Here's the debug log. Is there more information that you can use?

Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,586 - peewee.sqliteq                   (7f21aba13700) :  DEBUG (sqliteq:176) - received query UPDATE "table_settings_languages" SET "enabled" = ?
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,587 - peewee                           (7f21aba13700) :  DEBUG (peewee:3148) - ('UPDATE "table_settings_languages" SET "enabled" = ?', [0])
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,649 - peewee.sqliteq                   (7f21aba13700) :  DEBUG (sqliteq:176) - received query UPDATE "table_settings_languages" SET "enabled" = ? WHERE ("table_settings_languages"."code2" = ?)
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,650 - peewee                           (7f21aba13700) :  DEBUG (peewee:3148) - ('UPDATE "table_settings_languages" SET "enabled" = ? WHERE ("table_settings_languages"."code2" = ?)', [1, 'bs'])
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,738 - peewee.sqliteq                   (7f21aba13700) :  DEBUG (sqliteq:176) - received query UPDATE "table_settings_languages" SET "enabled" = ? WHERE ("table_settings_languages"."code2" = ?)
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,739 - peewee                           (7f21aba13700) :  DEBUG (peewee:3148) - ('UPDATE "table_settings_languages" SET "enabled" = ? WHERE ("table_settings_languages"."code2" = ?)', [1, 'hr'])
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,794 - peewee.sqliteq                   (7f21aba13700) :  DEBUG (sqliteq:176) - received query UPDATE "table_settings_languages" SET "enabled" = ? WHERE ("table_settings_languages"."code2" = ?)
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,795 - peewee                           (7f21aba13700) :  DEBUG (peewee:3148) - ('UPDATE "table_settings_languages" SET "enabled" = ? WHERE ("table_settings_languages"."code2" = ?)', [1, 'sr'])
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,849 - peewee.sqliteq                   (7f21aba13700) :  DEBUG (sqliteq:176) - received query UPDATE "table_settings_languages" SET "enabled" = ? WHERE ("table_settings_languages"."code2" = ?)
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,850 - peewee                           (7f21aba13700) :  DEBUG (peewee:3148) - ('UPDATE "table_settings_languages" SET "enabled" = ? WHERE ("table_settings_languages"."code2" = ?)', [1, 'en'])
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,904 - socketio.server                  (7f2118ff9700) :  INFO (server:310) - emitting event "data" to all [/]
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,905 - engineio.server                  (7f2118ff9700) :  INFO (socket:89) - WAd3vekBNxdAEP7vAAAA: Sending packet MESSAGE data 2["data",{"type":"languages","action":"update","payload":null}]
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,908 - peewee                           (7f2118ff9700) :  DEBUG (peewee:3148) - ('SELECT "t1"."profileId" FROM "table_languages_profiles" AS "t1"', [])
Oct 25 17:01:12 masina-s bazarr[24159]: 2022-10-25 17:01:12,913 - app.app                          (7f2118ff9700) :  ERROR (app:1457) - Exception on /bazarr/api/system/settings [POST]
Oct 25 17:01:12 masina-s bazarr[24159]: Traceback (most recent call last):
Oct 25 17:01:12 masina-s bazarr[24159]:   File "/usr/lib/bazarr/bazarr/../libs/flask/app.py", line 1516, in full_dispatch_request
Oct 25 17:01:12 masina-s bazarr[24159]:     rv = self.dispatch_request()
Oct 25 17:01:12 masina-s bazarr[24159]:   File "/usr/lib/bazarr/bazarr/../libs/flask/app.py", line 1502, in dispatch_request
Oct 25 17:01:12 masina-s bazarr[24159]:     return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
Oct 25 17:01:12 masina-s bazarr[24159]:   File "/usr/lib/bazarr/bazarr/../libs/flask_restx/api.py", line 403, in wrapper
Oct 25 17:01:12 masina-s bazarr[24159]:     resp = resource(*args, **kwargs)
Oct 25 17:01:12 masina-s bazarr[24159]:   File "/usr/lib/bazarr/bazarr/../libs/flask/views.py", line 84, in view
Oct 25 17:01:12 masina-s bazarr[24159]:     return current_app.ensure_sync(self.dispatch_request)(*args, **kwargs)
Oct 25 17:01:12 masina-s bazarr[24159]:   File "/usr/lib/bazarr/bazarr/../libs/flask_restx/resource.py", line 49, in dispatch_request
Oct 25 17:01:12 masina-s bazarr[24159]:     resp = meth(*args, **kwargs)
Oct 25 17:01:12 masina-s bazarr[24159]:   File "/usr/lib/bazarr/bazarr/api/utils.py", line 30, in wrapper
Oct 25 17:01:12 masina-s bazarr[24159]:     return actual_method(*args, **kwargs)
Oct 25 17:01:12 masina-s bazarr[24159]:   File "/usr/lib/bazarr/bazarr/api/system/settings.py", line 59, in post
Oct 25 17:01:12 masina-s bazarr[24159]:     for item in json.loads(languages_profiles):
Oct 25 17:01:12 masina-s bazarr[24159]:   File "/usr/lib/python3.9/json/__init__.py", line 346, in loads
Oct 25 17:01:12 masina-s bazarr[24159]:     return _default_decoder.decode(s)
Oct 25 17:01:12 masina-s bazarr[24159]:   File "/usr/lib/python3.9/json/decoder.py", line 337, in decode
Oct 25 17:01:12 masina-s bazarr[24159]:     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
Oct 25 17:01:12 masina-s bazarr[24159]:   File "/usr/lib/python3.9/json/decoder.py", line 355, in raw_decode
Oct 25 17:01:12 masina-s bazarr[24159]:     raise JSONDecodeError("Expecting value", s, err.value) from None
Oct 25 17:01:12 masina-s bazarr[24159]: json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)
Oct 25 17:01:13 masina-s bazarr[24159]: 2022-10-25 17:01:13,123 - peewee                           (7f2117ff7700) :  DEBUG (peewee:3148) - ('SELECT "t1"."name", "t1"."code2", "t1"."enabled" FROM "table_settings_languages" AS "t1" ORDER BY "t1"."name"', [])
Oct 25 17:01:19 masina-s bazarr[24159]: 2022-10-25 17:01:19,769 - engineio.server                  (7f20f6fb5700) :  INFO (socket:89) - WAd3vekBNxdAEP7vAAAA: Sending packet PING data None
Oct 25 17:01:19 masina-s bazarr[24159]: 2022-10-25 17:01:19,831 - engineio.server                  (7f21177f6700) :  INFO (socket:52) - WAd3vekBNxdAEP7vAAAA: Received packet PONG data

dglava avatar Oct 25 '22 15:10 dglava

Please reverify on the next beta version

LASER-Yi avatar Oct 25 '22 15:10 LASER-Yi

Still getting the same error it seems. Version v1.1.3-beta.7:

Oct 26 17:52:26 masina-s bazarr[30664]: 2022-10-26 17:52:26,442 - peewee                           (7f07c67fc700) :  DEBUG (peewee:3148) - ('SELECT "t1"."profileId" FROM "table_languages_profiles" AS "t1"', [])
Oct 26 17:52:26 masina-s bazarr[30664]: 2022-10-26 17:52:26,447 - app.app                          (7f07c67fc700) :  ERROR (app:1457) - Exception on /bazarr/api/system/settings [POST]
Oct 26 17:52:26 masina-s bazarr[30664]: Traceback (most recent call last):
Oct 26 17:52:26 masina-s bazarr[30664]:   File "/usr/lib/bazarr/bazarr/../libs/flask/app.py", line 1516, in full_dispatch_request
Oct 26 17:52:26 masina-s bazarr[30664]:     rv = self.dispatch_request()
Oct 26 17:52:26 masina-s bazarr[30664]:   File "/usr/lib/bazarr/bazarr/../libs/flask/app.py", line 1502, in dispatch_request
Oct 26 17:52:26 masina-s bazarr[30664]:     return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
Oct 26 17:52:26 masina-s bazarr[30664]:   File "/usr/lib/bazarr/bazarr/../libs/flask_restx/api.py", line 403, in wrapper
Oct 26 17:52:26 masina-s bazarr[30664]:     resp = resource(*args, **kwargs)
Oct 26 17:52:26 masina-s bazarr[30664]:   File "/usr/lib/bazarr/bazarr/../libs/flask/views.py", line 84, in view
Oct 26 17:52:26 masina-s bazarr[30664]:     return current_app.ensure_sync(self.dispatch_request)(*args, **kwargs)
Oct 26 17:52:26 masina-s bazarr[30664]:   File "/usr/lib/bazarr/bazarr/../libs/flask_restx/resource.py", line 49, in dispatch_request
Oct 26 17:52:26 masina-s bazarr[30664]:     resp = meth(*args, **kwargs)
Oct 26 17:52:26 masina-s bazarr[30664]:   File "/usr/lib/bazarr/bazarr/api/utils.py", line 30, in wrapper
Oct 26 17:52:26 masina-s bazarr[30664]:     return actual_method(*args, **kwargs)
Oct 26 17:52:26 masina-s bazarr[30664]:   File "/usr/lib/bazarr/bazarr/api/system/settings.py", line 59, in post
Oct 26 17:52:26 masina-s bazarr[30664]:     for item in json.loads(languages_profiles):
Oct 26 17:52:26 masina-s bazarr[30664]:   File "/usr/lib/python3.9/json/__init__.py", line 346, in loads
Oct 26 17:52:26 masina-s bazarr[30664]:     return _default_decoder.decode(s)
Oct 26 17:52:26 masina-s bazarr[30664]:   File "/usr/lib/python3.9/json/decoder.py", line 337, in decode
Oct 26 17:52:26 masina-s bazarr[30664]:     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
Oct 26 17:52:26 masina-s bazarr[30664]:   File "/usr/lib/python3.9/json/decoder.py", line 355, in raw_decode
Oct 26 17:52:26 masina-s bazarr[30664]:     raise JSONDecodeError("Expecting value", s, err.value) from None
Oct 26 17:52:26 masina-s bazarr[30664]: json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)

dglava avatar Oct 26 '22 15:10 dglava

I just upgraded the upstream packages to latest, please check the upcoming beta version

LASER-Yi avatar Oct 29 '22 05:10 LASER-Yi

Do you mean v1.1.3-beta.9 or will there be another one? Because I can't see any relevant commits for this in beta.9. But I tested it just in case and the error is still there (same error above).

dglava avatar Oct 29 '22 08:10 dglava

Using development-version-v1.1.3-beta.11, the problem still exists.

The serialization of 'language-profiles' seems to be the culprit.

image

jerryhopper avatar Nov 04 '22 13:11 jerryhopper

using development 1.1.3-beta.15 the problem still exists. Using incognito browsers Chrome, Edge and FireFox.

Traceback (most recent call last):
  File "/app/bazarr/bin/bazarr/../libs/flask/app.py", line 1820, in full_dispatch_request
    rv = self.dispatch_request()
  File "/app/bazarr/bin/bazarr/../libs/flask/app.py", line 1796, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/app/bazarr/bin/bazarr/../libs/flask_restx/api.py", line 405, in wrapper
    resp = resource(*args, **kwargs)
  File "/app/bazarr/bin/bazarr/../libs/flask/views.py", line 107, in view
    return current_app.ensure_sync(self.dispatch_request)(**kwargs)
  File "/app/bazarr/bin/bazarr/../libs/flask_restx/resource.py", line 46, in dispatch_request
    resp = meth(*args, **kwargs)
  File "/app/bazarr/bin/bazarr/api/utils.py", line 30, in wrapper
    return actual_method(*args, **kwargs)
  File "/app/bazarr/bin/bazarr/api/system/settings.py", line 59, in post
    for item in json.loads(languages_profiles):
  File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)

image image

rumplin avatar Nov 10 '22 08:11 rumplin

Can confirm that this is working when using a mobile device, not sure what the difference is but as a workaround, use your mobile devices.

rumplin avatar Nov 11 '22 16:11 rumplin

Similar error in "Movies blacklist" and still not working on mobile device

spider1163 avatar Nov 11 '22 19:11 spider1163

Similar error in "Movies blacklist" and still not working on mobile device

That's a different issue already fixed in dev branch.

morpheus65535 avatar Nov 11 '22 20:11 morpheus65535

Confirmed - just spent an hour resetting this up on my desktop. Odd bug :) I see it's already fixed in devbranch .. thanks!

gitpowershelluser avatar Nov 14 '22 04:11 gitpowershelluser