Unity 2018.2.7f1 Windows standalone crash on first run - UnityPlayer.dll caused an Access Violation

Hi there, I’ve had this crash report from a single customer. Here’s the top bit of the output_log.txt. The entire crash report including dump and error.log is attached.

UnityPlayer.dll caused an Access Violation (0xc0000005)
in module UnityPlayer.dll at 0033:4904a1de.

Error occurred at 2018-09-14_201350.
C:\Program Files (x86)\Steam\steamapps\common\Megaquarium\Megaquarium.exe, run by tempe.

24% physical memory in use.
32702 MB physical memory [24693 MB free].
86 MB process peak paging file [81 MB used].
63 MB process peak working set [59 MB used].
System Commit Total/Limit/Peak: 12376MB/37566MB/23849MB
System Physical Total/Available: 32702MB/24693MB
System Process Count: 220
System Thread Count: 3349
System Handle Count: 102130
Disk space data for 'C:\Users\tempe\AppData\Local\Temp\Twice Circled\Megaquarium\Crashes\Crash_2018-09-15_001348747': 279661469696 bytes free of 1049620377600 total.

Read from location 000000000000000E caused an access violation.

I’ve tried all the usual things: check folder permissions, disable antivirus, update graphics drivers, check folder permissions but nothing has worked so far.

I’m not that experienced looking into .dump files, wonder if someone from the Unity team could point me in the right direction.

I haven’t upgraded to Unity 2018.2.8 yet because I’ve just released the game and I’m a firm believer in if it ain’t broke don’t fix it. However if you think it might help let me know.

Thanks for any light you can shed on the issue,

Tim

3686320–303250–twice circled crash.zip (21.8 KB)

"This is a bug in Unity. Here’s the reconstructed callstack:

     UnityPlayer.dll!__crt_strtox::parse_integer<unsigned long,__crt_strtox::c_string_character_source<wchar_t> >(__crt_locale_pointers * const locale, __crt_strtox::c_string_character_source<wchar_t> source, int base, const bool is_signed) Line 208   C++
     [Inline Frame] UnityPlayer.dll!__crt_strtox::parse_integer_from_string(const wchar_t * const) Line 1828   C++
     UnityPlayer.dll!wcstoul(const wchar_t * string, wchar_t * * end_ptr, int base) Line 262   C++
>   UnityPlayer.dll!GetDisplayAdapterPropertyWMI(const DXGI_ADAPTER_DESC & adapterDesc, const wchar_t * attribName, tagVARIANT * retValue) Line 140   C++
     UnityPlayer.dll!windriverutils::GetDisplayDriverVersionString(int adapter, core::basic_string<char,core::StringStorageDefault<char> > & driverVersion) Line 202   C++
     UnityPlayer.dll!GraphicsCaps::InitD3D11() Line 227   C++
     UnityPlayer.dll!CreateD3D11GfxDevice() Line 652   C++
     UnityPlayer.dll!CreateClientGfxDevice(GfxDeviceRenderer renderer, GfxCreateDeviceFlags flags) Line 104   C++
     UnityPlayer.dll!CreateGfxDevice(GfxDeviceRenderer api, GfxCreateDeviceFlags flags) Line 493   C++
     [Inline Frame] UnityPlayer.dll!CreateGfxDeviceFromAPIList(GfxCreateDeviceFlags) Line 542   C++
     UnityPlayer.dll!InitializeGfxDevice() Line 607   C++
     UnityPlayer.dll!InitializeEngineGraphics(bool batch) Line 280   C++
     UnityPlayer.dll!PlayerInitEngineGraphics(bool batchmode) Line 431   C++
     UnityPlayer.dll!UnityMainImpl(HINSTANCE__ * hInst, HINSTANCE__ * hPrev, wchar_t * szCmdLine, int nCmdShow) Line 1309   C++
     UnityPlayer.dll!UnityMain(HINSTANCE__ * hInst, HINSTANCE__ * hPrev, wchar_t * szCmdLine, int nCmdShow) Line 1471   C++

