As a corollary to this, I'm allocating my own Zotero.DBCollection for storage, but I'm getting this error when I try to shut it down at the start of a wrapped Zotero.shutdown
FATAL ERROR: AsyncShutdown timeout in profile-before-change Conditions: [{"name":"Sqlite.jsm shutdown blocker","state":{"description":"Waiting for connections to close","state":[{"name":"zotero.sqlite#0: waiting for shutdown","state":{"identifier":"zotero.sqlite#0","isCloseRequested":false,"hasDbConn":true,"hasInProgressTransaction":false,"pendingStatements":0,"statementCounter":16961},"filename":"resource://gre/modules/Sqlite.jsm","lineNumber":259,"stack":["resource://gre/modules/Sqlite.jsm:ConnectionData:259","resource://gre/modules/Sqlite.jsm:OpenedConnection:1151","resource://gre/modules/Sqlite.jsm:openConnection/</<:960"]},{"name":"better_bibtex.sqlite#0: waiting for shutdown","state":{"identifier":"better_bibtex.sqlite#0","isCloseRequested":false,"hasDbConn":true,"hasInProgressTransaction":false,"pendingStatements":0,"statementCounter":108},"filename":"resource://gre/modules/Sqlite.jsm","lineNumber":259,"stack":["resource://gre/modules/Sqlite.jsm:ConnectionData:259","resource://gre/modules/Sqlite.jsm:OpenedConnection:1151","resource://gre/modules/Sqlite.jsm:openConnection/</<:960"]}]},"filename":"resource://gre/modules/Sqlite.jsm","lineNumber":157,"stack":["resource://gre/modules/Sqlite.jsm:null:157","resource://gre/modules/XPCOMUtils.jsm:get:198","resource://gre/modules/Sqlite.jsm:ConnectionData:259","resource://gre/modules/Sqlite.jsm:OpenedConnection:1151","resource://gre/modules/Sqlite.jsm:openConnection/</<:960"]}] At least one completion condition failed to complete within a reasonable amount of time. Causing a crash to ensure that we do not leave the user with an unresponsive process draining resources.
WARNING: No crash reporter available
^G[18135] ###!!! ABORT: file resource://gre/modules/Sqlite.jsm, line 157
[18135] ###!!! ABORT: file resource://gre/modules/Sqlite.jsm, line 157
I'd rather not create new tables in the main Zotero DB, but I'd need a way for my DB to be closed properly. Would it be possible to have Zotero just register all requested DB connections and close them at shutdown?