PC Vault Crashing - Investigative Request

Speculation

It's been beaten to death at this point, but I think we all agree that the PC crashes during Vault are persistent pain points that Blizzard has failed to diagnose and address.

I have been using ProcessMonitor (procmon.exe) to watch for crashes and track what files/scripts/keys were being loaded by DI during Vault.

  • resource28.mpk appears to be the generalized tileset for Court of Whispers as well as used within Vault. While the game makes numerous calls to this file, there doesn't seem to be any crash associated with any other CoW activities so I don't think it's a map-related resource issue.
  • There is a script that executes when zoning between floors. This script is where the crashes seem to occur according to procmon. These scripts should generally be handling player data transition, loading new map assets, and communicating with the server(s).
  • There's numerous "CreateFile" operations, some fail due to name conflicts or permissions issues. This happens near constantly while playing DI, so not a likely suspect in the crashing.
  • There's "RemoteProtocolQuery" operations that fail, but I've yet to diagnose these outside of Vault and whether the failures are unique to Vault.

I'll work on parsing a clean and brief log to add here later tonight with the next Vault run...

BUT

Another player mentioned a key piece of information that may have given us a lead: Their alt characters on the same account and server do not crash in Vault.

================

My alt: Necro - P335 (Vanq/TH/Glad trees filled)>! No other significant inventory discrepancies from my Main (pearls/gems/etc both have at least 1 in bag). Both have a weapon in Tableau with invocation selected. Both have Cursed items equipped.!<

Just now I ran Vault successfully without crashing on my alt, same account and server, while my main character continues to crash.

I now believe there is a difference between character data that leads to the PC client crashing when the "zoning script" is loading you to a new floor...

My current suspect: Fishing Rod

There's enough confirmation of ongoing crashes with/without various stages of the fishing rod... but that doesn't rule out some specific issue between characters...

  • H8 on both characters?
  • Any item/gem/currency differences?
  • Unlocked emote differences?

================

ProcMon dump of crash Floor 1 > Floor 2:

"7:31:32.2895112 PM","DiabloImmortal.exe","7488","Thread Create","","SUCCESS","Thread ID: 20520"

"7:31:34.5573064 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 121,696,148, Length: 16,384"

"7:31:34.6058711 PM","DiabloImmortal.exe","7488","CreateFile","D:\BattleNet\Diablo Immortal\LocalData\Patch\Patch\Sounds\windows_bnk\UI_Shadow_CampMission_Treasury.bnk","PATH NOT FOUND","Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a"

"7:31:34.6059451 PM","DiabloImmortal.exe","7488","CreateFile","D:\BattleNet\Diablo Immortal\LocalData\Patch\Sounds\windows_bnk\UI_Shadow_CampMission_Treasury.bnk","NAME NOT FOUND","Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a"

"7:31:34.6059906 PM","DiabloImmortal.exe","7488","CreateFile","D:\BattleNet\Diablo Immortal\Patch\Sounds\windows_bnk\UI_Shadow_CampMission_Treasury.bnk","PATH NOT FOUND","Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a"

"7:31:34.6060563 PM","DiabloImmortal.exe","7488","CreateFile","D:\BattleNet\Diablo Immortal\LocalData\Patch\Sounds\windows_bnk\UI_Shadow_CampMission_Treasury.bnk","NAME NOT FOUND","Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a"

"7:31:34.6061221 PM","DiabloImmortal.exe","7488","CreateFile","D:\BattleNet\Diablo Immortal\LocalData\Patch\Resources\Sounds\windows_bnk\UI_Shadow_CampMission_Treasury.bnk","PATH NOT FOUND","Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a"

"7:31:34.6061764 PM","DiabloImmortal.exe","7488","CreateFile","D:\BattleNet\Diablo Immortal\LocalData\Resources\Sounds\windows_bnk\UI_Shadow_CampMission_Treasury.bnk","PATH NOT FOUND","Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a"

