Title

Message

Confirm

DisplayFusion 10 beta 15 causes UnityPlayer.dll crash on Win11

chaoscreater's profile on WallpaperFusion.com
I'm using the latest DisplayFusion beta 15 (as of this writing) and I'm noticing something weird on Win11.

I have multiple machines at home, some are running Win10, some are running Win11. All of them run the latest DisplayFusion (always). On all the machines, I run the same app and games.

I've noticed that on machines that are on Win11 (build 22000.613), my games seem to always crash after running for about 30 mins ~ 1 hour. The games are made using Unity and the crash error is always the same - UnityPlayer.dll Access Violation - 0xc0000005.

I've done a lot of troubleshooting on this error and tried a lot of things. Initially, I thought it was a Win11 issue. But then I installed a fresh Win11 on 2 different laptops and ran the same game on both of them for hours (more than 8 hours). No issues.

After a lot of testing and trial and error, I found out that it was DisplayFusion causing the issue. If I don't run DisplayFusion, my games run fine. If I run DisplayFusion, it causes the games to crash. However, this is only a problem for DisplayFusion on Win11. On Win10, I can run the game and DisplayFusion at the same time.

When I tested running DisplayFusion on Win11, I tested by doing a completely uninstall and reinstall and only loaded the license key and nothing else. I kept everything default. Issue still happens.

I then did another test, where I disable all the DisplayFusion settings, same issue. I then added the game to the Compatibility list and disabled all the DisplayFusion features. Same issue.

Finally, I just terminated the DisplayFusion process completely and the game runs fine for hours.

This leads me to believe that DisplayFusion on Win11 seems to be doing something differently and causes apps in the background, specifically ones that use Unity .dll files, to crash.
Apr 24, 2022  • #1
Owen Muhlethaler (BFS)'s profile on WallpaperFusion.com
If you disable the 3 hooks (Application, Polling, and Shell) in the DisplayFusion Advanced Settings, does it still crash after a reboot?

Thanks!
Apr 25, 2022  • #2
chaoscreater's profile on WallpaperFusion.com
But if I disable the hooks system-wide instead of per application, then how can I keep using DisplayFusion for other apps?
Apr 26, 2022  • #3
Owen Muhlethaler (BFS)'s profile on WallpaperFusion.com
It's just to test, you can re-enable them again after
Apr 26, 2022  • #4
chaoscreater's profile on WallpaperFusion.com
Actually, it might be a red herring. I think I found the issue is related to something else. I'll post back if I find anything that is still related to DisplayFusion.
Apr 28, 2022  • #5
chaoscreater's profile on WallpaperFusion.com
OK, after many many hours of testing, I've come to the conclusion that there is something wrong with .NET and/or DisplayFusion on Win11.

On a brand new install of Win11 with the latest cumulative update applied, I can run my Unity game for hours and hours (at least 8 hours non-stop) without any issues. No crash at all. The Win11 build I'm running is 22000.675.

However, if I install DisplayFusion (latest beta) and let it run, after a few hours my game will crash. Tested multiple times and the behaviour is consistent. If I terminate the DisplayFusion process, no more crashes for my game.

DisplayFusion itself works fine, no crashes. But somehow having it running on Win11 build 22000.675 will always cause Unity games to crash, I don't understand why.

The latest Win11 build includes the following updates and they are known to cause issues apparently:

- KB5013943
- KB5013628
- KB5004342

I've tried uninstalling them and it doesn't make a difference. Even when I'm on an older Win11 build (22000.613), it's the same. As long as DisplayFusion runs, it seems to be doing something in the background with .NET and then affects Unity. Unity itself doesn't use .NET as far as I can see.
May 16, 2022  • #6
Owen Muhlethaler (BFS)'s profile on WallpaperFusion.com
What version of .net are you running? Unity does use .net, so there definitely could be something up there.

Also if you add your game to the compatibility list in DisplayFusion and disable application hooks, does that make any difference?

Thanks!
May 17, 2022  • #7
chaoscreater's profile on WallpaperFusion.com
I'm not a software developer, so I'm not sure what you mean by what version of .NET I'm using. As far as I know, DisplayFusion uses Windows Desktop Runtime 6.0.4 (and I upgraded it to 6.0.5). I believe this is .NET related, because when I went to download the latest 6.0.5, it talks about .NET on the website.

