openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #22182
[Bug 1223644] Re: OpenLP fails to start if python-uno throws an exception
This bug is also affecting openSUSE 13.1 which comes with LibreOffice
4.1. Uninstalling libreoffice-pyuno fixes the issue but breaks Impress
integration and any other software that uses UNO.
Full log attached.
Traceback:
File "/usr/bin/openlp", line 44, in <module>
main()
File "/usr/lib/python2.7/site-packages/openlp/core/__init__.py", line 342, in main
sys.exit(app.run(qt_args))
File "/usr/lib/python2.7/site-packages/openlp/core/__init__.py", line 150, in run
self.mainWindow = MainWindow(self)
File "/usr/lib/python2.7/site-packages/openlp/core/ui/mainwindow.py", line 685, in __init__
self.pluginManager.find_plugins(plugin_path, self.pluginHelpers)
File "/usr/lib/python2.7/site-packages/openlp/core/lib/pluginmanager.py", line 113, in find_plugins
__import__(modulename, globals(), locals(), [])
File "/usr/lib/python2.7/site-packages/uno.py", line 269, in _uno_import
return _g_delegatee( name, *optargs, **kwargs )
File "/usr/lib/python2.7/site-packages/openlp/plugins/bibles/bibleplugin.py", line 38, in <module>
from openlp.plugins.bibles.lib import BibleManager, BiblesTab, BibleMediaItem
File "/usr/lib/python2.7/site-packages/uno.py", line 269, in _uno_import
return _g_delegatee( name, *optargs, **kwargs )
File "/usr/lib/python2.7/site-packages/openlp/plugins/bibles/lib/__init__.py", line 456, in <module>
from manager import BibleManager
File "/usr/lib/python2.7/site-packages/uno.py", line 269, in _uno_import
return _g_delegatee( name, *optargs, **kwargs )
File "/usr/lib/python2.7/site-packages/openlp/plugins/bibles/lib/manager.py", line 47, in <module>
from openlp1 import OpenLP1Bible
File "/usr/lib/python2.7/site-packages/uno.py", line 335, in _uno_import
"%s (or '%s.%s' is unknown)" % (py_import_exc, name, x)
AttributeError: 'exceptions.ImportError' object has no attribute 'with_traceback'
None
** Attachment added: "openSUE 13.3 Crash Log"
https://bugs.launchpad.net/opensuse/+source/openlp/+bug/1223644/+attachment/3901128/+files/opensuse_13.1_pyuno_crash.log.txt
--
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1223644
Title:
OpenLP fails to start if python-uno throws an exception
Status in OpenLP - Worship Presentation Software:
New
Status in OpenLP 2.0 series:
Won't Fix
Status in OpenLP trunk series:
Won't Fix
Status in “openlp” package in openSUSE:
New
Bug description:
As of OpenLP 2.0.2, the startup code is unable to handle external
errors which cause python-uno to throw exceptions. In this particular
instance,
Current behavior:
After running OpenLP with the option "-l debug", the following stack trace is logged:
File "/usr/bin/openlp", line 44, in <module>
main()
File "/usr/share/openlp/openlp/core/__init__.py", line 342, in main
sys.exit(app.run(qt_args))
File "/usr/share/openlp/openlp/core/__init__.py", line 150, in run
self.mainWindow = MainWindow(self)
File "/usr/share/openlp/openlp/core/ui/mainwindow.py", line 685, in __init__
self.pluginManager.find_plugins(plugin_path, self.pluginHelpers)
File "/usr/share/openlp/openlp/core/lib/pluginmanager.py", line 121, in find_plugins
plugin = p(plugin_helpers)
File "/usr/share/openlp/openlp/plugins/custom/customplugin.py", line 54, in __init__
self.manager = Manager(u'custom', init_schema)
File "/usr/share/openlp/openlp/core/lib/db.py", line 229, in __init__
self.session = init_schema(self.db_url)
File "/usr/share/openlp/openlp/plugins/custom/lib/db.py", line 61, in init_schema
session, metadata = init_db(url)
File "/usr/share/openlp/openlp/core/lib/db.py", line 64, in init_db
engine = create_engine(url, poolclass=NullPool)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/__init__.py", line 321, in create_engine
return strategy.create(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 64, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/dialects/sqlite/pysqlite.py", line 276, in dbapi
from pysqlite2 import dbapi2 as sqlite
File "/usr/lib/python2.7/dist-packages/uno.py", line 334, in _uno_import
"%s (or '%s.%s' is unknown)" % (py_import_exc, name, x)
AttributeError: 'exceptions.ImportError' object has no attribute 'with_traceback'
Expected behavior:
OpenLP should provide the user with an error dialog before crashing with a message such as "OpenLP is unable to connect to the LibreOffice database".
If it is reasonable, add workaround code to allow OpenLP to continue without using the plugin which triggered the external exception.
Environment notes:
OpenLP 2.0.2
Ubuntu 12.04
Libre Office 4.1.1
To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1223644/+subscriptions
References