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
YAFD force quits Keepass when trying to fetch favicons. #24
Comments
Hi, thanks for your report. Can you please tell me more information about your system? (Windows I guess) Also to make my life easier, if possible:
This will help me to narrow down the issue. Since you said it is crashing the program, make sure you have a backup first. Just in case 😎 []'s |
Hello, thanks for the quick answer.
Note: I always make backups :) |
To be honest, I already tried a few scenarios here. All I can think about is some of your password entries (title or url field) have any kind of special character or something like that. Just to make sure: the crash happens only if you enable both options at the same time? Another tests can be:
By the way, have you tried to select just two random entries and see what happens? []'s |
Nice... This makes sense:
Probably a race condition trying to save the same icon. I'll look further later tonight. PS: Not 100% sure, but I think this crashes are logged on []'s |
Yes, it seems like part of the culprit. It also doesn't manage to repaint the list properly and duplicates _(only in view, not in db) all entries after two entries with identical URLs in URL field (dupe URL) is in the job. I also noticed the following:
Edit:
|
Great, this should be enough information for now. Looking at the stack is something like you said: refreshing the list. I believe any refresh on the entry list may trigger this crash. I don't recall any plugin that refresh the list right now, just this one: If you want to give it a try too, feel free... []'s |
Great! Here's hope we get to the bottom of this. The TOTP can refresh cells that should display TOTP's from what I can see. Nah, I like this extension more ❤️ |
Well... well... well... I did a few more tests: I suspect that TOTP refreshes the list and HIBPOfflineCheck too, both at the same time. From HIBPOfflineCheck page:
The call stack you posted on the image is different from the call stack of event log. Did you check the event viewer for more stack traces? They help a lot. Both plugins has some kinda of refresh feature: https://github.com/mihaifm/HIBPOfflineCheck/blob/02bf23a8a6c5f4c88b7e5390476e354a0ad5249e/HIBPOfflineCheckExt.cs#L303 I didn't refresh the list while the download is running.
Not sure exactly who is fault here, since we have 3 plugins trying to update the same thing at the same time. Can you reproduce it on a clean environment? I did...
|
Indeed,
|
I have a DB with ~10k entries which I was using for testing while developing YAFD. KeePass itself already has a good drop in performance if you have too many entries, especially if you have the sort / grouping features enabled. Also, if you have many custom icons in the database, it may take a while to save.
That is why I decided to lock the user interface while the downloading is running, to prevent entries being added/removed and all related repainting/refreshing.
Just when saving the custom icon (to avoid duplicates).
To be honest, I thought about that while designing it, but the cost to list all URLs and check if the TLD (top level domain) was the same, it ended up being much higher than downloading the icon again. Therefore, I doubt that a normal user has so many repeated entries to the same site.
I think I can make some improvements on my end to help my plugin play nice with other plugins while I'm updating the icons. |
Thanks for looking into this anyway!
I haven't experienced any performance issues what-so-ever, I do however get application hang errors when I try to import csv's larger than 20MB (I haven't tried 10MB etc.). But I digress;
It seems that |
Try to put all the entries on the same group or use the option Anyway... |
@Swoy not sure if you get luck with the other plugins, but I did a small change that may help in cases like this. |
Hello, I'm facing a rather problematic issue:
Steps to reproduce:
If I activate the option to use both
Automatic prefix URLs with http://
andUse title field if URL field is empty
in the order below:I then mark all items in a specific group (notice the visible columns):
and select the option to download:
Result:
Keepass will suddenly behave as if the entire list is deleted, then the app quit unexpectedly. Luckily, I didn't make any changes to the database during this run, but any unsaved changes is confirmed to be lost if these repro-steps are preformed on an unsaved db.
I'm using it with the following plugins on KeePass 2.40:
The text was updated successfully, but these errors were encountered: