Freezing of screen (GPU crashes) retail and classic

I am able to reliably reproduce the issue in Heroic Sludgefist (system details here). Somewhere in the beginning of the fight, it will freeze. If I quickly unplug the eGPU and replug it sometimes comes back, and I can continue the fight…if I don’t die. Which is really not ideal in progression.

Here are the logs in case what happened up until my deaths are helpful: https://www.warcraftlogs.com/reports/7LBkT9v3fgyWbntX/#boss=2399&difficulty=4&wipes=1
I was present for wipes 1-4 before I sat myself for being a liability. I can also get system logs if needed.

Blizzard reckons that there isn’t much they can do. Apple’s driver is crashing.

If you haven’t already logged this with Apple as a bug, please do so. I logged it months ago and there’s been no progress, so we really need multiple people to log it so that Apple can’t ignore the issue so easily.

It is now March 2021, and still no fix to this… Truly frustrated.

This carries the symptoms that of a memory leak. I remember reading somewhere in the development notes when apple first introduced METAL about some of its API’s flaws. I recall world of warcraft was used specifically as a example. I think what’s causing the problem is that the metal API isn’t fleshing its retain cycles leading to something like of an infinite loop even when all other references are removed. It most likely is directly related one of the graphics settings in game. Have you tried flushing the VRAM? From your error report it looks like the GFX initialization is not being done properly. It seems the game is trying to go into full screen at the default resolution which is returning the error. The error is most likely a system integrity one.

https://us.forums.blizzard.com/en/wow/t/freezing-of-screen-gpu-crashes-retail-and-classic/615324/12

Need to look bit further into this to figure out what exactly is causing the GPU memory leak, have a hint its the sunshaft.

Can you please let me know if you have automatic backup on such as time machine?
In the meantime run this for me and see if this helps

~ % sudo xattr -d -r com.apple.quarantine /Applications/WorldofWarcraft.app

Okay I think I figured it out everyone. The reason for the shut down and freezes is due tyo QuartzCore, also known as CoreAnimation, is a framework used by macOS and iOS to create animatable scene graphics. CoreAnimation uses a unique rendering model where the graphics operations are run in a separate process. On macOS, the process is WindowServer.

This then leads to com.apple.CARenderServer, which usually referenced as CARenderServer. This service exists in both macOS and iOS, and can be accessed from the Safari Sandbox. It lacked an bounds checking in the function CAGetColorSpace when the service com.apple.CARenderServer decoded the color space data. This then triggered the system integrity software as this leak could allow a malicious application to be able to read restricted memory.

Beginning withCA::Render::Decoder::decode_object(CA::Render::Decoder *this, CA::Render::Decoder *a2) is used to decode all kinds of object data.

The buffer data starting at offset 0x70000cc51d6e is a Layer object. CA::Render::Decoder::decode_int32() returnedthe value of the variable equal to 0 due to integer overflow. This function could then return 0, causing the change in the next program execution flow. Normally, it should return 1. but it returned 0 in your case which seems to be the problem.

The variable is then passed as the first argument to the function CAGetColorSpace. The function CAGetColorSpace is used to obtain the color space data from the array colorspaces. Since the index value is 0xfe, this then enabled the restricted memory data to be read. Thus making the index value larger than the maximum index of the array colorspaces.

This then leads to our culprit CAGetColorSpace being equal to 0x8000000010. Because this is an invalid memory address, the argument passed to CFRetain causes an EXC_BAD_ACCESS exception, basically the root cause of this issue is that it lacked an restricted bounds checking in the function CAGetColorSpace.

Further more I want to point that that this was apple’s vulnerability in their coding, blizzard had nothing to do with this at all. The reason you guys are seeing this now is cause these leaks were patched in 10.14.3. Can everyone who’s still having this issue please tell me what version their OS is running on?

3 Likes

Thank you so much for sharing your findings Lyraelle! I am experiencing the problem and I am running 10.15.7 (Catalina). From what I read, people running Mac OS 10.16 (Big Sur) is also having the same issue, which means it hasn’t been fixed up in the new OS yet.

Anyone experiencing this issue while running an older version of Mac OS that’s older than 10.14.3? Please share your situation here. Thanks in advance.

