Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move event processing from source tab into entry editor #3116

Merged
merged 1 commit into from
Aug 18, 2017

Conversation

lenhard
Copy link
Member

@lenhard lenhard commented Aug 16, 2017

Solves the most critical part of #3113

The source tab did not properly unregister itself from the event bus. For some reason, I did not manage to get this working when the source tab takes care of deregistration. Therefore, I moved all event handling out of the source tab and into the entry editor.

Using jvisualvm, I can see that garbage collection works with this PR. Cycling through the main table with the entry editor open increases used RAM. When you force garbage collection, the used heap goes down to close to zero again, instead of staying at a higher plateau. See attached screenshot

heap

So this fixes the memory leak. The overall heap size doesn't go down, but that's a different issue.

  • Change in CHANGELOG.md described
  • Tests created for changes
  • Screenshots added (for bigger UI changes)
  • Manually tested changed features in running JabRef
  • Check documentation status (Issue created for outdated help page at help.jabref.org?)
  • If you changed the localization: Did you run gradle localizationUpdate?

@Siedlerchr
Copy link
Member

AS this is a small but important change I merge this i in now.

@Siedlerchr Siedlerchr merged commit 42c39cb into master Aug 18, 2017
@Siedlerchr Siedlerchr deleted the fix-source-tab-memory-leak branch August 18, 2017 15:24
Siedlerchr added a commit that referenced this pull request Aug 18, 2017
* upstream/master:
  Move event processing from source tab into entry editor (#3116)
  Update Menu_ja.properties (#3125)
  Update JabRef_ja.properties (#3126)
  Localization: French: Translation of new entries (#3124)
  Fix changelog - no date for fixes
  Fix markdown
  Additional filter functionality for Check Integrity popup (#3120)
  Workround: make snapcraft find jabref.desktop
  Enable publishing so that users do not need to execute --devmode
  Update jabref.desktop
  Enable publishing so that users do not need to execute --devmode
  Release beta version also on snapcraft
  Workround: make snapcraft find jabref.desktop
  Fix branch name
  Use newer image
  Set executable for all (and not for owner only)
  Add comment on version replacement
  Enable creation of an Ubuntu snap
Siedlerchr added a commit that referenced this pull request Aug 22, 2017
* upstream/master: (269 commits)
  Customjfxpanel (#3128)
  Make constants more obvious; improve logging
  Rename variables and make use of Java8 streams
  Re-add "Normalize to BibTex name format" context menu item and menu item tooltips
  Tweak build.gradle and external-libraries
  Work in feedback
  Files can be dropped to entry preview panel to attach a file again.
  Update IntelliJ howto to IntelliJ version 2017.2
  Move event processing from source tab into entry editor (#3116)
  Update Menu_ja.properties (#3125)
  Update JabRef_ja.properties (#3126)
  Localization: French: Translation of new entries (#3124)
  Fix changelog - no date for fixes
  Fix markdown
  Additional filter functionality for Check Integrity popup (#3120)
  Workround: make snapcraft find jabref.desktop
  Enable publishing so that users do not need to execute --devmode
  Update jabref.desktop
  Enable publishing so that users do not need to execute --devmode
  Release beta version also on snapcraft
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants