Supress JavaFX VirtualFlow Info log noise for large libraries (10k+).#15298
Conversation
Review Summary by QodoSuppress JavaFX VirtualFlow log noise for large libraries
WalkthroughsDescription• Suppress JavaFX VirtualFlow log noise for large libraries • Prevents "index exceeds maxCellCount" warnings from upstream JavaFX bug • Avoids StackOverflowError when error console is open • Updated changelog with user-facing change description Diagramflowchart LR
A["JavaFX VirtualFlow<br/>Info Log Messages"] -- "Set log level to warn" --> B["tinylog.properties<br/>Configuration"]
B --> C["Reduced Console<br/>Noise"]
C --> D["No StackOverflowError<br/>in Error Console"]
File Changes1. jabgui/src/main/resources/tinylog.properties
|
Code Review by Qodo
1.
|
This comment has been minimized.
This comment has been minimized.
|
|
||
| ### Changed | ||
|
|
||
| - We no longer show JavaFX internal 'index exceeds maxCellCount' warnings in the error console as these stem from a known upstream JavaFX bug and were causing a StackOverflowError when the error console was open. [#12534](https://github.com/JabRef/jabref/issues/12534) |
There was a problem hiding this comment.
Which "StackOverflowerror"? I did not see in the bug report.
Please shorten the text.
There was a problem hiding this comment.
It was a link to StackOverflow. Thus, this CHANGELOG.md entry seems to be AI-generated.
There was a problem hiding this comment.
Before @calixtus added the hotfix at #15288 it was leading to a StackOverflow error considering the logs from @ThiloteE whenever a broken PDF was linked. I was honestly just working on 3-4 interconnected problems at once so I got that part wrong but yeah since the error isn't happening anymore I'll take it off the CHANGELOG.
| level@ai.djl = info | ||
| level@io.zonky.test.db.postgres.embedded = warn | ||
| level@org.freedesktop.dbus.connections.transports.TransportBuilder = warn | ||
| level@javafx.scene.control.skin.VirtualFlow = warn |
There was a problem hiding this comment.
Please sort this group of "level@" alphabetically.
|
Does the actual log message appear somewhere to the user or is this a developer console thing? If not user facing: remove changelog entry at all |
|
Somebody mentioned that fixed-cell-size gets rid of the warnings: https://stackoverflow.com/a/54349820, but that's probably a no go for us? |
It's a developer console thing, should I remove the entry then? @koppor |
|
Im not @koppor, but im a maintainer as well. Yes, remove it. Changelog is only for user facing changes. |
✅ All tests passed ✅🏷️ Commit: 7fc510e Learn more about TestLens at testlens.app. |
Noted. I've removed it. Also when I open CHANGELOG in my InteliJ it opens some different Changelog file with the title Unreleased : 2025-01-07. But when I run the command code CHANGELOG.md this opens the correct file in VS Code. Do you have any clue why this is happening? |
Wrong path maybe? |
* upstream/main: (59 commits) Fix 15000 identifier (JabRef#15286) Chore(deps): Bump dev.langchain4j:langchain4j-bom in /versions (JabRef#15305) Supress JavaFX VirtualFlow Info log noise for large libraries (10k+). (JabRef#15298) Chore(deps): Bump commons-logging:commons-logging in /versions (JabRef#15304) Fix merge dialog closing immediately when only one PDF importer returns metadata (JabRef#15127) (JabRef#15287) Fixed nullable eventhandlers (JabRef#15288) New Crowdin updates (JabRef#15285) Fix the ESC key for GlobalSearchResultDialog (JabRef#15259) Remove jbang plugin banner (JabRef#15282) Chore(deps): Bump org.apache.httpcomponents.core5:httpcore5 in /versions (JabRef#15281) Udpate to latest gradle master (JabRef#15279) Migrate to GemsFX Notifications (JabRef#14762) Chore(deps): Bump JetBrains/junie-github-action from 0 to 1 (JabRef#15272) Chore(deps): Bump docker/setup-qemu-action from 3 to 4 (JabRef#15269) Feature/citation count dropdown (JabRef#15216) Update dependency org.apache.maven.plugins:maven-resources-plugin to v3.5.0 (JabRef#15275) Chore(deps): Bump jablib/src/main/resources/csl-styles (JabRef#15273) Fix more security Fix pr_body leakage Chore: add dependency-management.md (JabRef#15278) ...
…JabRef#15298) * Supress JavaFX VirtualFlow Info log noise for large libraries. * Changelog * Arranged tinylog alphabetically * Removed changelog entry
…JabRef#15298) * Supress JavaFX VirtualFlow Info log noise for large libraries. * Changelog * Arranged tinylog alphabetically * Removed changelog entry
Related issues and pull requests
Closes #12534
PR Description
When we opened any large library with around 10k entries, console ListView triggers an info level log message from JavaFX's VirtualFlow ("index exceeds maxCellCount") due to a known upstream JavaFX bug (JDK-8089472, JDK-8296871) that occurs when scrollTo is called while the list is still being populated. Since this cannot be fixed in JabRef itself this PR suppresses the noisy log message by adding a single line to tinylog.properties to set VirtualFlow's log level to warn.
Steps to test
Checklist
CHANGELOG.mdin a way that can be understood by the average user (if change is visible to the user)