KERN_INVALID_ADDRESS at 0x0000000000000000

I have developed an iPad app using Xcode 6.3.2. I submitted my app to the App Store for review, where it got rejected due to a crash. Next is the crash report from iTunes.

Incident Identifier: 88DD7F94-3382-4241-A0D7-C3E7F6D20737
CrashReporter Key:   9881ae0cc3b3fbfccfd0ce1496d2fa08fec08782
Hardware Model:      xxx

Path:                /private/var/mobile/Containers/Bundle/Application/FDBBD67F-0EF7-43FB-80CB-8308A10A2D29/Vehicle Visuals.app/Vehicle Visuals
Identifier:          com.vehiclevisuals.Vehicle-Visuals
Version:             2.0.0 (1.1.0)
Code Type:           ARM-64 (Native)
Parent Process:      launchd [1]

Date/Time:           2015-06-12 12:33:57.988 -0700
Launch Time:         2015-06-12 12:22:14.581 -0700
OS Version:          iOS 8.3 (12F69)
Report Version:      105

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
Triggered by Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib                 0x0000000195da7bdc 0x195d8c000 + 113628
1   QuartzCore                      0x00000001889fdc2c 0x1889ec000 + 72748
2   Vehicle Visuals                 0x0000000100126828 0x1000ec000 + 239656
3   Vehicle Visuals                 0x0000000100101e80 0x1000ec000 + 89728
4   UIKit                           0x0000000189118778 0x1890a4000 + 477048
5   UIKit                           0x0000000189116750 0x1890a4000 + 468816
6   UIKit                           0x0000000189112000 0x1890a4000 + 450560
7   UIKit                           0x00000001890b175c 0x1890a4000 + 55132
8   QuartzCore                      0x00000001889f9e18 0x1889ec000 + 56856
9   QuartzCore                      0x00000001889f4880 0x1889ec000 + 34944
10  QuartzCore                      0x00000001889f4724 0x1889ec000 + 34596
11  QuartzCore                      0x00000001889f3eb8 0x1889ec000 + 32440
12  QuartzCore                      0x00000001889f3c38 0x1889ec000 + 31800
13  UIKit                           0x0000000189137f8c 0x1890a4000 + 606092
14  UIKit                           0x0000000189137ef0 0x1890a4000 + 605936
15  CoreFoundation                  0x000000018462c2a0 0x18454c000 + 918176
16  CoreFoundation                  0x000000018462922c 0x18454c000 + 905772
17  CoreFoundation                  0x000000018462955c 0x18454c000 + 906588
18  CoreFoundation                  0x00000001845552d0 0x18454c000 + 37584
19  GraphicsServices                0x000000018dc436f8 0x18dc38000 + 46840
20  UIKit                           0x000000018911afa8 0x1890a4000 + 487336
21  Vehicle Visuals                 0x000000010013a1cc 0x1000ec000 + 319948
22  libdyld.dylib                   0x0000000196412a04 0x196410000 + 10756

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager

      

According to the report, it crashes on OS version: iOS 8.3 (12F69). I tested my app on all simulators (iPad Air, iPad 2, iPad Retina) with the same configuration (iOS version 8.3 (12F69)) and also tested it on my device (iPad mini) with iOS version 8.3 (12F69), but didn I fell on my side. But it crashes on my iPad Air friend with the same iOS version (it gives the same crash report with a different invalid address as shown below)

Exception type: EXC_BAD_ACCESS (SIGSEGV) Exception subtype: KERN_INVALID_ADDRESS at 0x0000000000000020 Generated by topic: 0

I don't have an iPad Air so I can debug it with the device.

I also tried to generate a Symbolicated crash report with the following command.

xcrun atos -o VehicleVisuals 0x0000000000000020

But it just gives me the following hex code.

0x00000020 (in VehicleVisuals)

I am following Link for symbology.

I just can't seem to find out where the crashing problem actually is. Please can anyone help me?

+3


source to share


1 answer


EXC_BAD_ACCESS usually happens because you are sending an Obj-C message to the wrong memory address, which means that you are probably trying to access some deallocated object.

It can work on other devices because this object is not released at the same time.

I recently had a similar crash that happened due to the timer not being invalidated on the dealloc and when the target method was called, that object no longer existed.



You can try to include NSZombie objects and see if you find out which object gets deallocated. In xCode 6, you can enable them in Product> Scheme> Edit scheme> Diagnostics> Enable Zombie Objects.

In addition, there are many such errors that NSZombieEnabled cannot detect. Unfortunately, there is nothing magical to solve it. The second option is to run the application with tools (memory leaks) and see if you can get something. If that doesn't work, you will have to go through your code and check if you have the ability to access the remote object. Hope it helps.

Good luck!

+2


source







All Articles