Traceback on exit with py36

Bug #1659094 reported by Tomas Groth
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenLP
Confirmed
Medium
Raoul Snyman

Bug Description

Steps to reproduce:
1. Activate songusage plugin
2. Song song live.
3. Exit OpenLP.

Confirmed on 2.4.4 and trunk

Python: 3.6.0
PyQt5 5.7.1
sqlalchemy 1.1.5
alembic 0.8.10

I tried to delete the songusage db, but it didn't help.

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
    context)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: cannot VACUUM from within a transaction

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/tgc/projects/OpenLP/code/trunk-2.4/openlp/core/ui/mainwindow.py", line 1106, in closeEvent
    self.clean_up()
  File "/home/tgc/projects/OpenLP/code/trunk-2.4/openlp/core/ui/mainwindow.py", line 1128, in clean_up
    self.plugin_manager.finalise_plugins()
  File "/home/tgc/projects/OpenLP/code/trunk-2.4/openlp/core/common/openlpmixin.py", line 58, in wrapped
    raise e
  File "/home/tgc/projects/OpenLP/code/trunk-2.4/openlp/core/common/openlpmixin.py", line 54, in wrapped
    return func(*args, **kwargs)
  File "/home/tgc/projects/OpenLP/code/trunk-2.4/openlp/core/lib/pluginmanager.py", line 189, in finalise_plugins
    plugin.finalise()
  File "/home/tgc/projects/OpenLP/code/trunk-2.4/openlp/plugins/songusage/songusageplugin.py", line 146, in finalise
    self.manager.finalise()
  File "/home/tgc/projects/OpenLP/code/trunk-2.4/openlp/core/lib/db.py", line 477, in finalise
    engine.execute("vacuum")
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 2055, in execute
    return connection.execute(statement, *multiparams, **params)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 939, in execute
    return self._execute_text(object, multiparams, params)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1097, in _execute_text
    statement, parameters
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1189, in _execute_context
    context)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1393, in _handle_dbapi_exception
    exc_info
  File "/usr/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 186, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
    context)
  File "/usr/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) cannot VACUUM from within a transaction [SQL: 'vacuum']

Revision history for this message
Simon Hanna (thelinuxguy) wrote :

I can confirm this running on Archlinux using the same versions as mentioned above.

Revision history for this message
Simon Hanna (thelinuxguy) wrote :

It might be related to the following bug I found https://github.com/Flexget/Flexget/issues/1596#issuecomment-271146518

Changed in openlp:
milestone: none → 2.4.5
assignee: nobody → Raoul Snyman (raoul-snyman)
Revision history for this message
Raoul Snyman (raoul-snyman) wrote :

This is caused by a change in the sqlite3 module in Python 3.6. In trying to figure out a way around it.

Changed in openlp:
milestone: 2.4.5 → none
Phill (phill-ridout)
Changed in openlp:
status: New → Confirmed
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.