pyfa-org / Pyfa

Python fitting assistant, cross-platform fitting tool for EVE Online
GNU General Public License v3.0
1.6k stars 406 forks source link

Every time you open the character editor, the program will get stuck #2462

Open 1072387333 opened 2 years ago

1072387333 commented 2 years ago

Bug Report

Every time you open the character editor, the program will get stuck

Expected behavior:

Actual behavior:

After using the role loaded by sso, choosing to open the role editor will cause the program to jam

Detailed steps to reproduce:

Fits involved in EFT format (Edit > To Clipboard > EFT):

Release or development git branch? Please note the release version or commit hash:

pyfa-v2.44.0-win.exe

Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):

Windows 10

Other relevant information:

image

1072387333 commented 2 years ago

I ruled out the possibility of language causing errors

image

zawlin commented 2 years ago

Experiencing same issue. Any switch to any character will cause hang.

zawlin commented 2 years ago

I found a reliable way to reproduce this bug issue at least locally, although it is quite strange. If I have the skill planner window opened in evemon, this hang will always happen. My guess is any other modal windows opened in any program can cause this problem. For example, VS code error window can cause this problem as well.

DarkFenX commented 2 years ago

This is probably wxpython-specific issue. The version we're using is quite outdated. I've been trying to facelift all dependencies, including wxpython (#2179), but it takes too much time, and i have very little spare time lately. Will have to wait until version of wx is updated and see if this issue persists.

1072387333 commented 2 years ago

So, is this the problem of the engine on which the program depends?

We can't fix it, can we?

Can we only wait for the engine to fix this bug by itself one day in the future?

If so, this is not good news.

DarkFenX commented 2 years ago

Not exactly. It's more complex than that.

My gut feeling tells me that this is problem of wxpython, which is a UI toolkit pyfa has been built on. But, there are some nuances to it: it can be a problem of the older version of this toolkit (pyfa uses 4.0.6, upgrade to a newer version is long overdue), or it could be problem with the way pyfa uses said toolkit.

Debugging those issues is not easy for me. The first step is to get a minimal code to reproduce this issue. If open #2179 which i linked earlier, and follow links to other issues in there, you will see this minimal code. Then, if I reproduce it, I could request some help from wxpython maintainers (since I don't have expertise to debug those issues on my own), which I will likely not get, since Pyfa is still on the old version.

On top of that, windows installation on my laptop has been broken for years and I do not plan to rebuild it, since I am getting a new one in about ~1.5 months. Without it, no minimal code and no way to try to hack around it.

So, realistically we can have some chance to fix it if one of 3 happens:

  1. I finally put more work into dep_facelift branch, which - among other things - bumps wxpython version
  2. I get my new laptop and can reproduce this issue, make minimal code to reproduce it and play with it to see if it can be fixed without bumping new version. I know installing/reinstalling windows is easy, but it cuts too much into my time, and I will be extremely busy for a few next months due to real life events which force me to spend a lot of time not on eve and not on pyfa
  3. Someone else (who has some experience in wxpython and windows installation) does 2.
1072387333 commented 2 years ago

It seems that I can not provide you with more effective information and help.

I have no research on these three points.

DarkFenX commented 2 years ago

I have about 1.5 weeks until i have to go away for a month, so I will try to put some work into dep_facelift. I have been planning to do it, but, as usual, work and other things cut too much into it.

I just started new build of it here, you could try launching it after it completes (artifact section should appear with macos build file). There is no guarantee it works, or that it does not crash your system, but if it starts up fine, could you please check if this bug is gone?

Also, could you please give me a bit more info on it? Does it break when you try to open character editor (where you edit skills of a character), or when you open character selection dropdown menu? If it happens when you try to open character editor window, could you check if any other secondary windows are causing it (damage pattern editor, target profile editor, implant set editor, preferences, graphs, ESI fit browser, attribute overrides editor, ESI character management, item stats)?

1072387333 commented 2 years ago

Only when I open the character editor will it crash. Other drop-down menus, such as damage pattern editor, target profile editor, implant set editor, preferences, graphs, ESI fit browser, attribute overrides editor, ESI character management, and item stats, will not cause the program to crash.

I don't think this bug is caused by other windows, because when I try to eliminate the error caused by the language, I open the character editor directly and do not open any other windows.

1072387333 commented 2 years ago

I can't understand. When I just tried to record and reproduce this bug, the bug disappeared. I'm sure that until a week ago, this bug was still bothering me, which led me not to use pyfa for a long time.

I can't understand.

DarkFenX commented 2 years ago

On your screenshots i see character selection dropdown. Is that because character editor window:

image

Does not open, or because you actually mean character selection dropdown menu?

zawlin commented 2 years ago

I can't understand. When I just tried to record and reproduce this bug, the bug disappeared. I'm sure that until a week ago, this bug was still bothering me, which led me not to use pyfa for a long time.

I can't understand.

As I mentioned in my reply, the problem can easily be reproduced by using evemon, if you opened the skillplan window in eve mon, the hang happens.

image

here's a list of few other programs where you can make the hang happen as well

  1. vscode -> help -> about, keep the about window open, switch pyfa hang
image
  1. process hacker -> help -> about (strangely does not cause the problem in pyfa) but help->check for update does..although to me they look exactly the same.
  2. quite a few other programs are also able to cause hang in pyfa, after opening secondary windows in those programs, not all of them does and they do not need to be modal windows from my testing.

@1072387333 my guess is when you are working with pyfa, you have some other programs opened that is causing the issue, I had the same problem as well and it's a bit annoying to use pyfa because of that. But the workaround is relatively simple. Just close all other programs that might be opening a second window and pyfa will work normally.

1072387333 commented 2 years ago

https://github.com/pyfa-org/Pyfa/issues/2462#issuecomment-1230211230

At that time, when I pulled down the role drop-down menu and clicked the role editor, the role editor window could not appear and the process was stuck. So there is only the role drop-down menu in the screenshot.

1072387333 commented 2 years ago

I try to use the video to explain the steps of the bug.

https://user-images.githubusercontent.com/51105200/187244697-c3ae5297-e225-44de-acf6-bf317c603de7.mp4

zawlin commented 2 years ago

Please see this video. You "need" to have another program with a window open in it. Otherwise, there issue won't happen.

https://user-images.githubusercontent.com/1491654/187246127-cd50d854-4d7f-4814-ae83-69797b4154b9.mp4

1072387333 commented 2 years ago

请看这个视频。您“需要”有另一个程序,其中打开了一个窗口。否则不会出现问题。

repro.mp4

It seems that I still can't copy the bug as if it had been fixed

https://user-images.githubusercontent.com/51105200/187250776-00f15d05-6857-451c-ad8f-54c91e3a7f34.mp4

zawlin commented 2 years ago

hmm..that's weird...evemon-> about gives me the hang..looks like it's ok for you.

1072387333 commented 2 years ago

hmm..that's weird...evemon-> about gives me the hang..looks like it's ok for you.

Yes, I spent half a night trying to copy this bug, but the strange thing is that it seems to have been fixed. It seems that this is a "time limited bug".