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

Flutter based Client causes instant freezing and white screen (Windows 10 x64, Intel NUC with i5-4250U, Intel HD Graphics 5000) #5108

Closed
axbmcuser opened this issue Jul 24, 2023 · 117 comments
Labels
bug Something isn't working duplicate This issue or pull request already exists help wanted Extra attention is needed unreproducible Can not be reproduced

Comments

@axbmcuser
Copy link

axbmcuser commented Jul 24, 2023

Bug Description

When starting a client version which is based on Flutter, Windows instantly becomes completely unresponsive/unusable.

How to Reproduce

  • Start flutter based client on Windows 10 x64 with a NUC or similar machine using i5-4250U with older Intel HD Graphics 5000 (Drivers+Windows Updates all on latest versions)
  • See Windows becoming completely unresponsive/unusable
  • Only way to exit is removing power from the NUC/machine

Using an older Sciter-based client version or the 1.2.1 x86 Sciter version of the client works without this problem.

Thanks for looking into it and your work. :)

Expected Behavior

Client working without freezing the machine.

Operating system(s) on local side and remote side

Windows 10 x64

RustDesk Version(s) on local side and remote side

1.2.1

Screenshots

N/A

Additional Context

No response

@axbmcuser axbmcuser added the bug Something isn't working label Jul 24, 2023
@rustdesk
Copy link
Owner

Frankly, nothing we can do from our side except waiting for flutter update,it is also impossible for us to reproduce such case.

@rustdesk rustdesk added the unreproducible Can not be reproduced label Jul 25, 2023
@rustdesk
Copy link
Owner

please stick to sciter version for the time being, let us keep watch

@axbmcuser
Copy link
Author

@rustdesk

Thanks for your reply! :)

  • Is this a known issue with flutter?

I'd propose

  1. Releasing a x64 sciter client version until a fix happens in regards to a updated flutter version.
    Or is compiling the latest version with x64+sciter not possible due to anything?

  2. Adding a FAQ remark which warns users about this existing issue.
    (If it would be a small issue like being a bit slow i'd not bother - but since it's an instant full machine freeze/crash, it should be very recommended to add a remark)

Thank you again!

@xiaodusx1
Copy link

May I ask if you are using the FLUTTER version downloaded from here, as I am using the same version and everything is working fine? If you compiled it yourself, could you please provide me with the steps so that I can try to reproduce this issue?

@axbmcuser
Copy link
Author

@xiaodusx1
Sure!
The issue occurs under described circumstances with every flutter based windows client version downloaded from:
https://github.com/rustdesk/rustdesk/releases

I tested it since the earlier flutter nightlies up to latest v1.2.1 with identical results.

What hardware did you use while trying to reproduce?

I guess it may be a bug+incompatbility flutter has with the specific IGP Intel HD Graphics 5000.

Thanks again.

@axbmcuser
Copy link
Author

axbmcuser commented Jul 27, 2023

Thanks for the links. I read through them for informational purposes.

Since it's unlikely the flutter-desktop-issues situation can be resolved in the short term, i would again refer to my two suggestions from above:

  • Offering a x64 sciter client version (besides the already existing x86 sciter version)
  • Adding a FAQ remark/warning
    ...for the time being

At the moment, even users which are interested in the commerical plan offerings, are downloading the flutter version without expecting that a stable client version would potentially crash their machine completely.
Above mentioned suggestions would mitigate the situation for both free and commercial users and essentialy avoid users having a wrong bad first impression of the product.

In my many years of passion for product/QA-work, i can safely say that having a software which is provided as a regular (non-nightly) release crash this way will turn away users with an unnecessary and avoidable feeling of the software being "not ready to use" which would be a shame since the core of RustDesk is so great.

Thanks again for your time and having the discussion. Much appreaciated.

@jiayiming
Copy link

i5 7600k+GTX1066+win10,too.
1.1.9 is fine.

@rustdesk
Copy link
Owner

rustdesk commented Sep 21, 2023

How about run with env LIBGL_ALWAYS_SOFTWARE=1?

@ThaCheeseBun
Copy link

Also happening for me on 1.2.2 and 1.2.1, sciter build works fine.
Ryzen 3600x + RTX 2070 + Win 11

env variable makes no difference for me at least

@rustdesk
Copy link
Owner

@21pages please build a simple flutter demo app, and let them try. We need to figure out what feature of Flutter we are using cause this problem.

@21pages
Copy link
Collaborator

21pages commented Sep 22, 2023

https://github.com/21pages/test/releases/download/test/simple_flutter_demo_windows_x64.zip
This is a simple flutter demo, please test if it can run.