"7:31:34.6062218 PM","DiabloImmortal.exe","7488","CreateFile","D:\BattleNet\Diablo Immortal\Resources\Sounds\windows_bnk\UI_Shadow_CampMission_Treasury.bnk","PATH NOT FOUND","Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a"

"7:31:34.6062637 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 705,975,831, Length: 4"

"7:31:34.6063250 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 705,975,831, Length: 16,384"

"7:31:34.6063554 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 705,992,215, Length: 16,384"

"7:31:34.6063909 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,008,599, Length: 16,384"

"7:31:34.6064065 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,024,983, Length: 16,384"

"7:31:34.6064360 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,041,367, Length: 16,384"

"7:31:34.6064500 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,057,751, Length: 16,384"

"7:31:34.6064621 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,074,135, Length: 16,384"

"7:31:34.6064751 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,090,519, Length: 16,384"

"7:31:34.6064874 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,106,903, Length: 16,384"

"7:31:34.6064998 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,123,287, Length: 16,384"

"7:31:34.6065236 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,139,671, Length: 16,384"

"7:31:34.6065564 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,156,055, Length: 16,384"

"7:31:34.6065740 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,172,439, Length: 16,384"

"7:31:34.6065891 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,188,823, Length: 16,384"

"7:31:34.6066041 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,205,207, Length: 16,384"

"7:31:34.6066221 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,221,591, Length: 16,384"

"7:31:34.6066369 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,237,975, Length: 16,384"

"7:31:34.6066516 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,254,359, Length: 16,384"

"7:31:34.6066665 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,270,743, Length: 16,384"

"7:31:34.6066811 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,287,127, Length: 16,384"

"7:31:34.6066958 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,303,511, Length: 16,384"

"7:31:34.6067126 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,319,895, Length: 7,210"

"7:31:34.6067720 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Package\MPK\Resources28.mpk","SUCCESS","Offset: 706,327,105, Length: 7,130"

"7:31:35.3251248 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Engine\Binaries\Win64\CrashHunter_PC3.dll","SUCCESS","Offset: 2,553,344, Length: 16,384, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal"

"7:31:35.3254085 PM","DiabloImmortal.exe","7488","ReadFile","D:\BattleNet\Diablo Immortal\Engine\Binaries\Win64\CrashHunter_PC3.dll","SUCCESS","Offset: 2,332,160, Length: 16,384, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal"

I've scraped out the events that followed the above exerpt - involving creation of various crash logs in the USDK appdata folder under my local username - but otherwise, this is what occurs right before the application reports the crash, creates the crash file and log, and then exits all of the application threads... leading up to this; I stopped in-game right before stepping on the exit plate, started ProcMon's capture, and then stepped onto the plate - promptly crashing out of the game. I waited for all threads to exit for the DI exe before ending the capture.

I'm particularly interested in the \Local\Resources and \Resources folders that are referenced before the crash -- no such folders exist in my install directory. I could manually create them perhaps, but I'm wondering if anyone can determine if they have those folders... The files seem named for a quest that may have been part of the Shadow "Mettle" chain? Did Blizzard break the Shadow questline inadvertently when they allowed it to be skipped?

​

I'll be pouring through more logs that I collected -- will update further if I find anything worth pursuing.

===============================

[5/23/2023]

I went into my \Appdata\Local folders and cleaned out a ton of old log files under Battlenet and UniSDK... found some crash dump files that I also cleaned out from those directories...

When I relaunched D:I, it gave me the intro cinematic for the accursed tower update and downloaded a 1.5GB patch... Not sure what garbage was in those files but I'll report back later tonight after I test Vault again.

