Package: ftp.debian.org
Severity: normal
secure-boot-code-sign.py leaks database sessions. This leads to
failure when processing several packages.
I've attached the traceback.
Ansgar
ERROR:root:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 1044, in
_do_get
return self._pool.get(wait, self._timeout)
File "/usr/lib/python3/dist-packages/sqlalchemy/util/queue.py", line 156, in
get
raise Empty
sqlalchemy.util.queue.Empty
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./code-signing/secure-boot-code-sign.py", line 513, in main
process(p)
File "./code-signing/secure-boot-code-sign.py", line 466, in process
sign_and_log_files(job)
File "./code-signing/secure-boot-code-sign.py", line 327, in
sign_and_log_files
log_signature(relative_file_path, sig_hash, pkg, job.version, presign_id,
job.architecture)
File "./code-signing/secure-boot-code-sign.py", line 304, in log_signature
s.commit()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 801, in
commit
self.transaction.commit()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 392, in
commit
self._prepare_impl()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 372, in
_prepare_impl
self.session.flush()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 2019,
in flush
self._flush(objects)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 2137,
in _flush
transaction.rollback(_capture_exception=True)
File "/usr/lib/python3/dist-packages/sqlalchemy/util/langhelpers.py", line
60, in __exit__
compat.reraise(exc_type, exc_value, exc_tb)
File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 186, in
reraise
raise value
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 2101,
in _flush
flush_context.execute()
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/unitofwork.py", line 373,
in execute
rec.execute(self)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/unitofwork.py", line 532,
in execute
uow
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line
149, in save_obj
base_mapper, states, uowtransaction
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line
270, in _organize_states_for_save
states):
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/persistence.py", line
1053, in _connections_for_states
connection = uowtransaction.transaction.connection(base_mapper)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 232, in
connection
return self._connection_for_bind(bind, execution_options)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 323, in
_connection_for_bind
conn = self._parent._connection_for_bind(bind, execution_options)
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 334, in
_connection_for_bind
conn = bind.contextual_connect()
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2039,
in contextual_connect
self._wrap_pool_connect(self.pool.connect, None),
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 2074,
in _wrap_pool_connect
return fn()
File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 376, in connect
return _ConnectionFairy._checkout(self)
File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 713, in
_checkout
fairy = _ConnectionRecord.checkout(pool)
File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 480, in
checkout
rec = pool._do_get()
File "/usr/lib/python3/dist-packages/sqlalchemy/pool.py", line 1053, in
_do_get
(self.size(), self.overflow(), self._timeout))
sqlalchemy.exc.TimeoutError: QueuePool limit of size 5 overflow 10 reached,
connection timed out, timeout 30