Exception while adding two iso files

Bug #646283 reported by Christophe Bliard
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
wiithon
New
Undecided
Unassigned

Bug Description

I was adding two .iso files, when a first dialog box appears with the following error and stacktrace :

(OperationalError) database is locked u'UPDATE particion SET usado=?, libre=? WHERE particion."idParticion" = ?' [60.726562000000001, 300.523438, 1]

Merci d'informer les développeurs de cette erreur.

Traceback (most recent call last):
  File "/usr/share/wiithon/gui.py", line 1951, in termina_trabajo_anadir
    juegoNuevo = self.core.new_game_from_HDD(DEVICE, IDGAME)
  File "/usr/share/wiithon/core.py", line 133, in new_game_from_HDD
    particion = self.getParticion(DEVICE)
  File "/usr/share/wiithon/core.py", line 123, in getParticion
    particion = session.query(Particion).filter(sql).first()
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/query.py", line 1300, in first
    ret = list(self[0:1])
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/query.py", line 1221, in __getitem__
    return list(res)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/query.py", line 1360, in __iter__
    self.session._autoflush()
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/session.py", line 897, in _autoflush
    self.flush()
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/session.py", line 1354, in flush
    self._flush(objects)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/session.py", line 1432, in _flush
    flush_context.execute()
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/unitofwork.py", line 261, in execute
    UOWExecutor().execute(self, tasks)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/unitofwork.py", line 753, in execute
    self.execute_save_steps(trans, task)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/unitofwork.py", line 768, in execute_save_steps
    self.save_objects(trans, task)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/unitofwork.py", line 759, in save_objects
    task.mapper._save_obj(task.polymorphic_tosave_objects, trans)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/mapper.py", line 1417, in _save_obj
    c = connection.execute(statement.values(value_params), params)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 824, in execute
    return Connection.executors[c](self, object, multiparams, params)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 874, in _execute_clauseelement
    return self.__execute_context(context)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 896, in __execute_context
    self._cursor_execute(context.cursor, context.statement, context.parameters[0], context=context)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 950, in _cursor_execute
    self._handle_dbapi_exception(e, statement, parameters, cursor, context)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 931, in _handle_dbapi_exception
    raise exc.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect)
OperationalError: (OperationalError) database is locked u'UPDATE particion SET usado=?, libre=? WHERE particion."idParticion" = ?' [60.726562000000001, 300.523438, 1]

Utilisez l'URL suivante pour signaler des bogues :
https://bugs.launchpad.net/wiithon/+filebug

Then, a little time after, while I was browsing to find how to report a bug, another dialog box appeared with the following error:

The transaction is inactive due to a rollback in a subtransaction. Issue rollback() to cancel the transaction.

Merci d'informer les développeurs de cette erreur.

Traceback (most recent call last):
  File "/usr/share/wiithon/gui.py", line 1951, in termina_trabajo_anadir
    juegoNuevo = self.core.new_game_from_HDD(DEVICE, IDGAME)
  File "/usr/share/wiithon/core.py", line 133, in new_game_from_HDD
    particion = self.getParticion(DEVICE)
  File "/usr/share/wiithon/core.py", line 123, in getParticion
    particion = session.query(Particion).filter(sql).first()
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/query.py", line 1300, in first
    ret = list(self[0:1])
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/query.py", line 1221, in __getitem__
    return list(res)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/query.py", line 1361, in __iter__
    return self._execute_and_instances(context)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/query.py", line 1364, in _execute_and_instances
    result = self.session.execute(querycontext.statement, params=self._params, mapper=self._mapper_zero_or_none())
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/session.py", line 752, in execute
    return self.__connection(engine, close_with_result=True).execute(
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/session.py", line 717, in __connection
    return self.transaction._connection_for_bind(engine)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/session.py", line 312, in _connection_for_bind
    self._assert_is_active()
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/session.py", line 247, in _assert_is_active
    "The transaction is inactive due to a rollback in a "
InvalidRequestError: The transaction is inactive due to a rollback in a subtransaction. Issue rollback() to cancel the transaction.

Utilisez l'URL suivante pour signaler des bogues :
https://bugs.launchpad.net/wiithon/+filebug

Here is everything I did: I have Wiithon 1.16 (rev 404). I tried to add 5 rar files. 3 of them suceeded, but 2 didn't because the iso file was in a sub directory (I guess that's why it has not worked). So I unrared them and I add the 2 iso files directly. I got the exception and the files were not listed as being on the disk.

