Closed trarer closed 1 month ago
感谢反馈。请问是否有可复现的步骤
其实这是老问题了。在 macOS 上打开一个具有 zotero 批注的 PDF 条目,并保持批注侧栏开启。关闭条目后,内存并不会释放。打开的新条目越多,批注越多,关闭后的内存会累积。当始终关闭批注侧栏正常使用,并不会产生内存累积。
很多涉及批注的插件貌似都有这个内存泄漏的问题。我只是觉得批注翻译并不是本插件的核心功能,功能太多反而容易产生很多其他问题。如果下游插件开发者无力解决,希望留出一个开关根据需要阻断某些影响性能的功能,保留核心功能。
怎么确定是插件导致的问题呢,如果是插件导致的,那肯定可以修
目前,用户只能采用控制变量法来排查。把这个插件关闭或卸载后,正常打开批注侧栏使用不存在这些问题。目前可知,较为热门的插件比如 jasminum 和 Better BibTex for Zotero 功能较为简单不会引起这个问题。zotero-style 功能太繁杂也会引发这个问题,而且其原因可能貌似不仅仅是批注侧栏这么简单,没有深入研究测试。
为排查问题需要按如下步骤协助:
Zotero.openInViewer('about:memory')
,点击run谢谢
内存溢出操作: 1)关闭其他所有插件并重启软件,保持左侧批注栏常开; 2)打开有多条批注的pdf条目然后关闭; 3)重复多个不同pdf条目,观察到活动监视器中的内存不断攀升,维持好几个GB内存占用长期不减。
内存正常操作: 1)关闭其他所有插件并重启软件,保持左侧批注栏常闭; 2)打开有多条批注的pdf条目然后关闭; 3)重复多个不同pdf条目,观察到活动监视器中的内存攀升后回落,维持1GB左右内存占用。
感谢提供反馈,应已在1.1.0-beta.33修复
感谢提供反馈,应已在1.1.0-beta.33修复
感谢修复。作者可否告知内存泄漏的根源是什么?被困扰了很久!
z6版本的情况不清楚,z7以后的问题应该来源于侧边栏批注按钮元素
感谢提供反馈,应已在1.1.0-beta.33修复 请问新版本加上在zotero7的侧边栏了吗?
Is there an existing issue for this?
Have you checked the FAQ (https://github.com/windingwind/zotero-pdf-translate/issues/6)?
Are you using the latest Zotero and the latest plugin?
Environment
Describe the bug
打开PDF的批注栏,开启插件使用后会引发 macOS 内存泄漏。可能是 Firefox 内核或 Zotero 自身对插件的内存管理问题。由于批注栏的翻译按钮无法关闭,浏览PDF的时候只能不打开批注栏才能避免插件诱发的内存泄漏问题。各位开发者如果无法根治这个问题,能够添加一个控制批注栏翻译功能启用的开关?使得插件可以正常屏幕取词,而不去触碰批注栏。
Debug Output
1709646606328 addons.xpi WARN Checking /Applications/Zotero.app/Contents/Resources/distribution/extensions for addons
[JavaScript Error: "NS_NOINTERFACE: " {file: "resource://gre/modules/ComponentUtils.jsm" line: 90}] createInstance@resource://gre/modules/ComponentUtils.jsm:90:36
1709646606910 addons.xpi WARN Addon with ID undefined already installed, older version will be disabled
[JavaScript Error: "Error: Addon must include an id, version, and type" {file: "resource://gre/modules/addons/XPIProvider.jsm" line: 1710}]
[JavaScript Error: "Error: Addon must include an id, version, and type" {file: "resource://gre/modules/addons/XPIProvider.jsm" line: 1710}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "TypeError: can't access dead object" {file: "jar:file:///Users/jie/Library/Application%20Support/Zotero/Profiles/968olcw4.default/extensions/zoteropdftranslate@euclpts.com.xpi!/chrome/content/scripts/zoteropdftranslate.js" line: 276}]
[JavaScript Error: "event.target.classList is undefined" {file: "resource://zotero/reader/reader.js" line: 28360}]
[JavaScript Error: "TypeError: emptyListMessage is null" {file: "chrome://zotero/content/standalone/standalone.js" line: 820}] ZoteroStandalone</this.updateAddonsPane/<@chrome://zotero/content/standalone/standalone.js:820:7
appName => Zotero, version => 7.0.0-beta.65+b047f3d90, os => macOS 14.3.1, locale => en-US, extensions => Better BibTex for Zotero (6.7.163, extension), Linter for Zotero (1.13.1, extension), Jasminum (1.0.0-14, extension), Translate for Zotero (1.1.0-beta.31, extension)
(3)(+2031555): {better-bibtex} +8521 idle: Tue Mar 05 2024 22:23:58 GMT+0800 (China Standard Time), save-database idle
(3)(+0000001): {better-bibtex} +2 emit: better-bibtex event emit idle {"state":"idle","topic":"save-database"}
(3)(+0004998): {better-bibtex} +4998 idle: Tue Mar 05 2024 22:24:03 GMT+0800 (China Standard Time), save-database active
(3)(+0000002): {better-bibtex} +1 emit: better-bibtex event emit idle {"state":"active","topic":"save-database"}
(3)(+0029413): itemTree.render(). Displaying Item Tree
(3)(+0014728): itemTree.render(). Displaying Item Tree
Anything else?
No response