[elbe-users] sqlite3.OperationalError: database is locked

Volker Haspel volker.haspel at linutronix.de
Thu Nov 16 08:23:26 CET 2023


Hi Ralf,

thanks for the report.

The initvm is still based on Debian bullseye. Normally we wait some
time after a Debian release and do not update the initvm immediately
after a new release. The update is planned for one of the next releases.

Regarding the the two bugs, I would like to ask you for more
information because our test did not trigger these issues. Is is
possible to provide us a xml file to reproduce the issues?
And can you confirm, that the two problems did not exist in version
14.9.2?

Many thanks in advanced,
Volker

On Thu, 2 Nov 2023 19:03:29 +0100
Ralf Schlatterbeck <rsc at runtux.com> wrote:

> When building a project with 14.9.3+deb12+build1311 on debian stable aka
> bookworm (the elbe VM still seems to be bullseye) I'm getting the
> traceback below. This is an armel project with an ubifs filesystem.
> 
> Also note: Previous elbe versions produced nand.img.tar.gz, now there is
> a file rootfs.ubifs in the directory on elbe, has the output format
> changed? Or is there something else going wrong?
> 
> I'm running
> elbe control --build-bin build <projecthash>
> and then while waiting with:
> elbe control wait_busy <projecthash>
> 
> the traceback occurs.
> It looks like everything is built fine but how can I be sure?
> 
> Thanks
> Ralf
> 
> Traceback (on stderr, I'm logging stdout and stderr separately):
> 
> Server returned error:
> 
> Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
>     self.dialect.do_execute(
>   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 609, in do_execute
>     cursor.execute(statement, parameters)
> sqlite3.OperationalError: database is locked
> 
> The above exception was the direct cause of the following exception:
> 
> Traceback (most recent call last):
>   File "/usr/lib/python3/dist-packages/elbepack/daemons/soap/faults.py", line 128, in wrapped
>     return func(self, arg1, arg2)
>   File "/usr/lib/python3/dist-packages/elbepack/daemons/soap/esoap.py", line 373, in get_project_busy
>     self.app.pm.open_project(uid, builddir)
>   File "/usr/lib/python3/dist-packages/elbepack/projectmanager.py", line 116, in open_project
>     self._check_project_permission(userid, builddir)
>   File "/usr/lib/python3/dist-packages/elbepack/projectmanager.py", line 549, in _check_project_permission
>     if self.db.is_admin(userid):
>   File "/usr/lib/python3/dist-packages/elbepack/db.py", line 940, in is_admin
>     u = s.query(User).filter(User.id == userid).one()
>   File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 3490, in one
>     ret = self.one_or_none()
>   File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 3459, in one_or_none
>     ret = list(self)
>   File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 3535, in __iter__
>     return self._execute_and_instances(context)
>   File "/usr/lib/python3/dist-packages/sqlalchemy/orm/query.py", line 3560, in _execute_and_instances
>     result = conn.execute(querycontext.statement, self._params)
>   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1011, in execute
>     return meth(self, multiparams, params)
>   File "/usr/lib/python3/dist-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
>     return connection._execute_clauseelement(self, multiparams, params)
>   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement
>     ret = self._execute_context(
>   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context
>     self._handle_dbapi_exception(
>   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1510, in _handle_dbapi_exception
>     util.raise_(
>   File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 182, in raise_
>     raise exception
>   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
>     self.dialect.do_execute(
>   File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 609, in do_execute
>     cursor.execute(statement, parameters)
> sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database is locked
> [SQL: SELECT users.id AS users_id, users.name AS users_name, users.fullname AS users_fullname, users.pwhash AS users_pwhash, users.email AS users_email, users.admin AS users_admin 
> FROM users 
> WHERE users.id = ?]
> [parameters: (1,)]
> (Background on this error at: http://sqlalche.me/e/13/e3q8)
> 
> 
> 



-- 
Volker Haspel
Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
Phone: +49 7556 25 999 24; Fax.: +49 7556 25 999 99

Hinweise zum Datenschutz finden Sie hier (Informations on data privacy 
can be found here): https://linutronix.de/legal/data-protection.php

Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen | 
Registergericht (Registration Court): Amtsgericht Freiburg i.Br.,
HRB700 806 | Geschäftsführer (Managing Directors): Heinz Egger, Thomas
Gleixner, Sharon Heck, Yulia Beck, Tiffany Silva


More information about the elbe-users mailing list