Looks like we are trying to extract driver version from WMI, and we crash while parsing “PNPDeviceID” property of the graphics card. We expect “SUBSYS_” string to be part of that device id and it’s not, so we crash when indexing a null pointer (0xE is 14, which means we’re accessing the 8th character).

Unfortunately I don’t know if this can be worked around on your side. I’d advice the user to reinstall graphics drivers (that might fix it).

In either case, could we get a bug report on this? Repro project isn’t necessary, just attach the dump file. It’s more than enough to see where the bug lies. When you report the bug, include a link to my post in it.

2 Likes

Thank you very much for the swift and informative reply. I will let the user know what the state of things is. They have already tried updating their drivers, but I will advise a full reinstall to see if that helps.

For what it’s worth: I just had this problem today and it was because of a second (virtual) video adapter, used by a remote access application. I removed that virtual adapter from DeviceManager/Display adaptors and this has fixed my issue.

Can you by any chance share the name of the remote access application that installed that adapter? It would help us confirm the issue is actually fixed when we go in there and fix it.

1 Like

It was this Citrix Worskpace app: https://www.citrix.com/downloads/workspace-app/windows/workspace-app-for-windows-latest.html. I was able to repro it again. On install this app creates a display adapter called “Citrix Indirect Display Adapter”, but it needs a reboot before the problem starts happening (although it isn’t asking for one). “Disable device” on this adapter doesn’t solve the issue, “uninstall device” does.

3 Likes

Can confirm I have had this issue, but it actually caused every game that uses UnityPlayer.dll to crash. Uninstalled Citrix Workspace and it worked immediately!

Uninstalling Citrix Workspace worked for me, I guess I’m not working from home anymore :slight_smile:

This problem bit me shortly after midnight. Citrix updated on Friday; I rebooted this morning and got the error message.

Spent 2 1/2 on the phone with Dell trying to fix this in addition to all of the time I spent on my own.

Thank you very much for posting this.

By way, we’re working on fixing this. This is 100% on us, and I’ll make sure we backport the fix to all supported releases.

5 Likes

I had this problem since updating to workspace, all my games that where unity start crashing. I have used citrix receiver remover utility as I could not uninstall it, but all the games where still crashing. only when I discovered this post it took me in to right direction as I had secondary display installed in device manager. I have uninstalled it and all games are working now.

We’ve just had this same crash reported by a user on 2017.4.8f1. Will the fix be backported to the 2017 LTS release and is there a convenient way to subscribe to the bug and see more info (i.e. affected hardware / system setups) and get notified when it is fixed? Thanks!

I am in process of backporting it. I’ll post in this thread once I’m done.

I will backport it to 2017 LTS.

Will this make it into 2018.2 as well? If so, what version? Thanks!

Yes, it actually landed to 2018.2.17f1 on Friday. Still not sure which 2017.4 version it will land in.

It also just landed to 2017.4.16f1.

Came across this issue today when installing Legends of Aria. This issue is due to Citrix Casting in the new Workspace Hub feature added to the Citrix Workspace recently.

Uninstall Citrix Workspace and Re-Install it from Command Prompt using the following command:

CitrixWorkspaceApp.exe ADDLOCAL=ReceiverInside,ICA_Client,AM,SELFSERVICE,DesktopViewer,Flash,Vd3d,WebHelper,BrowserEngine

(there’s a space after the executable name like a typical parameter)

This will install Citrix Workspace without Workspace Hub which has the Citrix Casting driver causing the crashing.

I have 10+ years Citrix Engineering experience. Happy Gaming!

3935722--336469--Citrix.JPG

5 Likes

For me its still crashing on a build from 2018.2.17f1. No Citrix installed.

Are you sure you’re facing the same crash?

Hm…Please understand that my English is not enough. My test PC had two monitors. And of course, when you look at the window display settings, the main monitor is designated as 1, and the extended monitor as 2. At this time, there was no crash of UnityPlayer.dll. Then I tried to update Windows this time, and then there was a crash. I tried several ways, but I could not solve it, so I looked at the display settings by chance. I removed the extended monitor and ran the window again, and the crash was gone again. It seems that the expended monitor does not support graphics card support. I hope it helps.