@rustdesk
Copy link
Owner

https://github.com/21pages/test/releases/download/test/simple_flutter_demo_windows_x64.zip This is a simple flutter demo, please test if it can run.

@axbmcuser @ThaCheeseBun can you try out this and let us know?

@axbmcuser
Copy link
Author

@rustdesk Yes, i'll test asap and provide feedback.

@rustdesk
Copy link
Owner

rustdesk commented Oct 5, 2023

@axbmcuser any update?

@Morkph
Copy link

Morkph commented Oct 5, 2023

Hi @rustdesk , you asked me to reply here based on my recent reddit post. In my case the flutter client does not freeze my computer, but I get a white screen instead. Sciter version works.

Let me know how I can help you debug this issue.

@Morkph
Copy link

Morkph commented Oct 5, 2023

@rustdesk I have downloaded and tested the flutter demo you uploaded 2 weeks ago. It works, After 13 successful increments, I thought I was enough.

@rustdesk
Copy link
Owner

rustdesk commented Oct 6, 2023

@Morkph thanks, we will generate more demo for your test. @21pages please generate more demos

@21pages
Copy link
Collaborator

21pages commented Oct 6, 2023

@Morkph Thanks for your feedback. Can you try running "--cm" from command line and let me know if you see a connection manager window briefly appears on the top right, similar to the video below?
If "--cm" freezes your system, please try "--install", it should show install page.

mintty_xIDHsHI2pa.mp4

@Morkph
Copy link

Morkph commented Oct 6, 2023

@21pages When I use start rustdesk-1.2.3-x86_64.exe --cm I see something happen very briefly (I think it starts and ends instantaneously). With start rustdesk-1.2.3-x86_64.exe --install I get to see the following (white) screen:
image

@rustdesk
Copy link
Owner

rustdesk commented Oct 6, 2023

@Morkph Great, you gave us a very good clue. We will split --install out, and let you test different versions to find the cause.

@21pages
Copy link
Collaborator

21pages commented Oct 6, 2023

https://github.com/21pages/test/releases/tag/flutter_windows
Could you try these two plugin demo? The most likely cause is these two plugins, I'll split --install ASAP.

@Morkph
Copy link

Morkph commented Oct 6, 2023

@21pages desktop_multi_window_example ->
image

windows_manager_example -> image

Both appear to be working as intended (you be the judge ;))

@rustdesk
Copy link
Owner

rustdesk commented Oct 6, 2023

Thanks, @Morkph

@21pages
Copy link
Collaborator

21pages commented Oct 6, 2023

https://github.com/21pages/test/releases/download/flutter_windows/rustdesk-callShowInC-install.exe
@Morkph Could you try this one? Click and run, the logs will be printed in D:/log.txt.

@Morkph
Copy link

Morkph commented Oct 6, 2023

@21pages log.txt output:
log.txt

Similar white screen, though the rest appeared to be black, not translucent.
image

@21pages
Copy link
Collaborator

21pages commented Oct 6, 2023

Thanks, install body Ok not printed out, I'll build another one

@rustdesk
Copy link
Owner

rustdesk commented Oct 6, 2023

Good job.

@21pages
Copy link
Collaborator

21pages commented Oct 8, 2023

Thanks, are there any differences in permissions between the two levels of the "rustdesk" directory?

vmware_cA2e61g5gp

@Morkph
Copy link

Morkph commented Oct 8, 2023

No, not that I can see.

@Morkph
Copy link

Morkph commented Oct 8, 2023

drwxr-xr-x 1 AvL 197121 0 Oct 8 16:01 AppData

drwxr-xr-x 1 AvL 197121 0 Oct 8 13:08 Local

drwxr-xr-x 1 AvL 197121 0 Oct 8 13:08 rustdesk

they are all the same it appears.

I experimented a little and when I run C:\Users\<Yourname>\AppData\Local\rustdesk\rustdesk.exe as administrator... it works. When not, I get the white screen.

@21pages
Copy link
Collaborator

21pages commented Oct 9, 2023

Here's a summary of the current stage:

ruled out

not ruled out completely

related

@rustdesk
Copy link
Owner

rustdesk commented Oct 9, 2023

Great job. @Morkph @21pages Thanks for your effort. Just the final step we will get the truth.

@21pages
Copy link
Collaborator

21pages commented Oct 9, 2023

