C_EquipmentSet.GetItemLocations(Id) crashes the game if the provided Id has 19 items saved in Wrath Classic

Title sums it up, I was experiencing a new crash whenever Dejunk was loaded, and after lots of testing, it seems to be that function in that one specific instance. I’m unsure if its Mac only, but a friend of mine with Windows attempted the same circumstances and didn’t crash.

This specific API call was introduced in Legion, where having 19 items saved to a set wasn’t possible, so I assume the issue lies there.

2 Likes

Still happening, also noting that WoW is returning a “stack buffer overflow” as the reason for crashing.

1 Like

Still occurring, it seems.

Could you post the exception ID of the crash report next time it crashes?

I’m not exactly sure what that is in this report, I assume you mean something in here?

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Termination Reason: Namespace SIGNAL, Code 6 Abort trap: 6
Terminating Process: World of Warcraft Classic [32760]

Application Specific Information:
stack buffer overflow

I can reproduce this crash as much as you want or need, if there’s anything else.

When the game crashes, is the popup you’re getting from “Blizzard Error” or does it appear to be something from Apple/macOS?

It appears to be from Apple.

I’m looking in to how we can get that whole crash report from you. It appears the game is crashing in an unusual way where our normal crash reporting system isn’t working and we have no info on the crashes on our end. I also haven’t been able to reproduce the issue on my end yet.

Assuming you’re testing on a Mac, on Wrath, using the default Equipment Manager, save a set that has EVERY equipment slot filled, (which only on Wrath, would be 19 slots), and then request that equipment set with the function in the title (if it’s the only set saved, aka the first set, it’s ID should be 0).

I can try to put the report on pastebin or something.

Edit: Pastebin Link:

Edit 2: Here’s my current setup for it. The macro in question crashes if I use it.

Imgur

Yeah, that’s all what I’m trying. So if you run /script C_EquipmentSet.GetItemLocations(0), you get the crash?

I’ll start working through the crash report, but it’ll take me a while to convert from the Apple report to something useful.

Yep. Just tried it to make sure, too.

FWIW, your macro runs correctly for me. I’m not sure what’s different between our setups yet, but hopefully the crash report will contain some leads.

The only other person to have mentioned getting this crash was running a M1 Mac. I’m running M2, I haven’t tested on an Intel Mac, if that would make any difference. Actually, my laptop is Intel, let me go test it.

Edit: It does not crash on Intel Macs. Oh. My. God.

I’ve been testing on an x86_64 mac as well. I’ll try on an arm64 mac.

Update: I’ve now reproduced the crash on an arm64 mac.

3 Likes

If you still weren’t able to, I was out of ideas. Hooray!

As an update, I’ve got a working fix locally. I don’t have an ETA yet for how long it’ll take the fix to work its way to live yet, but it’s in the deployment pipeline now. Thanks so much for the reporting. The fact we aren’t collecting crash reports for this crash case is something we’ll have to look into.

3 Likes

Alrighty! Thanks so much Rommax!

I would just like to say how much I appreciate evidence that Blizz now has a WoW Developer working on Mac support. Don’t care if it’s part-time or full-time. After so many months, years now, of just crickets when issues have been posted in this forum, it’s a breath of fresh air. Hope it continues.

To be clear, there is no mac team or mac only developers. Blizzard is structured as design, art, and engineering. With any one of those teams tasked with working on x problem. Usually engineering for mac stuff (when there aren’t higher priority things).

The actual dedicated mac team was dissolved many years ago. Which is why support for mac was no longer 50 to windows 50, but rather 5% to windows 95% under new structures where the same devs now worked on both versions, where one version was more important than the other.

If there is anyone though that’s good at mac issues, it’s Rommax though, when he actually gets to work on mac. Glad he got a few minutes to work on this. Wish he could get a few more minutes to work on other issues.

As an update, I’ve got a working fix locally.

Can you share the technical details on how you solved this? I have seen programs with similar crashes on macOS 14 on Apple Silicon (stack overflow, nothing gets logged in the application crash logs), and I have a sneaky suspicion that the fix is at the compiler level.