morpheus65535 / bazarr

Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.
https://www.bazarr.media
GNU General Public License v3.0
2.76k stars 216 forks source link

Error 500 You have disconnected from the server #2485

Closed m04ndj5xc2u3pn4eow closed 3 months ago

m04ndj5xc2u3pn4eow commented 4 months ago

Describe the bug I want to start off by saying I'm setting up Bazarr for the first time. Some actions I take, results in a Error 500 You have disconnected from the server toast message. In addition, I'm not able to save 'Languages' settings due to this error.

To Reproduce Steps to reproduce the behavior:

https://github.com/morpheus65535/bazarr/assets/101298411/b41dd514-eab2-4652-bfa3-095ed8f46282

Expected behavior No errors while setting up Bazarr for the first time.

Screenshots logs-bazarr

err-msg-bazarr

Software (please complete the following information):

Bazarr Version: 1.4.2
Package Version: v1.4.2-ls249 by linuxserver.io
Sonarr Version: 4.0.4.1491
Radarr Version: 5.4.6.8723
Operating System: Linux-5.15.84-v8+-aarch64-with
Python Version: 3.11.9

Additional context

Traceback (most recent call last):
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
    self.dialect.do_execute(
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/default.py", line 748, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: table_languages_profiles.originalFormat
The above exception was the direct cause of the following exception:
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/languages_profiles.py", line 20, in get
    return get_profiles_list()
           ^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/app/database.py", line 392, in get_profiles_list
    profile_id_list = update_profile_id_list()
                      ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/dogpile/cache/region.py", line 1577, in get_or_create_for_user_func
    return self.get_or_create(
           ^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/dogpile/cache/region.py", line 1042, in get_or_create
    with Lock(
  File "/app/bazarr/bin/bazarr/../libs/dogpile/lock.py", line 185, in __enter__
    return self._enter()
           ^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/dogpile/lock.py", line 94, in _enter
    generated = self._enter_create(value, createdtime)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/dogpile/lock.py", line 178, in _enter_create
    return self.creator()
           ^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/dogpile/cache/region.py", line 995, in gen_value
    created_value = creator(
                    ^^^^^^^^
  File "/app/bazarr/bin/bazarr/app/database.py", line 379, in update_profile_id_list
    } for x in database.execute(
               ^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/orm/scoping.py", line 724, in execute
    return self._proxied.execute(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/orm/session.py", line 2229, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/orm/session.py", line 2124, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/orm/context.py", line 253, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 1414, in execute
    return meth(
           ^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/sql/elements.py", line 486, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 1842, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 1983, in _exec_single_context
    self._handle_dbapi_exception(
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 2326, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
    self.dialect.do_execute(
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/default.py", line 748, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: table_languages_profiles.originalFormat
[SQL: SELECT table_languages_profiles."profileId", table_languages_profiles.name, table_languages_profiles.cutoff, table_languages_profiles.items, table_languages_profiles."mustContain", table_languages_profiles."mustNotContain", table_languages_profiles."originalFormat" 
FROM table_languages_profiles]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
    self.dialect.do_execute(
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/default.py", line 748, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: originalFormat
The above exception was the direct cause of the following exception:
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 66, in post
    database.execute(
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/orm/scoping.py", line 724, in execute
    return self._proxied.execute(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/orm/session.py", line 2229, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/orm/session.py", line 2124, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/orm/bulk_persistence.py", line 1524, in orm_execute_statement
    return super().orm_execute_statement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/orm/context.py", line 253, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 1414, in execute
    return meth(
           ^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/sql/elements.py", line 486, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 1842, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 1983, in _exec_single_context
    self._handle_dbapi_exception(
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 2326, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
    self.dialect.do_execute(
  File "/app/bazarr/bin/bazarr/../libs/sqlalchemy/engine/default.py", line 748, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: originalFormat
[SQL: UPDATE table_languages_profiles SET cutoff=?, "originalFormat"=?, items=?, name=?, "mustContain"=?, "mustNotContain"=? WHERE table_languages_profiles."profileId" = ?]
[parameters: (None, 0, \'[{"id": 1, "language": "en", "audio_exclude": "False", "hi": "False", "forced": "False"}]\', \'E P\', \'[]\', \'[]\', 1)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)

Let me know if you need anything else.

Thank you and awesome project!

morpheus65535 commented 4 months ago

This one should be fixed in upcoming beta. Thanks for reporting. Let me know if things get back on track.

m04ndj5xc2u3pn4eow commented 3 months ago

Hi @morpheus65535 – can confirm v1.4.3 fixes this issue.

Thank you and closing!

morpheus65535 commented 3 months ago

@m04ndj5xc2u3pn4eow thanks for the confirmation!

catduckgnaf commented 2 months ago

I am still having this issue on 1.4.3 and the latest nightly.

morpheus65535 commented 2 months ago

I am still having this issue on 1.4.3 and the latest nightly.

Error 500 is generic. We need a new log to confirm if it's the same issue but I seriously doubt it.