rustdesk / rustdesk

An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
https://rustdesk.com
GNU Affero General Public License v3.0
75.65k stars 9.82k forks source link

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

Closed axbmcuser closed 11 months ago

axbmcuser commented 1 year ago

Bug Description

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

How to Reproduce

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

rustdesk commented 1 year ago

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

rustdesk commented 1 year ago

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

axbmcuser commented 1 year ago

@rustdesk

Thanks for your reply! :)

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 commented 1 year ago

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 commented 1 year ago

@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.

rustdesk commented 1 year ago

Join our discussions.

https://www.reddit.com/r/FlutterDev/comments/159tt8i/flutter_desktop_compatibility_is_getting_worse/ https://news.ycombinator.com/item?id=36872677

axbmcuser commented 1 year ago

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:

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 commented 1 year ago

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

rustdesk commented 1 year ago

How about run with env LIBGL_ALWAYS_SOFTWARE=1?

ThaCheeseBun commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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

rustdesk commented 1 year ago

@axbmcuser any update?

Morkph commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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

21pages commented 1 year ago

@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.

https://github.com/rustdesk/rustdesk/assets/14891774/bae9cb46-fd28-464d-8403-01bdf21a1a7c

Morkph commented 1 year ago

@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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

@21pages desktop_multi_window_example -> image

windows_manager_example -> image

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

rustdesk commented 1 year ago

Thanks, @Morkph

21pages commented 1 year ago

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 commented 1 year ago

@21pages log.txt output: log.txt

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

21pages commented 1 year ago

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

rustdesk commented 1 year ago

Good job.

21pages commented 1 year ago

https://github.com/21pages/test/releases/download/flutter_windows/rustdesk-RemoveResizeArea-RemoveBodyCotent-install.exe @Morkph Could you try this one? Run it in git terminal and you can see the log, or see the log in file(the log in file may miss) 1696576791967

rustdesk commented 1 year ago

Sorry, running from cmd.exe can not print out all logs.

21pages commented 1 year ago

https://github.com/21pages/test/releases/download/flutter_windows/rustdesk-RemoveResizeArea-RemoveBodyCotent-TerminalAttached-install.exe

https://github.com/21pages/test/releases/download/flutter_windows/rustdesk-1.2.3-RemoveDesktopTab-install.exe

Ignore the last one, click and run this one, a terminal will pop up. 1696579172081

Morkph commented 1 year ago

@21pages Sorry, I am working in the background as well. ;)

When running rustdesk-RemoveResizeArea-RemoveBodyCotent-TerminalAttached-install.exe, I get to see the following (familiar white screen): image

When running rustdesk-RemoveResizeArea-RemoveBodyCotent-TerminalAttached-install.exe I get to see the exact same thing.

You have posted more messages above. I have installed git in the meantime, but the file you wanterd me to show the log of, leads to a 404.

rustdesk commented 1 year ago

@Morkph Thanks for your time, you gave me big clue again. It seems the flutter engine does not get started at all.

Morkph commented 1 year ago

@rustdesk @21pages When you want me to use git (I have installed it now) to execute one of your experiments, I get the following message: $ rustdesk-RemoveResizeArea-RemoveBodyCotent-TerminalAttached-install.exe bash: rustdesk-RemoveResizeArea-RemoveBodyCotent-TerminalAttached-install.exe: command not found

I should be in the correct directory, when I type dir -l, the file shows up.

Probably this is because I am inexperienced / installed git using the incorrect options (just clicked on accept on the infinite list of options)?

21pages commented 1 year ago

What about ./rustdesk-RemoveResizeArea-RemoveBodyCotent-TerminalAttached-install.exe?

rustdesk commented 1 year ago

You missed ./, this is linux style.

Morkph commented 1 year ago

@21pages @rustdesk thanks ;)

$ stdcout test1 stdcerr test1

Are the lines I get to see.

The new log: log.txt

21pages commented 1 year ago

@Morkph Could you ensure this program? (helloworld is the simple demo), no need to see the log this time. https://github.com/21pages/test/releases/download/flutter_windows/rustdesk-runner-helloworld-ui.exe can't show normally?

Morkph commented 1 year ago

@21pages

Info from git window: image

White screen again: image

21pages commented 1 year ago

Thanks for the confirm

21pages commented 1 year ago

https://github.com/21pages/test/releases/download/flutter_windows/rustdesk-zero-plugin.exe @Morkph This program still use rustdesk runner (not helloworld's), but remove all plugin dependencies

Morkph commented 1 year ago

@21pages shows the famous white screen.

21pages commented 1 year ago

Let's go deep

21pages commented 1 year ago

@Morkph Could you help to confirm these 2 programs? If show nothing after click, kill it in task manager. https://github.com/21pages/test/releases/download/flutter_windows/rustdesk-helloworld-runner.exe can show normally? https://github.com/21pages/test/releases/download/flutter_windows/rustdesk-helloworld-runner-callCoreMain.exe can't show normally?

Morkph commented 1 year ago

@21pages rustdesk-helloworld-runner.exe -> image rustdesk-helloworld-runner-callCoreMain.exe -> Didn't show a new window image

21pages commented 1 year ago

the white window

It should show, I don't know what's wrong, let me figure it out,

Didn't show a new window

Kill rustdesk in the task manager, then click it, it will show, but abnormally.

Morkph commented 1 year ago

@21pages rustdesk-helloworld-runner-callCoreMain.exe -> image

21pages commented 1 year ago

@Morkph Could you confirm this? https://github.com/21pages/test/releases/download/flutter_windows/flutter_build_windows_MD.zip https://github.com/21pages/test/releases/download/flutter_windows/flutter_build_windows_MT.zip MD normal MT white screen?

Morkph commented 1 year ago

@21pages Did not run from within git.

flutter_build_windows_MD -> Does not show me anything, but appears to be running in taskmanager.

Killed rustdesk.exe in taskmanager

flutter_build_windows_MT -> -> Does not show me anything, but appears to be running in taskmanager.

2nd attempt to run flutter_build_windows_MD -> Now I get to see image

21pages commented 1 year ago

Please kill it in taskManager, and try another click