In speaking with a few other folks and the data so far; it seems there may be a file or cached element created as part of Shadow participation that get corrupted by this bug, causing the Vault crash... some <things> may correct this corruption, such as changing clan membership, Rite cycle, or perhaps just random patching... but it's possible that this failure doesn't occur on mobile due to the inherent file structure and permissions that PC may be interfering with. I note numerous file discrepancies where the game is checking for non-existent files/directories during normal gameplay without crashing... only Vault runs into the consistent crashes. I speculate that the random mobile crashing, unrelated to the Vault crashes on PC, may also be due to some bad file management within the game's code.

I dug into some of those dump files before deleting them - they're referencing the "CrashHunter" DLL that D:I loads during the application crash. Since I can assume that this DLL is meant to identify the cause of the crash, collect telemetry data, and send it to Blizzard/NetEase - it's possible that the Vault crash isn't reaching their bug reports through their telemetry feedback............... the dump files report a buffer overflow for these crashes - indicating that whatever crashes the Vault is also possibly causing the telemetry crash afterward...

------------------------------------------------------------------------------------------

Any other helpful assistance in diagnosing the PC client crashes is welcome in the discussion - Blizzard/NetEase can only fix bugs that we can clearly identify, so the more narrowly we can scope the differences between mains/alts the better.

Posted May 22, 2023, 8:39 PM UTC · edited

3742
mikelloSC•

I have basic fishing rod on my main.

When I dropped FPS from 120 to 60, no crashes on main or alt for few days.

Buy got crashes today and I was on 60fps.

3
SteelCodeOP•

I crash consistently with 120 and 60 fps for my main, even after a full clean reinstall of the client.

Assuming it's not inventory related, do you have an alt that can run vault to compare?

The key thing here is that we need to identify why a main character would crash but an alt wouldn't... what differences characters might have that avoid crashing when zoning between floors (or exiting) in Vault.

1
Starts_With_S•

Is this Diablo immortal support???

3
SteelCodeOP•

Just fed up player with enough technical expertise to help diagnose a bug that's been bothering them... but needs more data from other players to compare results.

3
keyeslol•

I have the blue fishing rod and sometimes I crash, sometimes I don't. If i dont crash 2nd and 4th, I will 100% crash during exit.

2
SteelCodeOP•

This is helpful, I'll have to run Vault more on the alt to see if it's inconsistent for them.

My main is 100% consistent crashing, even through a full clean reinstall.

1
Hot-Bat-5813•

Look, I'm not a programmer, but just one observation. Multiple characters on one account are treated differently. You claim the emote or gear in bp on one and then all others are blocked somehow from claiming.

A couple of past events could only be done on one character per account. Once one started it the others couldn't.

If this is the line of thinking that it is character specific it may have to do with how the devs treat multiple characters on one account. See if your polling comes up different on each character?

Also, I play solely on mobile. Just tossing spit balls, see if any stick.

2
SteelCodeOP•

This is the line of thinking we're exploring -- what might lead to one character not crashing that others do have...

could be quest completion, paragon tree or level, even as innocuous as a certain bestiary page.

I want to break into the offending script that the game crashes at, but am wary of it tripping some "anti-cheat" file integrity check and getting me banned.

2
Mintbear•

Havent crashed at all after changing clan. I think my clan was just cursed. So far nothing at all in the new one.

2
SteelCodeOP•

Reviewing my update about the procmon capture -- it may be possible that the shadow questlines broke and switching clan "fixes" whatever elements were corrupted...

​

Can you try going back to the same clan (temporarily) and seeing if you crash again?

1
Mintbear•

I left my clan due to inactivity, like it was pretty much dead. So i dont have a chance to go back to it.

1
SteelCodeOP•

No worries, I think it's still a good thing to investigate... it's possibly a matter of breaking current membership so any membership changes can temporarily fix it...

with the potential that it breaks spontaneously again for some reason... since others mention Rite change or being clanless.

1
Mintbear•

I agree but i honestly dont think they are gonna patch it anytime soon, unless they actually wanted to. So until that is, it will probably not matter :/ last time there was gamebreaking things they just let them sit for weeks or months.

