Freezes during quitting on macOS - segmentation fault during SQLite lock release?
Report ID: 1742437657
When I quit Zotero on macOS (15.7.4; M1 Pro chip) the window disappears, but the application doesn't loose focus—i.e. the next application in my stack doesn't get focus unless I click on it. Zotero appears as "not responding" in the Activity Monitor listing for several seconds. Eventually Zotero crashes and I get the macOS crash report dialog.
Steps to reproduce:
- Open Zotero
- Close Zotero with Cmd-Q
Observe that Zotero is still present in Activity Monitor for several seconds.
Can anyone reproduce this? Anything I can do to get better bug reports? I'm as technical as they come—I'm not afraid to run CLI commands or anything to get better bug reports. :)
Apple crash report: https://gist.github.com/ashton314/24eed17b065b55df114f67e95be4f35b
Report from running with the debug flags:
/Applications/Zotero.app/Contents/MacOS/zotero -ZoteroDebug
Missing chrome or resource URL: chrome://zotero/skin/16/white/loading.svg
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
JavaScript error: chrome://zotero/content/xpcom/file.js, line 339: uncaught exception: undefined
json-rpc: loading better-bibtex chromeworker
json-rpc: loaded better-bibtex chromeworker
JavaScript error: chrome://global/content/elements/browser-custom-element.mjs, line 932: TypeError: this.ownerGlobal.gBrowser.getTabForBrowser is not a function
JavaScript error: moz-src:///browser/components/places/PlacesBrowserStartup.sys.mjs, line 95: Error: Failed to load resource://gre/modules/PlacesUtils.sys.mjs
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
WARNING: At least one completion condition is taking too long to complete. Conditions: [{"name":"Sqlite.sys.mjs 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,"initiatedTransaction":false,"pendingStatements":0,"statementCounter":304},"filename":"resource://gre/modules/Sqlite.sys.mjs","lineNumber":400,"stack":["resource://gre/modules/Sqlite.sys.mjs:ConnectionData:400","resource://gre/modules/Sqlite.sys.mjs:OpenedConnection:1670","resource://gre/modules/Sqlite.sys.mjs:openConnection/</<:1458"]}]},"filename":"resource://gre/modules/Sqlite.sys.mjs","lineNumber":235,"stack":["resource://gre/modules/Sqlite.sys.mjs:null:235","resource://gre/modules/Sqlite.sys.mjs:ConnectionData:400","resource://gre/modules/Sqlite.sys.mjs:OpenedConnection:1670","resource://gre/modules/Sqlite.sys.mjs:openConnection/</<:1458"]}] Barrier: profile-before-change
WARNING: At least one completion condition is taking too long to complete. Conditions: [{"name":"zotero.sqlite#0: waiting for shutdown","state":{"identifier":"zotero.sqlite#0","isCloseRequested":false,"hasDbConn":true,"initiatedTransaction":false,"pendingStatements":0,"statementCounter":304},"filename":"resource://gre/modules/Sqlite.sys.mjs","lineNumber":400,"stack":["resource://gre/modules/Sqlite.sys.mjs:ConnectionData:400","resource://gre/modules/Sqlite.sys.mjs:OpenedConnection:1670","resource://gre/modules/Sqlite.sys.mjs:openConnection/</<:1458"]}] Barrier: Sqlite.sys.mjs: wait until all connections are closed
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
FATAL ERROR: AsyncShutdown timeout in profile-before-change Conditions: [{"name":"Sqlite.sys.mjs 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,"initiatedTransaction":false,"pendingStatements":0,"statementCounter":304},"filename":"resource://gre/modules/Sqlite.sys.mjs","lineNumber":400,"stack":["resource://gre/modules/Sqlite.sys.mjs:ConnectionData:400","resource://gre/modules/Sqlite.sys.mjs:OpenedConnection:1670","resource://gre/modules/Sqlite.sys.mjs:openConnection/</<:1458"]}]},"filename":"resource://gre/modules/Sqlite.sys.mjs","lineNumber":235,"stack":["resource://gre/modules/Sqlite.sys.mjs:null:235","resource://gre/modules/Sqlite.sys.mjs:ConnectionData:400","resource://gre/modules/Sqlite.sys.mjs:OpenedConnection:1670","resource://gre/modules/Sqlite.sys.mjs:openConnection/</<:1458"]}] 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
[Parent 66440, Main Thread] ###!!! ABORT: file resource://gre/modules/Sqlite.sys.mjs:235
zsh: segmentation fault /Applications/Zotero.app/Contents/MacOS/zotero -ZoteroDebug
When I quit Zotero on macOS (15.7.4; M1 Pro chip) the window disappears, but the application doesn't loose focus—i.e. the next application in my stack doesn't get focus unless I click on it. Zotero appears as "not responding" in the Activity Monitor listing for several seconds. Eventually Zotero crashes and I get the macOS crash report dialog.
Steps to reproduce:
- Open Zotero
- Close Zotero with Cmd-Q
Observe that Zotero is still present in Activity Monitor for several seconds.
Can anyone reproduce this? Anything I can do to get better bug reports? I'm as technical as they come—I'm not afraid to run CLI commands or anything to get better bug reports. :)
Apple crash report: https://gist.github.com/ashton314/24eed17b065b55df114f67e95be4f35b
Report from running with the debug flags:
/Applications/Zotero.app/Contents/MacOS/zotero -ZoteroDebug
Missing chrome or resource URL: chrome://zotero/skin/16/white/loading.svg
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 1 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
JavaScript error: chrome://zotero/content/xpcom/file.js, line 339: uncaught exception: undefined
json-rpc: loading better-bibtex chromeworker
json-rpc: loaded better-bibtex chromeworker
JavaScript error: chrome://global/content/elements/browser-custom-element.mjs, line 932: TypeError: this.ownerGlobal.gBrowser.getTabForBrowser is not a function
JavaScript error: moz-src:///browser/components/places/PlacesBrowserStartup.sys.mjs, line 95: Error: Failed to load resource://gre/modules/PlacesUtils.sys.mjs
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
WARNING: At least one completion condition is taking too long to complete. Conditions: [{"name":"Sqlite.sys.mjs 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,"initiatedTransaction":false,"pendingStatements":0,"statementCounter":304},"filename":"resource://gre/modules/Sqlite.sys.mjs","lineNumber":400,"stack":["resource://gre/modules/Sqlite.sys.mjs:ConnectionData:400","resource://gre/modules/Sqlite.sys.mjs:OpenedConnection:1670","resource://gre/modules/Sqlite.sys.mjs:openConnection/</<:1458"]}]},"filename":"resource://gre/modules/Sqlite.sys.mjs","lineNumber":235,"stack":["resource://gre/modules/Sqlite.sys.mjs:null:235","resource://gre/modules/Sqlite.sys.mjs:ConnectionData:400","resource://gre/modules/Sqlite.sys.mjs:OpenedConnection:1670","resource://gre/modules/Sqlite.sys.mjs:openConnection/</<:1458"]}] Barrier: profile-before-change
WARNING: At least one completion condition is taking too long to complete. Conditions: [{"name":"zotero.sqlite#0: waiting for shutdown","state":{"identifier":"zotero.sqlite#0","isCloseRequested":false,"hasDbConn":true,"initiatedTransaction":false,"pendingStatements":0,"statementCounter":304},"filename":"resource://gre/modules/Sqlite.sys.mjs","lineNumber":400,"stack":["resource://gre/modules/Sqlite.sys.mjs:ConnectionData:400","resource://gre/modules/Sqlite.sys.mjs:OpenedConnection:1670","resource://gre/modules/Sqlite.sys.mjs:openConnection/</<:1458"]}] Barrier: Sqlite.sys.mjs: wait until all connections are closed
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
JavaScript error: resource://gre/modules/JSONFile.sys.mjs, line 186: Error: Data is not ready.
FATAL ERROR: AsyncShutdown timeout in profile-before-change Conditions: [{"name":"Sqlite.sys.mjs 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,"initiatedTransaction":false,"pendingStatements":0,"statementCounter":304},"filename":"resource://gre/modules/Sqlite.sys.mjs","lineNumber":400,"stack":["resource://gre/modules/Sqlite.sys.mjs:ConnectionData:400","resource://gre/modules/Sqlite.sys.mjs:OpenedConnection:1670","resource://gre/modules/Sqlite.sys.mjs:openConnection/</<:1458"]}]},"filename":"resource://gre/modules/Sqlite.sys.mjs","lineNumber":235,"stack":["resource://gre/modules/Sqlite.sys.mjs:null:235","resource://gre/modules/Sqlite.sys.mjs:ConnectionData:400","resource://gre/modules/Sqlite.sys.mjs:OpenedConnection:1670","resource://gre/modules/Sqlite.sys.mjs:openConnection/</<:1458"]}] 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
[Parent 66440, Main Thread] ###!!! ABORT: file resource://gre/modules/Sqlite.sys.mjs:235
zsh: segmentation fault /Applications/Zotero.app/Contents/MacOS/zotero -ZoteroDebug
Upgrade Storage
I will close if this fixes the issue.