Post

Replies

Boosts

Views

Activity

iOS11 watchdog timeout crashes (0x8badf00d) but code not on stack
Hi,I am debugging user reports of our app repeatedly exiting while in the background starting in iOS11, even during active use (for example, the user backgrounds us and returns within a few seconds or a minute, only to find it restarted). Here is the relevant bit from one such crash log:Exception Type: EXC_CRASH (SIGKILL)Exception Codes: 0x0000000000000000, 0x0000000000000000Exception Note: EXC_CORPSE_NOTIFYTermination Reason: Namespace <0xF>, Code 0x8badf00dTriggered by Thread: 0I realize that our code has a limited period of time during which to operation when receiving push notifications or when backgrounded. We definitely do use UIBackgroundTasks (with Alamofire Networking, FWIW), and we do have expiration handlers that do this: backgroundTask = [application beginBackgroundTaskWithExpirationHandler:^{ [application endBackgroundTask:backgroundTask]; backgroundTask = UIBackgroundTaskInvalid; / DebugLog(@"Ended because expiration"); }];The most perplexing thing about these crash reports is that our code is nowhere on the stacks. We can see from this Apple discussion of the 0x8badf00d exception code, the offending code is, in fact, being actively executed on the main thread.However, in my case, none of the stacks ever have any of my code being executed. Here is one representative sample:Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000183208bc4 0x183208000 + 3012 1 libsystem_kernel.dylib 0x0000000183208a3c 0x183208000 + 2620 2 CoreFoundation 0x00000001836b9c4c 0x1835d0000 + 957516 3 CoreFoundation 0x00000001836b7818 0x1835d0000 + 948248 4 CoreFoundation 0x00000001835d7e78 0x1835d0000 + 32376 5 GraphicsServices 0x000000018546cf84 0x185462000 + 44932 6 UIKit 0x000000018d37a0bc 0x18d307000 + 471228 7 MyApp 0x0000000102a6572c main + 87852 (main.m:22) 8 libdyld.dylib 0x00000001830fa56c 0x1830f9000 + 5484 Thread 1 name: com.apple.uikit.eventfetch-thread Thread 1: 0 libsystem_kernel.dylib 0x0000000183208bc4 0x183208000 + 3012 1 libsystem_kernel.dylib 0x0000000183208a3c 0x183208000 + 2620 2 CoreFoundation 0x00000001836b9c4c 0x1835d0000 + 957516 3 CoreFoundation 0x00000001836b7818 0x1835d0000 + 948248 4 CoreFoundation 0x00000001835d7e78 0x1835d0000 + 32376 5 Foundation 0x00000001840006e4 0x183ff4000 + 50916 6 Foundation 0x000000018401fafc 0x183ff4000 + 178940 7 UIKit 0x000000018ded9630 0x18d307000 + 12396080 8 Foundation 0x0000000184101860 0x183ff4000 + 1103968 9 libsystem_pthread.dylib 0x000000018333c31c 0x18333a000 + 8988 10 libsystem_pthread.dylib 0x000000018333c1e8 0x18333a000 + 8680 11 libsystem_pthread.dylib 0x000000018333ac28 0x18333a000 + 3112 Thread 2 name: com.twitter.crashlytics.ios.MachExceptionServer Thread 2: 0 libsystem_kernel.dylib 0x0000000183208bc4 0x183208000 + 3012 1 libsystem_kernel.dylib 0x0000000183208a3c 0x183208000 + 2620 2 MyApp 0x0000000102cdaad8 CLSMachExceptionServer + 100 3 libsystem_pthread.dylib 0x000000018333c31c 0x18333a000 + 8988 4 libsystem_pthread.dylib 0x000000018333c1e8 0x18333a000 + 8680 5 libsystem_pthread.dylib 0x000000018333ac28 0x18333a000 + 3112 Thread 3 name: com.apple.NSURLConnectionLoader Thread 3: 0 libsystem_kernel.dylib 0x0000000183208bc4 0x183208000 + 3012 1 libsystem_kernel.dylib 0x0000000183208a3c 0x183208000 + 2620 2 CoreFoundation 0x00000001836b9c4c 0x1835d0000 + 957516 3 CoreFoundation 0x00000001836b7818 0x1835d0000 + 948248 4 CoreFoundation 0x00000001835d7e78 0x1835d0000 + 32376 5 CFNetwork 0x0000000183d41de0 0x183c93000 + 716256 6 Foundation 0x0000000184101860 0x183ff4000 + 1103968 7 libsystem_pthread.dylib 0x000000018333c31c 0x18333a000 + 8988 8 libsystem_pthread.dylib 0x000000018333c1e8 0x18333a000 + 8680 9 libsystem_pthread.dylib 0x000000018333ac28 0x18333a000 + 3112 Thread 4 name: AVAudioSession Notify Thread Thread 4: 0 libsystem_kernel.dylib 0x0000000183208bc4 0x183208000 + 3012 1 libsystem_kernel.dylib 0x0000000183208a3c 0x183208000 + 2620 2 CoreFoundation 0x00000001836b9c4c 0x1835d0000 + 957516 3 CoreFoundation 0x00000001836b7818 0x1835d0000 + 948248 4 CoreFoundation 0x00000001835d7e78 0x1835d0000 + 32376 5 AVFAudio 0x0000000189615774 0x189591000 + 542580 6 AVFAudio 0x0000000189640018 0x189591000 + 716824 7 libsystem_pthread.dylib 0x000000018333c31c 0x18333a000 + 8988 8 libsystem_pthread.dylib 0x000000018333c1e8 0x18333a000 + 8680 9 libsystem_pthread.dylib 0x000000018333ac28 0x18333a000 + 3112 Thread 5: 0 libsystem_kernel.dylib 0x0000000183229150 0x183208000 + 135504 1 libsystem_pthread.dylib 0x000000018333ed30 0x18333a000 + 19760 2 libc++.1.dylib 0x00000001828e3ea4 0x1828dc000 + 32420 3 JavaScriptCore 0x000000018b157d00 0x18a812000 + 9723136 4 JavaScriptCore 0x000000018b157c28 0x18a812000 + 9722920 5 JavaScriptCore 0x000000018b157f8c 0x18a812000 + 9723788 6 libsystem_pthread.dylib 0x000000018333c31c 0x18333a000 + 8988 7 libsystem_pthread.dylib 0x000000018333c1e8 0x18333a000 + 8680 8 libsystem_pthread.dylib 0x000000018333ac28 0x18333a000 + 3112 Thread 6 name: WebThread Thread 6: 0 libsystem_kernel.dylib 0x0000000183208bc4 0x183208000 + 3012 1 libsystem_kernel.dylib 0x0000000183208a3c 0x183208000 + 2620 2 CoreFoundation 0x00000001836b9c4c 0x1835d0000 + 957516 3 CoreFoundation 0x00000001836b7818 0x1835d0000 + 948248 4 CoreFoundation 0x00000001835d7e78 0x1835d0000 + 32376 5 WebCore 0x000000018bc1c75c 0x18bbdb000 + 268124 6 libsystem_pthread.dylib 0x000000018333c31c 0x18333a000 + 8988 7 libsystem_pthread.dylib 0x000000018333c1e8 0x18333a000 + 8680 8 libsystem_pthread.dylib 0x000000018333ac28 0x18333a000 + 3112 Thread 7 name: WebCore: LocalStorage Thread 7: 0 libsystem_kernel.dylib 0x0000000183229150 0x183208000 + 135504 1 libsystem_pthread.dylib 0x000000018333ed30 0x18333a000 + 19760 2 JavaScriptCore 0x000000018a81fa18 0x18a812000 + 55832 3 JavaScriptCore 0x000000018b13da04 0x18a812000 + 9615876 4 WebKitLegacy 0x000000018d00f5fc 0x18cf7c000 + 603644 5 WebKitLegacy 0x000000018d01226c 0x18cf7c000 + 615020 6 WebKitLegacy 0x000000018d011998 0x18cf7c000 + 612760 7 JavaScriptCore 0x000000018a81c010 0x18a812000 + 40976 8 JavaScriptCore 0x000000018a81bf50 0x18a812000 + 40784 9 libsystem_pthread.dylib 0x000000018333c31c 0x18333a000 + 8988 10 libsystem_pthread.dylib 0x000000018333c1e8 0x18333a000 + 8680 11 libsystem_pthread.dylib 0x000000018333ac28 0x18333a000 + 3112 Thread 8 name: com.apple.CFSocket.private Thread 8: 0 libsystem_kernel.dylib 0x0000000183229570 0x183208000 + 136560 1 CoreFoundation 0x00000001836c2184 0x1835d0000 + 991620 2 libsystem_pthread.dylib 0x000000018333c31c 0x18333a000 + 8988 3 libsystem_pthread.dylib 0x000000018333c1e8 0x18333a000 + 8680 4 libsystem_pthread.dylib 0x000000018333ac28 0x18333a000 + 3112 Thread 9: 0 libsystem_pthread.dylib 0x000000018333ac1c 0x18333a000 + 3100 Thread 10: 0 libsystem_kernel.dylib 0x0000000183229dbc 0x183208000 + 138684 1 libsystem_pthread.dylib 0x000000018333afa0 0x18333a000 + 4000 2 libsystem_pthread.dylib 0x000000018333ac20 0x18333a000 + 3104 Thread 11: 0 libsystem_pthread.dylib 0x000000018333ac1c 0x18333a000 + 3100 Thread 0 crashed with ARM Thread State (64-bit): x0: 0x0000000010004005 x1: 0x0000000007000806 x2: 0x0000000000000000 x3: 0x0000000000000c00 x4: 0x0000000000002b03 x5: 0x00000000ffffffff x6: 0x0000000000000000 x7: 0x0000000000000000 x8: 0x00000000fffffbbf x9: 0x0000000007000000 x10: 0x0000000007000100 x11: 0x0000000000000040 x12: 0xffffffffffffffff x13: 0x0000000000000001 x14: 0x01e8540001e85400 x15: 0x0000000000000000 x16: 0xffffffffffffffe1 x17: 0x00000000ffffffff x18: 0x0000000000000000 x19: 0x0000000000000000 x20: 0x00000000ffffffff x21: 0x0000000000002b03 x22: 0x0000000000000c00 x23: 0x000000016d3aed38 x24: 0x0000000007000806 x25: 0x0000000000000000 x26: 0x0000000007000806 x27: 0x0000000000000c00 x28: 0x0000000000000001 fp: 0x000000016d3aec30 lr: 0x0000000183208a3c sp: 0x000000016d3aebe0 pc: 0x0000000183208bc4 cpsr: 0x60000000The only part of my code that is running is main.m, line 22, which isint retVal = UIApplicationMain(argc, argv, nil, @"PSSMyAppDelegate");Thus, I am perplexed as to how my app could be repeatedly killed for running time violations when it would seem that none of my code is, in fact, running. Is there anything new in iOS 11 that could change the behavior of the watchdog process? If not, how can I tell what part of my code is the part that is in violation for running too long?
16
1
40k
Sep ’17
App Missing from Settings -> Notifications list
HiWe are receiving myriad complaints from members that our app is now missing from Settings -> Notifications, and so our members cannot receive push notifications any longer.Previously we thought that this was related to users denying us notification permissions during first run, but we are now seeing this reported from long-time users who recently auto-upgraded.We are telling them to delete and reinstall and that (generally) fixes the issue. However, we would like this issue never to happen -- what is causing this, and/or what work-arounds can we implement to ensure we continue to appear in the notifications center?Thanks,Eric
34
4
46k
Nov ’17