0

I experiencing a crash in my app:

Thread 0 name:
Thread 0 Crashed:
0   LogoQuizAC                      0x0000000104705218 __hidden#563_ + 0 (__hidden#957_:0)
1   LogoQuizAC                      0x0000000104705218 _hidden#18_ + 592 (__hidden#957_:135)
2   LogoQuizAC                      0x000000010470503c __hidden#564_ + 48 (__hidden#456_:0)
3   LogoQuizAC                      0x000000010470503c _hidden#18_ + 116 (__hidden#957_:135)
4   LogoQuizAC                      0x00000001046fcd6c _hidden#17_ + 504 (__hidden#454_:96)
5   LogoQuizAC                      0x00000001046fcea0 _hidden#20_ + 36 (__hidden#456_:0)
6   Foundation                      0x0000000182770b20 __NSFireTimer + 68 (NSTimer.m:270)
7   CoreFoundation                  0x0000000181355fa0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 32 (CFRunLoop.c:1807)
8   CoreFoundation                  0x0000000181355ba0 __CFRunLoopDoTimer + 1064 (CFRunLoop.c:2415)
9   CoreFoundation                  0x0000000181354ffc __CFRunLoopDoTimers + 328 (CFRunLoop.c:2575)
10  CoreFoundation                  0x000000018134eee4 __CFRunLoopRun + 1936 (CFRunLoop.c:3090)
11  CoreFoundation                  0x000000018134e21c CFRunLoopRunSpecific + 600 (CFRunLoop.c:3242)
12  GraphicsServices                0x0000000198f18784 GSEventRunModal + 164 (GSEvent.c:2259)
13  UIKitCore                       0x0000000183d8eee8 -[UIApplication _run] + 1072 (UIApplication.m:3253)
14  UIKitCore                       0x0000000183d9475c UIApplicationMain + 168 (UIApplication.m:4707)
15  LogoQuizAC                      0x000000010453a404 main + 68 (RLockedCell.swift:21)
16  libdyld.dylib                   0x000000018100e6b0 start + 4

I tried almost everything but can symbolicate the crash.

I tried using symbolicatecrash followed by these posts:

(_hidden#919_:0) inside crash symbolication file

Why aren't the crashlogs from Testflight symbolicating in Xcode?

Xcode Crash Organizer does Not Symbolicate .xccrashpoint Files

How to symbolicate crash log with Xcode 8?

how Symbolicate a crash file using xcarchive

How to symbolicate crash log Xcode?

But without any success.

What am I doing wrong? How can I figure out what causing the crash?

ytpm
  • 4,962
  • 6
  • 56
  • 113
  • In case this build is distributed in Ad-Hoc, Make sure to disable BitCode – Arik Segal Apr 04 '21 at 15:24
  • It's not distributed in AdHoc, but I disabled BitCode for latest AppStore build aswell. figured it may give me a hint about what causing the crash. – ytpm Apr 04 '21 at 15:41
  • is it crashing at launch time? – Zain Apr 04 '21 at 16:15
  • I think it isn't I have no idea because I cannot reproduce the crash, I tried multiple times but without success, even when having 10%+ of my users experience it. – ytpm Apr 04 '21 at 16:21
  • If you want a better picture of the flow that leads to the crash, have your view controllers report themselves to Crashlytics when appearing: Crashlytics.crashlytics().log("\(self) will appear"). This way, when viewing the crash you can click the "Logs" tab and get the scenario – Arik Segal Apr 05 '21 at 07:10

1 Answers1

1

The good news that it is crashing in your code, not in Operating Systems or Library code, so you have a good chance to debug it. Your code that is crashing is running off a timer. Sometimes these bugs are seen because in testing, you are just testing the app. But in the real world, those timers fire when you are not expecting them.

For example, someone ran your app, then put it into the background when using another app, or for example they received a phone call whilst using the app. If you attach the full contents of the .crash file, it will give more information on the cause of the crash.

Another thing you can do is place asserts into your code, such as in your timer callback functions for each object you are relying on being non-null.

You may find that your app is trying to draw onto the screen but is in the background. This is a common reason for a crash seen in the field for games that use timers. That may sound like a generalisation but it is a suggestion to try and make you think differently about the real world environment your customers face which can the reason for the failure.

Faisal Memon
  • 2,711
  • 16
  • 30
  • 1
    Actually yesterday I just understand it might be a timer (because the rest of the crash log) and I only use a timer in one place in my app. What I found that there is no timer invalidation, that means he runs forever (which may cause a crash, when the app put back to background) – ytpm Apr 06 '21 at 06:37
  • And thank you very much for the well explained answer. – ytpm Apr 06 '21 at 06:45