The recent updates for MacOS have made my crashes less frequent, but they definitely still happen.

I have found two places that I can reproduce a crash repeatedly - SM Graveyard and the Broodlord Mandokir fight in ZG, both in classic. I almost never get crashes outside of these two places in game, but in those places it will crash consistently. I can only assume that something about rendering the ghosts on screen has something to do with it since both areas are full of many ghosts, but I have no way of telling.

I did not have the issue on my previous computer, which was running 10.13.6. I’ve had it on my current computer with 10.15.6 and later (including 11).

@Lyraelle, have you provided those details to Apple?

Edit: Re-read it now that I’m slightly more awake. Do you think this is an Apple or Blizzard problem at this point? Is QuartzCore doing something wrong, or is WoW calling the APIs incorrectly?

They should have fixed it according to apple, they released a new security updates that dealt with this issue, however, those might just be patches for the internal dedicated GPU instead of when it’s paired with an EGPU. Are people having issues with this problem when connected to an EGPU?

[About the security content of macOS Mojave 10.14.3, Security Update 2019-001 High Sierra, Security Update 2019-001 Sierra - Apple Support]

h ttps://support.apple.com/en-us/HT209446

The crashes only seem to happen on newer OS versions; all was well on my High Sierra machine even with the 2019-001 update installed. I thought your earlier post was implying that Apple’s security fix caused the crashes; did I misunderstand?

No EGPU here, just the internal Radeon (2020 iMac with OS 11.2).

According to them they have fixed it, and I no longer see any issues on my MacBook Pro while playing wow. But it seems there are still people seeing this issue pop up, so I wanted to see if so what’s unique in their situation that’s allowing it to happen, whether it be them using a EGPU or running on a old OS before the security patch.

I also do NOT have any EGPU. Just the internal AMD Radeon Pro 5700 XT 16GB on 2020 iMac 27-inch, running 10.15.7, and experiencing this problem.

Can you post your crash logs here? Wondering if it’s the same thing, but officially it has been patched so I wouldn’t be surprised if it’s something else.

I just recently started playing WoW Classic on my 2020 MacBook Pro and I’m getting these screen freezes very frequently when on Windowed (Fullscreen). I’m on the most recent Big Sur update, 11.2.3

However, I haven’t had any freezes since switching to Windowed mode. Not sure if it fixed the issue or just makes it less frequent as I haven’t played enough yet. Either way it’s not a desirable solution.

Since nobody has specified one way or the other… have all of you logged this with Apple?

Switching anti-aliasing to CMAA has greatly reduced frequency of freezes for me when playing full screen. Was hopeful that it had fixed the issue entirely but I still ended up getting one last night.

EDIT: I’m getting freezes during windowed mode too now. This is making the game pretty much unplayable for me.

Can you give a link as to where is best to do this?

Sorry for the delay; been out of town for work.

I used the Feedback Assistant app (do a search and it’ll show up). I’m not sure whether that’s the best way, but it’s better than nothing.

I’ve been messing around with stuff a bit trying to figure out what causes this but sadly I haven’t really come to any conclusions.

At first thought it might be addon related but I don’t really think so now. I think switching anti-aliasing to CMAA has reduced the frequency of freezes in most cases, but can’t promise that’s anything more than placebo.

What’s frustrating is the randomness. Most play sessions I’ll only get it once or twice. But occasionally it will be almost constant back-to-back freezing. It’s definitely a GPU thing as I’ve noticed other little graphical quirks on my game also (like the cursor being a lighter shade than it’s supposed to be). Also incidentally the freezes will often reduce my graphical settings to lower than I have set.

Sometimes I can quick fix the freeze by tap dancing on my cmd-tab keys to view snapshots of the game running underneath and switch resolution to windowed and back to fullscreen (which fixes it). Other times there’s nothing I can do and I have to force quit WoW and restart. I’ve had one occasion so far where it froze my whole system and I had to hard restart my MacBook.

Very frustrating.

That came along with OS 11 but isn’t related to these freezes, as they happened under 10.15 too.

Are you running wow via open low resolution mode? Wonder if it’s because your in game resolutions is different than what your computer is running.