Hearthstone Crashing Upon Start on iOS

Whenever I try to start Hearthstone on my iPhone 12, it briefly shows the Hearthstone logo and promptly crashes. This has been happening ever since patch 21.0 (like 3 or 4 weeks ago). I’ve looked at some the crash reports (I’m a web dev but I don’t work on mobile apps) and here is some of the relevant parts of the report:

Date/Time: 2021-08-25 08:17:57.4482 -0400
Launch Time: 2021-08-25 08:17:56.6601 -0400
OS Version: iPhone OS 14.7.1 (18G82)
Release Type: User
Baseband Version: 1.80.02
Report Version: 104

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 0

Application Specific Information:
abort() called

Last Exception Backtrace:
(0x18609a708 0x19aba47a8 0x18610c9c8 0x1860635d0 0x186063c9c 0x186063980 0x186063dfc 0x185f77bc0 0x1860f7c74 0x1860b8fe4 0x1860b858c 0x1860b8e28 0x185f77614 0x1860fb610 0x187336cd4 0x1052b4d7c 0x1052c6a04 0x106ba439c 0x106b9b618 0x1069af4a0 0x1051c42bc 0x105f3d4a0 0x1058c5b48 0x1058ce4b8 0x10581f3c8 0x10581f24c 0x105833844 0x10583373c 0x1058337b0 0x1058333b0 0x105833490 0x105833158 0x105833fb0 0x105834518 0x105838b4c 0x10582adf4 0x105b12e80 0x104e1b5f4 0x187452d1c 0x1860151d4 0x186014dd0 0x186014220 0x18600dfd4 0x18600d308 0x19d690734 0x188a8b75c 0x188a90fcc 0x104e069d0 0x185cc9cf8)

Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x00000001b439f334 0x1b4376000 + 168756
1 libsystem_pthread.dylib 0x00000001d1e25a9c 0x1d1e23000 + 10908
2 libsystem_c.dylib 0x000000018f461b84 0x18f3ea000 + 490372
3 libc++abi.dylib 0x000000019ac85bb8 0x19ac72000 + 80824
4 libc++abi.dylib 0x000000019ac76ec8 0x19ac72000 + 20168
5 libobjc.A.dylib 0x000000019ab8305c 0x19ab7c000 + 28764
6 libc++abi.dylib 0x000000019ac84fa0 0x19ac72000 + 77728
7 libc++abi.dylib 0x000000019ac87eac 0x19ac72000 + 89772
8 libobjc.A.dylib 0x000000019aba4904 0x19ab7c000 + 166148
9 CoreFoundation 0x000000018600d3f4 0x185f71000 + 639988
10 GraphicsServices 0x000000019d690734 0x19d68d000 + 14132
11 UIKitCore 0x0000000188a8b75c 0x187ec1000 + 12363612
12 UIKitCore 0x0000000188a90fcc 0x187ec1000 + 12386252
13 hearthstone 0x0000000104e069d0 0x104e00000 + 27088
14 libdyld.dylib 0x0000000185cc9cf8 0x185cc8000 + 7416

Here’s a blurb on this error:
EXC_CRASH (SIGABRT) indicates the process terminated because it received the SIGABRT signal. Typically, this signal is sent because a function in the process called abort() , such as when an app encounters an uncaught Objective-C or C++ language exception.
When an app extension takes too much time to initialize, the operating system sends a SIGABRT to the app extension process. These crashes include an Exception Subtype field with the value LAUNCH_HANG .

Since I can’t obviously look at the codebase, I won’t be able to find which function is calling the ‘abort()’ command and I don’t have the knowledge to determine what could be causing a launch hang.

I’ve deleted and reinstalled the app and restarted the phone over a dozen times now and that didn’t solve the issue.

EDIT:

After digging around more, I think I figured out what the problem is. I’m going to see if there’s anything I can do to fix it, but I was able to find the exact error:
Attempt to set a non-property-list object { ... key, value data here ... } as an NSUserDefaults/CFPreferences value for key storedConfig

I dug around some more and I found this on Wikipedia:

Conversely, JSON permits null values while property lists do not support explicit nulls.

And in the property list object, there is deviceInfo with a hash for a value that contains this: "swrve.device_region" = "<null>";

You can’t have explicit nulls in this kind of object. So now I’m going to try to find out why this value is null. device_region sounds like a pretty explanatory key name, so perhaps there’s something that’s not allowing the device region to be accessed or maybe it isn’t set. I’ll do some more digging.

EDIT 2:
Alright, this may sound like fiction, but I fixed it!!! I went to Settings > General > Language & Region and under my Region setting, it said “United States”. Looks right. I tapped on “United States”, it brought up a list of countries, and I tapped United States again. It looked like it was maybe setting the region in the backend. So I went back and tried to run Hearthstone and it worked! It downloaded the latest patch and asked if I was new or wanted to log in.

Well there you have it. I couldn’t get a single f’ing blue response about this issue and that’s really frustrating and disappointing. I’ll go update my other threads with this information and hopefully it’ll work for others.

1 Like

You are a God amongst men. I have been searching for a solution for WEEKS. A simple fix like that, I’m appalled. Hats off to you, THANK YOU SO MUCH!!!