@Morkph https://github.com/21pages/test/releases/download/flutter_windows/helloword-binary-rustdesk-style-extract-run2.exe This program compress the first helloword program itself and decompress it to C:\Users\<Yourname>\AppData\Local\rustdesk to run, you need to go to that directory and may need to kill it in taskManager, if white screen happens again, all rust code except portabe part can be ruled out (It is a small piece of code, so 99% code can be ruled out).

The picture shows that they are completely the same program.
1696860445982

https://github.com/21pages/rustdesk/releases/download/nightly/extract-to-rustdesk2.exe
C:\Users\<Yourname>\AppData\Local\rustdesk seems special, parent directory and many other directories can work except it and the install directory. let's try automatically extracting it to the adjacent rustdesk2 directory, If whilte screen happens, it indicates that this directory is not special.

@Morkph
Copy link

Morkph commented Oct 9, 2023

@21pages helloword-binary-rustdesk-style-extract-run2.exe -> white screen.

extract-to-rustdesk2.exe -> works.

@21pages
Copy link
Collaborator

21pages commented Oct 9, 2023

Based on the tests, except for the code related to the 'portable' section, both the Rust and Flutter code can be ruled out as suspects. That directory is indeed quite special. but I didn't find any code in the 'portable' section that is associated with that directory.

I made a mistake in my previous statement. helloword-binary-rustdesk-style-extract-run2.exe can be run by simply clicking on it. Did it also result in a white screen when running it directly? What if clear directory C:\Users\<Yourname>\AppData\Local\rustdesk before running? I'm afraid that the previous program is run because of file overwriting failure.

@21pages
Copy link
Collaborator

21pages commented Oct 10, 2023

@Morkph Thanks for all the tests above, Let's focus on directory/permission issues.

A = C:\Users\<Yourname>\AppData\Local\rustdesk, the portable auto decompressed directory
B = C:\Program Files\RustDesk, the default installation directory

Tests performed:

White screen:

  • Portable automatically extracted to directory A.
  • Helloworld automatically extracted to directory A. ref
  • Rustdesk installed to directory B.ref

Work fine:

  • Helloworld program, compressed in a zip file, can run but not located in directory A or directory B. ref
  • Rustdesk program, compressed in a zip file, can run but not located in directory A or directory B.ref ref
  • Portable automatically extracted to adjacent directory rustdesk2, which is located in directory A. ref

Tests to be performed

Now we need to move the runnable programs directly to directory A or directory B to see whether it can still work fine.

helloworld program = https://github.com/21pages/test/releases/download/test/simple_flutter_demo_windows_x64.zip, which works fine in other directory, ref
rustdesk program = https://github.com/21pages/test/releases/download/flutter_windows/BuildPyStep1_FlutterBuildWindowsRelease.zip, which works fine in other directory, ref

Directory A or directory B need to be cleared first before each test.
If helloworld program doesn't show, kill it in the taskManager and retry, because not work is white screen.

  • Test 1: Unzip the helloworld program to common directory and run it, should work, for comparison.
  • Test 2: Clear directory A, unzip the helloworld program to directory A and run it, compare with 1.
  • Test 3: Clear directory B, unzip the helloworld program to directory B and run it, compare with 1.
  • Test 4: Unzip the rustdesk program to common directory and run it, should work, for comparison.
  • Test 5: Clear directory A, unzip the rustdesk program to directory A and run it, compare with 4.
  • Test 6: Clear directory B, unzip the rustdesk program to directory B and run it, compare with 4.
  • Test 7: Clear directory B, unzip the rustdesk program to a common directory, run it and install to directory B, should not work, then run rustdesk.exe --uninstall to uninstall it, for comparison.
  • Test 8: Unzip the rustdesk program to a common directory, run it and install to a common directory other than B, eg: D:/program/rustdesk, compare with 7.

Additionally, we suspect that the antivirus software may be targeting the directories A and B that we are using. Could you please let us know which antivirus software you are using?

@Morkph
Copy link

Morkph commented Oct 10, 2023

I made a mistake in my previous statement. helloword-binary-rustdesk-style-extract-run2.exe can be run by simply clicking on it. Did it also result in a white screen when running it directly? What if clear directory C:\Users\<Yourname>\AppData\Local\rustdesk before running? I'm afraid that the previous program is run because of file overwriting failure.

Before I started testing, I made sure all rustdesk directories had been removed. I did so again just now. I removed the rustdesk directory in C:\Users\<Yourname>\AppData\Local\. I then ran helloword-binary-rustdesk-style-extract-run2.exe by clickking on it -> resulted in the famous white screen.

I will now go to your next comment in another post.

@21pages
Copy link
Collaborator

21pages commented Oct 10, 2023

Thanks for your support!

@Morkph
Copy link