Then, I tried to restart wiithon. I could close it but I could not launch it. There was a stacktrace about the database being locked:

Entity: line 59: parser error : Opening and ending tag mismatch: module line 18 and pr
</pr></rojo><br />
     ^
Entity: line 59: parser error : Opening and ending tag mismatch: pr line 17 and rojo
</pr></rojo><br />
            ^
Entity: line 63: parser error : Opening and ending tag mismatch: rojo line 17 and margin12
            </margin12>
                       ^
Entity: line 64: parser error : Opening and ending tag mismatch: margin12 line 13 and xhtml
        </xhtml>
                ^
Entity: line 65: parser error : Premature end of data in tag xhtml line 2

        ^
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/share/wiithon/gui.py", line 397, in excepthook
    self.alert('error' , mensaje_xml, excvalue, xml=True)
  File "/usr/share/wiithon/gui.py", line 900, in alert
    view.render_xml(xml_plantilla)
  File "/usr/share/wiithon/textview_custom.py", line 95, in render_xml
    doc = libxml2.parseDoc(xml)
  File "/usr/lib/pymodules/python2.6/libxml2.py", line 1263, in parseDoc
    if ret is None:raise parserError('xmlParseDoc() failed')
libxml2.parserError: xmlParseDoc() failed

Original exception was:
Traceback (most recent call last):
  File "/usr/games/wiithon", line 91, in <module>
    App()
  File "/usr/games/wiithon", line 75, in App
    interfaz = WiithonGUI(core)
  File "/usr/share/wiithon/gui.py", line 275, in __init__
    self.refrescarParticionesWBFS()
  File "/usr/share/wiithon/gui.py", line 301, in refrescarParticionesWBFS
    self.lParti = self.core.sincronizarParticiones()
  File "/usr/share/wiithon/core.py", line 85, in sincronizarParticiones
    session.commit()
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/session.py", line 671, in commit
    self.transaction.commit()
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/session.py", line 378, in commit
    self._prepare_impl()
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/session.py", line 362, in _prepare_impl
    self.session.flush()
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/session.py", line 1354, in flush
    self._flush(objects)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/session.py", line 1432, in _flush
    flush_context.execute()
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/unitofwork.py", line 261, in execute
    UOWExecutor().execute(self, tasks)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/unitofwork.py", line 756, in execute
    self.execute_delete_steps(trans, task)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/unitofwork.py", line 778, in execute_delete_steps
    self.delete_objects(trans, task)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/unitofwork.py", line 762, in delete_objects
    task.mapper._delete_obj(task.polymorphic_todelete_objects, trans)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/orm/mapper.py", line 1546, in _delete_obj
    c = connection.execute(statement, del_objects)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 824, in execute
    return Connection.executors[c](self, object, multiparams, params)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 874, in _execute_clauseelement
    return self.__execute_context(context)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 894, in __execute_context
    self._cursor_executemany(context.cursor, context.statement, context.parameters, context=context)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 960, in _cursor_executemany
    self._handle_dbapi_exception(e, statement, parameters, cursor, context)
  File "/usr/lib/pymodules/python2.6/sqlalchemy/engine/base.py", line 931, in _handle_dbapi_exception
    raise exc.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect)
sqlalchemy.exc.OperationalError: (OperationalError) database is locked u'DELETE FROM juego WHERE juego."idJuego" = ?' [[1], [2]] ... and a total of 25 bound parameter sets

When I look for the running processes, I can see that wiithon is still alive. So I stopped it manually. When I finally launched it, I tried to add the iso once again, and the program said that the game was already on the disk.

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.