1
dj4aces•

For me, my experience is as follows:

  • Week 1, when the problem was first reported here, I didn't crash at all, and I knew of no one else who was crashing.
  • Week 2, I and everyone in my clan on PC was crashing.
  • Week 3, I and everyone in my clan stopped crashing.
  • Week 4, I started crashing again, as of yesterday evening.

The only science to this that I can figure out right now is:

  • All crashing begins and ends on Sunday.
  • If you crash on transition from 1F to 2F, you will crash on transition from 3F to 4F. If you don't, you will crash upon exiting.
  • Alt-F4 goes a little ways to prevent a crash (I use on 3F-4F transition, so I can be prepared for PvP), but the downside is your next crash is unpredictable, but it will happen on a loading screen. Tonight, for example, it happened upon entering my first raid of the evening with my warband.

I suppose I'll keep an eye out in my clan/warband for others who start crashing, and try to figure out if there's similar inventory items between us, but at this point, that kinda feels like we're grasping at straws for a solution to a problem only BlizzEase can fix.

At this point, it absolutely feels like they're just waiting for all the PC players to move to D4 full-time so they don't have to fix any of the bugs they cause with inadequately tested updates.

2
SteelCodeOP•

WHOA

You're saying if you force-close the game on 3F, you won't crash when you zone to the next floor!?

<random later crash not withstanding>

This gives me some testing ideas -- I'll try to identify what the app is doing during the force-close (and isn't doing) as a way to then identify how the transition to the next floor changes....

Bonkers if true - unless there's some garbage data written into the game's "active files" during the first floor that breaks the transitory script....... which is possibly why 3F doesn't crash; you already crashed on 2F, so it takes 3F to re-establish the broken code again...

2
dj4aces•

That's been my experience so far. Tonight, when I used Alt-F4 on 3F, I didn't crash until trying to leave the next vault I was in. However, my clanmate and his wife, who are also crashing, had it happen to them on the 1F->2F transition all over again, so the random nature of the crashing could even resume as "normal".

From my observation, a force-close also seems to write data to the Event Viewer log. I think what bothers me more is the fact there's no error reporting app in the PC version of this game, like most other Blizzard games have. If the devs are actively investigating the cause, having access to crash data would help, seeing as how the Event Viewer data doesn't say much.

But that's just a dream, eh? If in the course of your testing, I, my warband and clan would love to know what you find!

1
SteelCodeOP•

Wanted to add, in case you didn’t see my other updates - the same vault crash also crashes Blizzard telemetry (crashhunter DLL)… I found the .DMP (crash dump files) associated with them, opened them with Windows Debug tool (windbg) and sure enough, CrashHunter is failing due to a buffer overflow…

So even if Blizzard was interested in fixing the issue, they’re not getting the normal error reports behind the scenes - at least for the Vault crashes…

I’m going to run through some more testing tonight with the force-close trick and see what happens.

1
dj4aces•

I'm familiar with analyzing dump files (it's pretty much the only thing I enjoy about diagnosing and resolving Windows blue screens, haha), so that's a great place to start.

I know this happens in BGs as well, but I really don't BG very often. If it helps at all, I might queue for one and see what, if anything, I find.

Good luck with your testing! You're truly doing Tyrael's work here.

1
SteelCodeOP•

Updated post with ProcMon of my latest Vault crash.

2
[deleted]•

[removed]

1
jacuff•

I get crashes on both my main and alt. My alt has caught 2 fish, so no upgraded fishing rod.

1
SteelCodeOP•

Thanks, other differences? both in H8?

0
jacuff•

Main is dolphin, while alt is F2P but having benefited from the empowered battle pass bought on main and more recently the collectors empowered battle pass bought on main.

Yes, both are in H8. Main is above the CR for Apothorus 8, while alt is just below the CR for Ophineb 8.

