calibre-web icon indicating copy to clipboard operation
calibre-web copied to clipboard

Admin/Add new User generates a 500 Internal Server Error

Open beany31 opened this issue 2 years ago • 2 comments

problem Admin/Add new User generates a 500 Internal Server Error

To Reproduce Steps to reproduce the behavior:

  1. Go to Admin section
  2. Click on 'Add new User'
  3. See 500 Internal Server Error

Logfile Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1802, in _execute_context self.dialect.do_execute( File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/default.py", line 732, in do_execute cursor.execute(statement, parameters) sqlite3.DatabaseError: database disk image is malformed The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 2073, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1518, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1516, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1502, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "/usr/local/lib/python3.8/dist-packages/flask_login/utils.py", line 272, in decorated_view return func(*args, **kwargs) File "/app/calibre-web/cps/admin.py", line 90, in inner return f(*args, **kwargs) File "/app/calibre-web/cps/admin.py", line 1563, in new_user languages = calibre_db.speaking_language() File "/app/calibre-web/cps/db.py", line 911, in speaking_language languages = self.session.query(Languages)
File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/query.py", line 2759, in all return self._iter().all() File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/query.py", line 2894, in _iter result = self.session.execute( File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/orm/session.py", line 1692, in execute result = conn._execute_20(statement, params or {}, execution_options) File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1614, in _execute_20 return meth(self, args_10style, kwargs_10style, execution_options) File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection return connection._execute_clauseelement( File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1481, in _execute_clauseelement ret = self._execute_context( File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1845, in _execute_context self.handle_dbapi_exception( File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 2026, in handle_dbapi_exception util.raise( File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/util/compat.py", line 207, in raise raise exception File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/base.py", line 1802, in _execute_context self.dialect.do_execute( File "/usr/local/lib/python3.8/dist-packages/sqlalchemy/engine/default.py", line 732, in do_execute cursor.execute(statement, parameters) sqlalchemy.exc.DatabaseError: (sqlite3.DatabaseError) database disk image is malformed [SQL: SELECT languages.id AS languages_id, languages.lang_code AS languages_lang_code FROM languages JOIN books_languages_link ON languages.id = books_languages_link.lang_code JOIN books ON books.id = books_languages_link.book WHERE (books.id NOT IN (SELECT 1 FROM (SELECT 1) WHERE 1!=1)) GROUP BY books_languages_link.lang_code] (Background on this error at: https://sqlalche.me/e/14/4xp6)

Environment (please complete the following information):

  • Docker container: ghcr.io/linuxserver/calibre-web:latest
  • Special Hardware: Synology

beany31 avatar Apr 30 '22 15:04 beany31

Actually the error occurs on every add/edit user operation

beany31 avatar Apr 30 '22 16:04 beany31

Strange: the error sqlalchemy.exc.DatabaseError: (sqlite3.DatabaseError) database disk image is malformed is based on a problem with the calibre library. I think it‘s happening as long as you restart calibre-web. A library check from within calibre itself could help to solve the issue

OzzieIsaacs avatar Apr 30 '22 16:04 OzzieIsaacs