database related crash during exit
Sometimes the client crashes during exit with following error messages in the debug output:
** (gnome-ring:31292): DEBUG: quitting
QSqlQuery::prepare: database not open
** (gnome-ring:31292): WARNING **: Can't get conversation at row 0
QSqlQuery::prepare: database not open
** (gnome-ring:31292): WARNING **: Can't get conversation at row 0
QSqlQuery::prepare: database not open
terminate called after throwing an instance of 'lrc::Database::QueryError'
what(): Driver not loaded Driver not loaded
Aborted (core dumped)
I suspect a race condition in the LRC. Something like:
- DB is closed
- a signal comes and the callback tries to access the DB's freed data structures
Since this bug is only reproducible on the GNU/Linux GNOME client I'm reporting it here.
How to reproduce:
- open a GNU/Linux GNOME client
- close it using "quit" button
This crash is pretty rare, and like most race conditions it may not be reproducible on every machine.