Main is legend in BG, while alt hasn't entered a BG since the quest to reach Bronze III or IV or whatever it was.

Main has mostly level 14-15 secondaries and 23-24 primaries, alt is about 13-14 secondaries and 15-16 primaries.

Main is wearing the current battle pass cosmetic and alt is wearing last seasons BP cosmetic.

There's definitely other differences, but I'm not sure there is anything we can do to prevent crashing other than run vault on another mobile device.

1
SteelCodeOP•

Shadow clan membership may be a link - I hate to ask anyone to leave their current clan just for a test, but if you can do it and run Vault successfully that may have given us a huge causal link.

1
jacuff•

I have another alt that is clanless. I'm pretty sure it's crashed on that toon as well. I rarely run vault on that toon, but will try too sometime today or tomorrow.

1
JulyXm•

I was crashing the last few days, today i didn't crash at all...and i did 4 vaults. The only difference is that, it's a new reign, and that i changed my clan ( made my own clan ). Will see tomorrow how vault goes again.

1
[deleted]•

[deleted]

1
SteelCodeOP•

You changed your clan - this is a good tip, another player also mentioned this.

I'll see if I can stomach dropping my current clan to test -- if you're able to go back to the original clan and test Vault again, that would be helpful.

There may be some questline progress step that broke when they made changes to the Shadow cycle skips, but clan membership wasn't on my radar until these 2 replies mentioned it.

1
daedalus2174•

Yes. I have same issue. My alt doesn't crash but main always does.

1
Live_Energy6189•

Is it possible that it's the text in the clan description? Can you try changing it to something simple if it's crashing? I've seen a friend's clan who has "@4" at the end of their clan description for some reason and their members on PC are crashing. Maybe that's why? I'm trying to have them change it to test to see if that's causing their issues.

1
SteelCodeOP•

I don't control the clan, but leaving right now would disrupt participation in Shadow activities for the week... I'm hoping someone has an alt that crashes and can test the clan membership change.

Sidenote: I went into some folders and cleaned out a ton of old log files under Battlenet and UniSDK folders... found some crash dump files that I also cleaned out from those directories...

Then when I relaunched D:I, it gave me the intro cinematic for the accursed tower update and downloaded a 1.5GB patch... Not sure what garbage was in all of those logs/dumps that may have prevented a successful patch (or was acting as a "yes" marker for patch status) but I'll report back later tonight after I test Vault again.

2
Lyricana_Nightrayne:blizz: Community Manager•

Thank you for the detailed information! I've reached out to you via DM so that we can collect the files you have, and get these over to the team. We appreciate the effort you've put in to share your findings, and are looking into it on our side.

1
SteelCodeOP•

Files shared, here's to hoping all of this has helped!

1
Lyricana_Nightrayne:blizz: Community Manager•

It's been handed off to the team for investigation, and we're hopeful this will help us crack the case and get this bug taken care of

1

Adding my experience. When this all started I was immortal. Saw many single player at spawn in because they had crashed. Reign ended a couple weeks later. No crashing on Shadow side at all until this Monday. We are on week 3 of Shadow. I now crash between floor 1-2 and if I leave on floor one it crashes. It is maybe the load screen , as soon as 4 players on squares I crash. As soon as I hit the portal to exit I crash. I do not see the load screen at all. Game completely closes.

1
SteelCodeOP•

Check your AppData\Local\Crashdumps folder: if you can see dump files in there that coincide with the vault crashes it is likely you still have a broken telemetry daemon - the “CrashHunter” DLL that attempts to gather error data for the game gets a stack overflow fault and crashes the game entirely…

Try a repair/reinstall possibly clearing out any cache files you can find related to Diablo Immortal in your appdata folders — then see if it still crashes.

I’ve been working on collecting more data since my crashing spontaneously stopped and Blizzard told me they think the crash hunter overflow issue was fixed (but not the problem with Vault itself)…

2