Morkph commented Oct 10, 2023

@Morkph Thanks for all the tests above, Let's focus on directory/permission issues.

Well, I have to thank you too, because this started out as a problem I thought was on my end. I thought it was related to a driver issue or something else that had changed on my computer. Rustdesk was able to run without a problem for a long time and then at some point it started white screening on me. I have looked at windows defender, the registry. No avail.

A = C:\Users\<Yourname>\AppData\Local\rustdesk, the portable auto decompressed directory B = C:\Program Files\RustDesk, the default installation directory

helloworld program = https://github.com/21pages/test/releases/download/test/simple_flutter_demo_windows_x64.zip, which works fine in other directory, ref rustdesk program = https://github.com/21pages/test/releases/download/flutter_windows/BuildPyStep1_FlutterBuildWindowsRelease.zip, which works fine in other directory, ref

Directory A or directory B need to be cleared first before each test. If helloworld program doesn't show, kill it in the taskManager and retry, because not work is white screen.

Okay, understood.

* Test 1: Unzip the `helloworld program` to common directory and run it, should work, for comparison.
  1. Cleaned directories A & B
  2. Unzipped to c:\new install\helloworld_simple_flutter_demo_windows_x64
  3. Clicked on simple_flutter_demo.exe to start -> works.
* Test 2: Clear directory  A, unzip the `helloworld program` to directory A and run it, compare with 1.
  1. Directories A & B did not need to be cleaned, they were already rustdesk-free ;)
  2. Unzipped to C:\Users\<Yourname>\AppData\Local\helloworld_simple_flutter_demo_windows_x64
  3. Clicked on simple_flutter_demo.exe to start -> did not work 1st time, did work 2nd time.
  4. I tried this a few times.
  5. I also realized it had created multiple processes. Killed all process in task manager.
  6. Tried starting it again by clicking. Sometimes it works immediately, sometimes I need to start it twice. Seems erratic?
  7. Tried this a few more times. I cannot find a reproducible way for it to work or don't work. Sometimes it works 5 times in a row, then all of a sudden it does not present the click window, but simply stays hidden (a process is opened however, because i see it in the task manager).
  8. Renamed C:\Users\<Yourname>\AppData\Local\helloworld_simple_flutter_demo_windows_x64 to C:\Users\<Yourname>\AppData\Local\rustdesk
  9. Started it again , like in 3, 4, 5, 6, & 7. Exactly the same behaviour.
* Test 3: Clear directory  B, unzip the `helloworld program` to directory B and run it, compare with 1.
  1. Created directory RustDesk in C:\Program Files\ [Could only do so when I did this as administrator].
  2. Copied content of the zipfile to C:\Program Files\RustDesk [Could only do so when I did this as administrator].
  3. Started -> 1st three time, just started a process, at fourth I got a click-window.
  4. Removed processes.
  5. Then 3 times in a row a click-window. Almost feels like it works randomly, just like in the first test above.
* Test 4: Unzip the `rustdesk program` to common directory and run it, should work, for comparison.
  1. Unzipped to c:\new install\rustdesk_BuildPyStep1_FlutterBuildWindowsRelease
  2. Clicked on rustdesk.exe to start -> works.