Windows 10 & Windows 11 also comes with .NET Framework 4.8 installed. I also have .NET Framework 3.5 installed, as some apps need it. But on a brand new fresh install of Windows 11, the only thing I've installed is DisplayFusion (which also installs Windows Desktop Runtime 6.0.4). Everything else is just left as default as part of the Windows 11 installation. As mentioned already, I still get an issue with my Unity game on a fresh install of Win11 with just DisplayFusion installed.

Using Process Hacker, this Unity game doesn't seem to use .NET, but it does use Mono.dlls and that seems to be related to .NET.

The game is Tales of Wind and it's free to download from here:
https://tow.neocraftstudio.com/en

Run the game (actually login to your account and into the game world), then leave it idle for at least 7 hours. If it doesn't crash after running for more than 7 hours, then it's fine. Then, do another test with DisplayFusion running in the system tray. Game should crash within about 1~5 hours (it's random).

I have the latest VC++ installed as well, but don't believe this is .NET related.

And yes, as mentioned in an earlier reply, adding the game to the compatibility list in DisplayFusion doesn't make a difference.
May 18, 2022 (modified May 18, 2022)  • #8
chaoscreater's profile on WallpaperFusion.com
I may have come up with a workaround (testing it atm).

Firstly, create a new Local administrator user in Windows. Next, download this tool here:
https://www.sordum.org/8727/runastool-v1-4/#:~:text=RunAsTool%20is%20portable%20freeware%20which,programs%20that%20require%20admin%20rights.

This will allow you to create a shortcut to a .exe file and run the .exe as another user. This user HAS to be part of the Administrators group, otherwise the tool won't be able to list the user. The shortcut that you create can be run using Admin rights, or normal user rights. The nice thing about using this tool is that you don't need to provide any password to run the shortcut, whereas using something like "runas" would require you to use a password.

Essentially, I now run my Unity game as another user. The benefit of this is that I can run DisplayFusion without impacting the Unity game, because they are running under different user contexts. User A runs all my apps and User B will run just the Unity game specifically. This *SHOULD* in theory work and I'm just testing this out right now.
May 19, 2022  • #9
Owen Muhlethaler (BFS)'s profile on WallpaperFusion.com
Okay interesting, let me know your results. I'll test that game out on my end and see if I can reproduce it.

Thanks!
May 20, 2022  • #10
chaoscreater's profile on WallpaperFusion.com
Hi again. I tested this and unfortunately it didn't work. My game was still crashing and it was 100% run as a different user context.

However, killing DisplayFusion (and the service) completely will guarantee that my game runs stable without any issues.

I did a scan of "mscorlib" and ".NET" using Process Hacker and I can see that PowerToys (from Microsoft) also use the same Windows Desktop Runtime v6.0.5 as what DisplayFusion use. However, I don't have any issues with my Unity game, despite PowerToys running constantly in the background. It's really just DisplayFusion that's somehow causing issues - perhaps because it's trying to hook into other application processes so that it can manipulate the app windows (move to next screen, etc). However, as mentioned earlier, I''ve set my Unity game to run in compatibility mode and so DisplayFusion shouldn't even be doing process hooking to the game.

https://imgur.com/H0MwBTc
https://imgur.com/G392VGr
May 21, 2022  • #11
Owen Muhlethaler (BFS)'s profile on WallpaperFusion.com
I had the game running over the weekend but it didn't seem to crash for me. Is the game fully exiting, or does it hang?

Thanks!
May 25, 2022  • #12
chaoscreater's profile on WallpaperFusion.com
Hi Owen,

The game was fully exiting. The process (Tow.exe) is completely terminated when the game crashes. It'll register an event in the event log:
https://imgur.com/LdY812q

I know the faulting .dll is UnityPlayer.dll, but I believe this is just a red herring. Something related to .NET happens right before the UnityPlayer.dll error.

When you did you test, did you try this on a fresh new install of Windows 11, with Windows Update fully patched? Did you also install DisplayFusion and run it alongside with the game?

More importantly, when you run the game, did you actually create an account and login to the game world, or did you just leave it at the menu screen? When you're in the game world, the TOW.exe process will load Unity_ar.dll (you can verify this using Process Explorer or Process Hacker and check the loaded modules). I believe that once this .dll is loaded, it'll crash after a while.

If you do not notice any crash, try closing the game and running it again.
May 25, 2022  • #13
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Owen's off this week, but I'm just looking over this case and his notes. Before he headed off he left me a note that he tested on Windows 10 and 11, with the game logged into an account. He said the only issue he ran into was that the game kicked him out for being idle too long.

Were you able to try disabling the 3 hook settings in the Advanced Settings, or have you only tried the Compatibility rule for the game?
Jun 1, 2022  • #14
chaoscreater's profile on WallpaperFusion.com
Hi Keith,
As mentioned in previous replies already, the issue is only present on Windows 11, not Windows 10. And I have already tried the compatibility rule (disabled pretty much everything there is to disable) for the TOW.exe process.

When Owen said the game "kicked him out", what does that mean specifically? Does the app process (TOW.exe) get terminated? Or does he get an in-game message saying he got kicked out? On a working Win10 PC, I can run it for literally days without any issues. I'm not aware of getting kicked out due to any idle activity. The game does have a regularly weekly patching on Tuesday, so perhaps the message he saw was for the patching.

As mentioned before, on a fresh install of Win11 with only DisplayFusion installed, sometimes you need to run the game for multiple hours until the app process gets terminated. This means that when you perform your testing, you can't just determine your result based on running the game for 1~2 hours. Also, when you carry out the test, you need to make sure that you're actually logged into the game world and not at the game login screen.
Jun 1, 2022 (modified Jun 1, 2022)  • #15
Keith Lammers (BFS)'s profile on WallpaperFusion.com
The compatibility rule and the 3 hook settings in the Advanced Settings are different. I'd like to find out if the disabling the hooks using the Advanced Settings (which does it globally) makes any difference. If DisplayFusion isn't hooking the game because of the compatibility rule, and the issue is still happening, it could be an issue that's caused by something else being hooked as well. Disabling the hooks using the advanced settings will confirm whether that's the case or not.
Jun 2, 2022  • #16
chaoscreater's profile on WallpaperFusion.com
I've just tried it and it didn't make a difference unfortunately...
Jun 4, 2022  • #17
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Ok, thanks for trying that. I'm installing the game now to let it run over night. I'll keep you posted on what I find out.
28 days ago  • #18
Keith Lammers (BFS)'s profile on WallpaperFusion.com
I've been testing this all week but I'm getting inconsistent results.

Sometimes the game crashes with DF running, other times it will run forever even with DF running. I've also had it crash a few times without DF as well. I'll keep testing to try and get some more consistent results and I'll keep you posted on what I find out.
26 days ago  • #19
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Ok, I've been testing all week, and it was crashing intermittently earlier in the week, but I can't get it to crash any more, even with DisplayFusion running.

Is it still crashing for you? If so, could you send me a backup of your DisplayFusion settings? (Settings > Options > Export)
20 days ago  • #20
chaoscreater's profile on WallpaperFusion.com
Yes, it's still crashing for me and I've tested this on 2 different machines. One is running a fresh install of Win11 + DisplayFusion and nothing else, the other is my personal machine with a lot more apps running. They both use the same DisplayFusion config, which I have attached here.

When you ran your test, did you run it for at least 8~12 hours, terminate the process (or restart PC) and then re-run the same test?

Did you make any changes to the test environment? Did it just randomly stop crashing all of a sudden?
• Attachment [protected]: DisplayFusion Backup (2022-04-09 @ 16-21, 9.9.99.115, DESKTOP-A9GG5B3, AutoBackup).reg [652,150 bytes]
20 days ago  • #21
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Yep, I was letting it run over night, restarting, and re-testing the next day. The only changes I made were to the DisplayFusion settings to see if any of them would specifically cause it to crash or not. I will try restoring your settings and see what happens.
19 days ago  • #22
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Ok, it's back to crashing again, but the last two nights I left it running without any of our apps running, and it still crashed at some point through the night. I don't think there's anything we'll be able to do from our end here, seems like a bug in the game.

Have you tried reporting it to the game developers? For me, when it crashes, Windows creates a process dump in
%localappdata%\CrashDumps
, so that may help their developers track it down.

Looks like there's also crash dumps and logs in
%userprofile%\appdata\locallow\ejoy\Tales of Wind\Crashes
.
15 days ago (modified 15 days ago)  • #23
chaoscreater's profile on WallpaperFusion.com
Yup I know about those crash dumps and have sent them to the developer already, but their developer support is terrible.

Also, it's not specific to the game. It's specific to apps/games that are made using Unity, so I was hoping to address the root issue. It seems to only be an issue on Windows 11. I never had this issue on Windows 10.

And yeah I've had crashing issues even with DisplayFusion off, so I think that's just red herring.

Thanks for testing and looking into this anyway, I appreciate it.
15 days ago  • #24
Keith Lammers (BFS)'s profile on WallpaperFusion.com
No worries! Not sure if there's a way to report it to Unity as well, but that might be worth a shot.
14 days ago  • #25
Was this helpful?  (-)  (-)