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

Preview out of sync with entry table #9172

Open
2 tasks done
mlep opened this issue Sep 23, 2022 · 19 comments · Fixed by #10728
Open
2 tasks done

Preview out of sync with entry table #9172

mlep opened this issue Sep 23, 2022 · 19 comments · Fixed by #10728
Assignees
Labels
bug Confirmed bugs or reports that are very likely to be bugs entry-preview
Milestone

Comments

@mlep
Copy link
Contributor

mlep commented Sep 23, 2022

JabRef version

Latest development branch build (please note build date below)

Operating system

GNU / Linux

Details on version and operating system

JabRef 5.8--2022-09-21--35d995a Linux 5.10.0-18-amd64 amd64 Java 18.0.2.1 JavaFX 19+11

Checked with the latest development build

  • I made a backup of my libraries before testing the latest development version.
  • I have tested the latest development version and the problem persists

Steps to reproduce the behaviour

From time to time, the entry displayed in the preview does not correspond to the entry selected in the entry table.

  1. open the library https://github.com/JabRef/jabref/blob/main/src/test/resources/testbib/jabref-authors.bib
  2. double-click on one entry of the entry table to open the entry editor. The entry editor contains the entry preview (as a tab or not, depending on the settings). If needed, select the tab "Preview".
  3. click on the current entry in the entry table.
  4. with the up and down keys, move around the entries
    --> from time to time, the preview does not match the selected entry (it matches the previous entry).

I never noticed this issue before. So, it could be due to a recent change.
I could reproduce this behaviour with the preview as a tab or not.

Appendix

...

Log File
Paste an excerpt of your log file here
@ThiloteE ThiloteE added bug Confirmed bugs or reports that are very likely to be bugs entry-preview labels Sep 23, 2022
@AEgit
Copy link

AEgit commented Sep 27, 2022

As far as I can tell, this issue does not appear in the following version:

JabRef 5.8--2022-09-05--ce08d0d
Windows 10 10.0 amd64
Java 18.0.2.1
JavaFX 18.0.2+2

I also wanted to try the latest version, but since #9176 still needs to be fixed, I will have to wait for that bugfix until I can test the current JabRef version.

@mlep
Copy link
Contributor Author

mlep commented Sep 28, 2022

I cannot reproduce the bug with JabRef 5.8--2022-09-14--6a4a4f4

@HoussemNasri
Copy link
Member

The issue stopped showing once I downgraded to JavaFX 18. The upgrade to JavaFX 19 was done on 2022-09-15, which explains why it was not reproducible on the day before it.

@Siedlerchr
Copy link
Member

Siedlerchr commented Oct 7, 2022

@HoussemNasri Thanks for testing this. Maybe it has something to do with the changes to the observables (in combination with the new map operators stuff) Could be then an issue with our easybind fork

@HoussemNasri
Copy link
Member

I don't think so. When I tested it, I only changed the version of JavaFX in the gradle file. If the changes in the observables or easybind triggered the issue then downgrading JavaFX shouldn't prevent the issue because the changes are still there. I saw a recent issue in JavaFX TreeView - TreeView selects wrong item when folder above is modified and opened - Maybe both TreeView and TableView share the same selection logic? I need to have a deeper look to confirm the cause.

@Siedlerchr
Copy link
Member

Ah okay, thanks https://github.com/openjdk/jfx/blob/master/doc-files/release-notes-19.md
There was a fix regarding an IIOBE on the list change listener for tables. Maybe that was the culprit

@HoussemNasri
Copy link
Member

Thank you; I'll take a look. It's hard to tell whether it's really a JavaFX-related issue. I played around with JabRef for ~5 minutes and was able to trigger it around 5 times while running JavaFX 19 and none while running version 18. It's probably a concurrency problem because it's randomly triggered and I still can't extract deterministic steps for triggering it.

@koppor koppor added this to the v5.8 milestone Oct 10, 2022
@koppor
Copy link
Member

koppor commented Oct 10, 2022

DevCall decision: We create an explicit branch with JavaFX 18, ask users for feedback - and see if the issue still appears.

@Siedlerchr
Copy link
Member

I wil prepare a thing

@Siedlerchr
Copy link
Member

@mlep Can you try and test this version? I downgraded to javafx18 so we can see if this was introduced there
https://builds.jabref.org/pull/9253/merge/

@mlep
Copy link
Contributor Author

mlep commented Oct 15, 2022

The bug is there.

@koppor koppor modified the milestones: v5.8, v6.0 Oct 21, 2022
@koppor
Copy link
Member

koppor commented Jan 1, 2023

Encountered the same issue.

  1. After through all entries with the cursor keys, it is faster --> do we have caching enabled?
  2. Mostly, the currently selected entry is eventually shown in the preview --> We should show a loading indicator when the preview is starting to get updated. Is this a background process?
  3. Once, I saw that there was no final update (step 2)

@koppor
Copy link
Member

koppor commented Jan 2, 2023

When the entry editor is opened:

  • Switching the tab in the entry editor leads to an update of the content
    grafik
  • When switching back, the wrong content is shown again
    grafik
  • Adding an entry from an import does not update the preview

@wviechtb
Copy link

Just as a follow-up, I have the same problem under:

JabRef 5.9--2023-01-08--76253f1a7
Linux 5.15.0-60-generic amd64
Java 19.0.1
JavaFX 19+11

It seems to me that when JabRef has been running for a while, the problem goes away (some kind of caching issue?).

@BeCracked
Copy link

BeCracked commented Mar 7, 2023

Have the same issue with:

JabRef 5.9--ArchLinux--1
Linux 6.1.14-1-lts amd64
Java 19.0.2
JavaFX 19+11

I can also confirm that after some time (In the neighbourhood of like a few to 10 minutes) the issue seems to go away and the preview is updated consistently and correctly. This seems to be affected by the amount of usage.

@wujastyk
Copy link

+1
JabRef 5.10--2023-06-11--27a22af
Linux 5.15.0-73-generic amd64
Java 20.0.1
JavaFX 20+19

The Preview tab gets stuck displaying a particular entry and doesn't change when one scrolls to different entries.

jabref.mp4

@tobiasdiez
Copy link
Member

I can reproduce this very reliably if you show the entry preview next to the entry editor. Then you will also see that the entry editor is updated correctly, but not the preview. In fact, one can sometimes even arrange that one entry is previewed in one tab, while another entry is shown in another tab. So it's almost surely not an issue in JavaFX (at least not related to the main table), and more likely a problem how the update events are consumed to update the preview.

@koppor
Copy link
Member

koppor commented Feb 5, 2024

Still happens with todays' dev version (JabRef 5.13--2024-02-05--47bdfc1)

image

@koppor
Copy link
Member

koppor commented Feb 5, 2024

It has to do something with throttling of events... After writing the report, the view updated. Clicking fastly back and forth, the view does not update. - Heisenbug. - Currently no update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Confirmed bugs or reports that are very likely to be bugs entry-preview
Projects
Status: Normal priority
10 participants