* Test 5: Clear directory  A, unzip the `rustdesk program` to directory A and run it, compare with 4.
  1. I had to create the directory rustdesk in C:\Users\<Yourname>\AppData\Local\ first. (effectively creating A
  2. Unzipped the contents to directory A
  3. Started rustdesk.exe -> white screen.
  4. Compared to 4, it does not work. It works from c:\new install\rustdesk_BuildPyStep1_FlutterBuildWindowsRelease. It does not work from A (= C:\Users\<Yourname>\AppData\Local\rustdesk)
* Test 6: Clear directory  B, unzip the `rustdesk program` to directory B and run it, compare with 4.
  1. Cleared B as administrator
  2. Copied files from zip to B as administrator
  3. Started rustdesk.exe and a very interesting screen popped up:
    image
    I am using Windows Defender. Unfortunately after making the screenshot, the window disappeared.
  4. I removed rustdesk from the allow-settings in windows defender
  5. starting rustdesk again, showed me the popup again.
    image
  6. I gave acce to both public and private to see if it would do anything
  7. Tried starting rustdesk.exe again and I get the white screen.
* Test 7: Clear directory  B, unzip the `rustdesk program` to a common directory, run it and install to directory B, should not work, then run `rustdesk.exe --uninstall` to uninstall it, for comparison.
  1. Cleared B as administrator.
  2. Proceeded to run and install from c:\new install\rustdesk_BuildPyStep1_FlutterBuildWindowsRelease
  3. I get the install screen. Clicked on okay without making adjustments.
  4. Proceeds to install and I get a white screen at the end.
* Test 8: Unzip the `rustdesk program` to a common directory, run it and install to a common directory other than B, eg: D:/program/rustdesk, compare with 7.
  1. Killed all rustdesk processes.
  2. Uninstalled rustdesk using --uninstall
  3. Installed to c:\RustDesk
    image
  4. Works

Additionally, we suspect that the antivirus software may be targeting the directories A and B that we are using. Could you please let us know which antivirus software you are using?

Windows Defender

@21pages
Copy link
Collaborator

21pages commented Oct 10, 2023

Thank you very much for your detailed testing!

  • Disregarding the issue of the helloworld program not displaying, did you get whilte screen in any helloworld tests this time?
  • Regardless of whether it is installed or copied, RustDesk got white screen in directory A or directory B, but it can run in other directories.
  • It's not official release, so it will be recognized by Windows Defender.

@Morkph
Copy link

Morkph commented Oct 10, 2023

Thank you very much for your detailed testing!

👍

* Helloworld program may not show,  did you get whilte screen in any helloworld tests this time?

No, I did not get white screens iirc, I got either 'nothing' (well, a process was started in the background, but no screens), or the click screen. It seemed to be random.

* Regardless of whether it is installed or copied, RustDesk got white screen in directory A or directory B, but it can run in other directories.

* It's not official release, so it will be recognized by Windows Defender.

Okay.

@21pages
Copy link
Collaborator

21pages commented Oct 10, 2023

https://github.com/21pages/test/releases/download/flutter_windows/helloword-binary-rustdesk-style-extract-run2.exe
This is the helloworld program that was tested yesterday and it got whilte sceeen.
The difference between yesterday's helloworld program and today's is that it is not in a zip file but is automatically extracted to directory A.
I suspect that there might be special permission restrictions when extracting to directory A. Please follow these steps:

  • Clear directory A.
  • Run the program, which should display a white screen.
  • Copy the extracted program from directory A to another location.
  • Delete directory A.
  • Manually create directory A again.
  • Copy the program from the previous step back into directory A.
  • Run the program in program A, still white screen or work fine?

It will help investigate any potential issues related to the permissions or extraction process.

@Morkph
Copy link

Morkph commented Oct 10, 2023

  1. Cleared A
  2. Ran helloword-binary-rustdesk-style-extract-run2.exe -> Not a white screen, but process was started.
  3. Copied directory rustdesk from C:\Users\<Yourname>\AppData\Local\ to D:\new install\.
  4. Cleared A (fyi clear = I remove entire directory and contents)
  5. Manually created rustdesk in C:\Users\<Yourname>\AppData\Local\ again. [did not require as administrator (only applies to B)]
  6. Copied content of the directory to the manually created A directory.
  7. Ran program -> again, only starts as a background program.
  8. I remove process via task manager
  9. Ran program again -> now I get white screen. (repeated this a couple of times, sometimes I get white screen, sometimes just background process)

@21pages
Copy link
Collaborator

21pages commented Oct 10, 2023

It's strange, the test results may vary, but results for RustDesk have remained unchanged.

  • portable helloword white screen, ref
  • zip helloworld not whilte screen, ref

@21pages
Copy link
Collaborator

21pages commented Oct 10, 2023

flutter/flutter#136249

@rustdesk rustdesk changed the title Flutter based Client causes instant freezing and black screen (Windows 10 x64, Intel NUC with i5-4250U, Intel HD Graphics 5000) Flutter based Client causes instant freezing and white screen (Windows 10 x64, Intel NUC with i5-4250U, Intel HD Graphics 5000) Oct 23, 2023
@indikat0r
Copy link

image
image

Gettin here White Window on Intel UHD620, Testet Sciter and Flutter Version down from 1.24 to 1.21

@rustdesk rustdesk added the help wanted Extra attention is needed label Oct 26, 2023
@rustdesk
Copy link
Owner

rustdesk commented Dec 3, 2023

You may have to use the Sciter version. Close since clueless and no way to go ahead.

some cases can be related to powertoys
#6756

@rustdesk rustdesk closed this as completed Dec 3, 2023
Repository owner locked and limited conversation to collaborators Apr 20, 2024
@rustdesk rustdesk added the duplicate This issue or pull request already exists label Apr 20, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working duplicate This issue or pull request already exists help wanted Extra attention is needed unreproducible Can not be reproduced
Projects
None yet
Development

No branches or pull requests

8 participants