ogri-la / strongbox

a World of Warcraft Addon Manager aimed at Linux players
GNU Affero General Public License v3.0
169 stars 7 forks source link

searching for 'elvui' and clicking an addon causes window to freeze #402

Closed torkus closed 1 year ago

torkus commented 1 year ago

Describe the bug A clear and concise description of what the bug is.

Opening any version of strongbox from 5.1.0 onwards, clicking 'search', typing 'elvui' and then clicking an addon causes the window to freeze.

Catalogue must be set to 'full'.

Affects both linux and mac.

sergen213 commented 1 year ago

I was losing my mind. I though my Java installation was corrupted. I can reproduce the same error. Searching for Elvui and clicking an addon causes any windows to freeze, I have to wait until it gives not responding error. I'm on Nobara 37 both Appimage and Jar doing the same.

torkus commented 1 year ago

It's crazy it's gone undetected for so long! It just doesn't crop up in my dev environment and I'm at a loss for what it could be. I'll have to add some automated GUI tests at some point.

(and thanks for confirming it's not just me, that really helps)

torkus commented 1 year ago

This here is the trigger for the freezing: https://github.com/ogri-la/strongbox/blob/b71dea5fdba01c10cbfc1f4dd2252154b4b0fe7a/src/strongbox/jfx.clj#L2020

But I still can't figure out what the actual problem is. I do know it was introduced in 5.1.0 so I'm able to diff the changes but it's taken some time just to get to this point so I'll release a 6.1.2 tomorrow disabling this while I work on finding a better solution.

sergen213 commented 1 year ago

This here is the trigger for the freezing: https://github.com/ogri-la/strongbox/blob/b71dea5fdba01c10cbfc1f4dd2252154b4b0fe7a/src/strongbox/jfx.clj#L2020

But I still can't figure out what the actual problem is. I do know it was introduced in 5.1.0 so I'm able to diff the changes but it's taken some time just to get to this point so I'll release a 6.1.2 tomorrow disabling this while I work on finding a better solution.

Maybe something related to tukui? Because it only happens with elvui. I'll try something else from tukui.

torkus commented 1 year ago

No, nothing to do with the catalogue and everything to do with the GUI I'm afraid.

It's also non-deterministic, which means some of the time it works! I've been going through all of the changes that were made and testing them three times each looking for a consistent three passes. Such a pita.

sergen213 commented 1 year ago

I narrowed down the issue to Catalogues if you set your catalogue to full and search for it, it freezes but if I switch it to Short or others then search it's all fine. I can even switch to Full after searching with short and it's not freezing but if I do my first search with Full then it freezes. It might be line 2046 and below. I'm not a programmer myself but I think when it's in Full mode it tries to get known hosts and dbstats and something triggers this and it freezes or maybe I'm just wrong.

https://github.com/ogri-la/strongbox/blob/b71dea5fdba01c10cbfc1f4dd2252154b4b0fe7a/src/strongbox/jfx.clj#L2046

torkus commented 1 year ago

I narrowed down the issue to Catalogues if you set your catalogue to full and search for it, it freezes but if I switch it to Short or others then search it's all fine. I can even switch to Full after searching with short and it's not freezing but if I do my first search with Full then it freezes.

This is interesting, I'll investigate it. Thanks for the sleuthing, it's appreciated.

update: I can now replicate this on my dev machine using the full catalogue. That's one mystery solved.

torkus commented 1 year ago

6.1.2 has been released with a fix in it.

I'm closing this issue now but please let me know if it doesn't work for you.